iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux中怎么设置磁盘配额
  • 282
分享到

Linux中怎么设置磁盘配额

2023-06-16 21:06:17 282人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关linux中怎么设置磁盘配额,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。先决条件为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识,并需要准备一个 Li

这期内容当中小编将会给大家带来有关linux中怎么设置磁盘配额,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

先决条件

为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识,并需要准备一个 Linux 系统,用于练习本文介绍的命令。有时候不同版本的程序输出格式不同,因此您所得到的结果未必总是与这里所示的清单和图相同。

配额简介

配额允许您控制用户或者组织的磁盘使用。它能防止个体用户和组织使用文件系统中超过自己所允许的部分,或者造成系统完全拥堵。XFS 文件系统也支持项目配额,它限制了一个项目所能使用的空间大小,无论哪个用户在项目的目录树中创建文件。

配额必须由 root 用户或者有 root 权限的用户启用和管理。它们往往用于多用户系统,不常用于单一用户的工作站。

有 3 种不同的配额支持:

vfsold,或者版本 1 配额

vfsv0,或者版本 2 配额

xfs,XFS 文件系统上的配额

本文包括非 XFS 文件系统上的版本 2 配额和 XFS 文件系统上的 xfs 配额。请注意,LPI 101 考试以版本 2 配额为重点。

配额需要 2.4 内核之后引入的内核支持。2.6 内核也有您所需的支持。

XFS 配额往往是日志化的。内核 2.6.11 及以上版本支持日志化版本 2 配额。

测试设置

首先要说明本文使用的测试分区设置,这样您就能更好地理解部分例子。如果您已经理解了文件所有权和权限,也已经安装了配额包,那么您可以直接跳到 配额的启用 部分。参考 学习 Linux,101:LPIC-1 路线图,获得该系列提供更多命令详细信息的其他文章链接,本文此处只提供简单说明。

测试分区和用户

我们使用 110GB ext4 分区(/dev/sda7)和 40GB XFS 分区(/dev/sda8)来演示。它们分别安装在 /quotatest/ext4 和 /quotatest/xfs。

清单 1. 设置分区

[root@echidna ~]# mkfs -t ext4 /dev/sda7mke2fs 1.41.10 (10-Feb-2009)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks7159808 inodes, 28637862 blocks1431893 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=4294967296874 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,        4096000, 7962624, 11239424, 20480000, 23887872Writing inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting infORMation: doneThis filesystem will be automatically checked every 28 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.[root@echidna ~]# mkfs -t xfs /dev/sda8meta-data=/dev/sda8              isize=256    aGCount=4, agsize=2622108 blks         =                       sectsz=512   attr=2data     =                       bsize=4096   blocks=10488429, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0log      =internal log           bsize=4096   blocks=5121, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0[root@echidna ~]# mkdir -p /quotatest/ext4[root@echidna ~]# mkdir -p /quotatest/xfs[root@echidna ~]# mount /dev/sda7 /quotatest/ext4[root@echidna ~]# mount /dev/sda8 /quotatest/xfs


在这个例子中,我们希望普通用户能够在新的文件系统中创建文件。这样创建,文件系统归 root 所有,一般用户不能在系统上创建文件或者目录。我们变更所有权,这样新的文件系统就由拥有名为 development 的专用组的用户 development 所有。我们变更权限,这样在 development 组中的用户就能够创建文件和目录。 清单 2 显示了我们如何设置所有权和权限。

清单 2. 变更测试分区的所有权和权限

[root@echidna ~]# # Show default ownership and permissions[root@echidna ~]# ls -l /quotatest/total 4drwxr-xr-x. 3 root root 4096 Nov 18 22:43 ext4drwxr-xr-x. 2 root root    6 Nov 18 22:43 xfs[root@echidna ~]# # Change user and group ownership to development[root@echidna ~]# chown development:development /quotatest/*[root@echidna ~]# # Allow group members to create files and directories[root@echidna ~]# chmod g+w /quotatest/*[root@echidna ~]# ls -l /quotatest/total 4drwxrwxr-x. 3 development development 4096 Nov 18 22:43 ext4drwxrwxr-x. 2 development development    6 Nov 18 22:43 xfs[root@echidna ~]# # Set default group of new files and directories[root@echidna ~]# # to development[root@echidna ~]# chmod g+s /quotatest/ext4/[root@echidna ~]# ls -l /quotatest/total 4drwxrwsr-x. 3 development development 4096 Nov 19 11:39 ext4drwxrwxr-x. 2 development development    6 Nov 18 22:43 xfs

我们利用 3 位用户,ian、gretchen 和 tom,他们每人都拥有和用户名一样的专用组,同时也是 development 组的成员。

检查配额包

如果您正在使用一个桌面系统,那么您可能无法安装配额包,因为配额不是普通的默认桌面系统安装的。使用 dpkg 或者 rpm 确认您是否安装了包,如清单 3。

清单 3. 检查配额包

# On Debian-based systemsian@pinguino:~$ dpkg -l quotaDesired=Unknown/Install/Remove/Purge/Hold| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)||/ Name           Version        Description+++-==============-==============-============================================ii  quota          4.00~pre1-3    implementation of the disk quota system# On systems that use RPM[ian@echidna ~]$ rpm -q quotaquota-3.17-11.fc13.x86_64如果您没有如本文所述安装配额包,在安装页 “学习 Linux,101:Debian 包管理” 和 学习 Linux,101:RPM 和 YUM 包管理 获取帮助。

配额的启用

添加配额支持到 /etc/fstab

启用配额的下一步是根据您是否想实现用户配额、组配额,或者两者兼有,添加适当选项到 /etc/fstab 的文件系统定义。XFS 文件系统也支持项目配额。

编写时,启用配额的选项不是集中记录在一个明显的手册页中。表 1 显示了可用的选项,以及它们适用的配额系统类型。

表 1. /etc/fstab 中的配额选项

选项适用于

使用

usrquota所有类型

启用用户配额

usrjquota=filenamevfsv0

启用日志化的用户配额;需要一个配额数据库文件名(通常为 aquota.user)和 jqfmt 选项的规格

uquotaxfs

相当于 usrquota

grpquota所有类型

支持组配额

grpjquota=filenamevfsv0

启用日志化组配额;需要一个配额数据库文件名(通常为 aquota.group)和 jpfmt 选项的规格

gquotaxfs

相当于 grpquota

prjquotaxfs

启用项目配额

pquotaxfs

相当于 prjquota

jqfmt=formatvfsv0

当 usrjquota 或者 grpjquota 被指定时使用的配额格式;目前只有 vfsv0 是受支持的格式

quotavfsold,vfsv0

相当于 usrquota

noquotavfsold,vfsv0

不启用配额

uqnoenforcexfs

启用用户配额审计,但是不能启用强制措施

gqnoenforcexfs

启用组配额审计,但是不能启用强制措施

pqnoenforcexfs

启用项目配额审计,但是不能启用强制措施

我们使用一个 ext4 分区和一个 XFS 分区进行演示。我们将会在这些文件系统中添加用户和组配额,这样您就可以看到配额如何在两个不同的文件系统中运行。我们的 /etc/fstab 输入如清单 4 所示。

清单 4. 启用 /etc/fstab 中的配额支持

/dev/sda7  /quotatest/ext4  ext4    defaults,usrquota,grpquota          1 2/dev/sda8  /quotatest/xfs   xfs     defaults,usrquota,grpquota          1 2

重新安装文件系统

编辑 /etc/fstab 和添加配额之后,您需要重新安装文件系统。对 XFS 文件系统来说,配额数据是文件系统元数据的一部分。对其他文件系统来说,用户配额信息存储在文件系统 root 的 aquota.user 文件,组配额也同样存储在 aquota.group。版本 1 配额使用 quota.user 和 quota.group。对这些文件系统来说,重新安装完文件系统之后,您必须创建配额文件,并启用配额进行检测。quotacheck 命令检查所有文件系统上的配额,如果 aquota.user 和 aquota.group 文件不存在,就会创建所需的 aquota.user 和 aquota.group 文件。它还能修复损坏的配额文件。查看手册页获得更多信息。

以下是通常和 quotacheck 命令一起使用的部分常用选项:

-a or --all

检查所有安装在 /etc/mtab(除了 NFS 文件系统)的文件系统

-c or --create-files

忽略当前的配额文件。运行新的扫描,将结果写到磁盘

-u or --user

检查用户配额(默认的)

-g or --group

检查组配额

-v or --verbose

Verbose 输出

清单 5 显示了在我们新安装的文件系统上运行 quotacheck 命令的结果。如果您没有使用 -a 选项,就必须指定您想要检查的文件系统。

清单 5. 创建 vfsold 和 vfsv0 的配额数据库文件

[root@echidna ~]# quotacheck -augvcquotacheck: Skipping /dev/sda8 [/quotatest/xfs]quotacheck: Your kernel probably supports journaled quota but you are not using it.Consider switching to journaled quota to avoid running quotacheck after an uncleanshutdown.quotacheck: Scanning /dev/sda7 [/quotatest/ext4] donequotacheck: Cannot stat old user quota file: No such file or directoryquotacheck: Cannot stat old group quota file: No such file or directoryquotacheck: Cannot stat old user quota file: No such file or directoryquotacheck: Cannot stat old group quota file: No such file or directoryquotacheck: Checked 2 directories and 1 filesquotacheck: Old file not found.quotacheck: Old file not found.


请注意,来自 quotacheck 命令的警告建议我们转而使用日志化的配额。将 /dev/sda7 上 ext4 文件系统 /etc/fstab 中的选项由

defaults,usrquota,grpquota

改为

defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0,就能完成此变更。

还需要注意的是,XFS 文件系统可由 quotacheck 命令跳过,因为 XFS 配额结构包含在元数据和日志中。

开始或者停止配额检测

要强制实施 vfsold 和 vfsv0 配额检测,您必须使用 quotaon 命令将其启用。常用选项 -a,-g,-u 和 -v 与 quotacheck 命令 有相同意思。类似的,如果您没有指定 -a 选项,就必须指定文件系统。如果只是想要显示配额的开启和关闭,您可以使用 -p 选项。使用 quotaoff 命令关闭配额检测。清单 6 显示了这些命令的例子。

清单 6. 开始 vfsold 和 vfsv0 配额的配额检查

[root@echidna ~]# quotaon -p /quotatest/ext4/group quota on /quotatest/ext4 (/dev/sda7) is offuser quota on /quotatest/ext4 (/dev/sda7) is off[root@echidna ~]# quotaon -uagv/dev/sda7 [/quotatest/ext4]: group quotas turned on/dev/sda7 [/quotatest/ext4]: user quotas turned on[root@echidna ~]# quotaoff -ugv /quotatest/ext4//dev/sda7 [/quotatest/ext4]: group quotas turned off/dev/sda7 [/quotatest/ext4]: user quotas turned off[root@echidna ~]# quotaon -ugv /quotatest/ext4//dev/sda7 [/quotatest/ext4]: group quotas turned on/dev/sda7 [/quotatest/ext4]: user quotas turned on

对 XFS 文件系统来说,配额检查是默认启动的,除非文件安装了 uqnoenforce,gqnoenforce 或者 pqnoenforce 设置。使用 xfs_quota 命令和 -x(适用于 专家)选项控制 xfs 配额。没有 -x 选项,您显示配额信息会受到限制。命令还有一些子命令,包括 help,用于显示可用的子命令清单,state,用于显示整体状况,enable,用于启用配额检测,还有 disable,用于停止。选项 -u、-g 和 -p 分别限制用户、组或项目的行为。使用 -v 获得 verbose 输出。您可以在命令行模式运行命令,命令行中独立的子命令由 -c 选项指明。您可以多次指定多种子命令的该选项。如果您将指定子命令的选项,可能就需要引用命令。清单 7 中显示了一些例子。

清单 7. 开始 xfs 配额的配额检测

[root@echidna ~]# xfs_quota -xxfs_quota> stateUser quota state on /quotatest/xfs (/dev/sda8)  Accounting: ON  Enforcement: ON  Inode: #131 (3 blocks, 3 extents)Group quota state on /quotatest/xfs (/dev/sda8)  Accounting: ON  Enforcement: ON  Inode: #132 (3 blocks, 3 extents)Project quota state on /quotatest/xfs (/dev/sda8)  Accounting: OFF  Enforcement: OFF  Inode: #132 (3 blocks, 3 extents)Blocks grace time: [7 days 00:00:30]Inodes grace time: [7 days 00:00:30]Realtime Blocks grace time: [7 days 00:00:30]xfs_quota> disablexfs_quota> quit[root@echidna ~]# xfs_quota -x  -c "enable -gu -v"  /quotatest/xfsUser quota state on /quotatest/xfs (/dev/sda8)  Accounting: ON  Enforcement: ON  Inode: #131 (3 blocks, 3 extents)Group quota state on /quotatest/xfs (/dev/sda8)  Accounting: ON  Enforcement: ON  Inode: #132 (3 blocks, 3 extents)Blocks grace time: [7 days 00:00:30]Inodes grace time: [7 days 00:00:30]Realtime Blocks grace time: [7 days 00:00:30]


在启动上检查 vfsold 和 vfsv0 配额

虽然不在本文范围内,quotacheck 和 quotaon 命令通常包含在初始化脚本中,这样无论您何时启动系统,都能同时启用配额。Quota Mini HOWTO(见 参考资料 的链接)有额外的信息。如果您使用日志配额,就不需要在启动时运行 quotacheck。

设置配额限制

正如您所见,配额不是通过文件系统 root 中的二进制文件控制,就是通过文件系统元数据控制。为特定用户设置一个配额,要使用 edquota 命令。这个命令会为用户从启用配额的各种文件系统中提取配额信息,创建一个临时文件,并为您打开编辑器来调整配额。通过默认设置,edquota 使用 vi 编辑器。如果您想使用不同的编辑器,设置 EDITOR 或者 VISUAL 变量。编辑用户配额,使用 -u 选项(默认)和一个或者多个用户名。编辑组配额,使用 -g 和一个或者多个组名。

您必须是 root 用户,才可以编辑配额。使用 vi 作为编辑器,显示的信息类似清单 8 所示。

清单 8. 运行 edquota

Disk quotas for user ian (uid 1000):  Filesystem                   blocks       soft       hard     inodes     soft     hard  /dev/sda7                         0          0          0          0        0        0  /dev/sda8                         0          0          0          0        0        0~~

正如您在清单 8 中所见,edquota 显示了我当前的使用,包括配额启用中的每个文件系统上的 1K 模块和索引节点。对模块和索引节点的使用还有软、硬件上的限制。在这个例子中,它们都是 0,意味着没有配额限制。

软件限制就是一个值,这个值就是用户超过配额时将会收到邮件警告的次数。硬件限制用户不能超过的次数。您可以将模块限制想成用户能够存储的数据量的适当限制,索引节点限制想成文件和目录数的限制。

变更配额限制

您可以更改临时文件中的值,然后保存文件来变更配额限制。如果您不想变更,就不保存直接关闭文件。我们在例子中使用了非常小的限制,这样您就能很容易就见到效果了。假设您想将配额设置为每个测试文件系统上 10MB 的数据和 50 个文件。允许额外 10% 的硬件限制,您可以如清单 9 所示设置值。

清单 9. 设置限制

Disk quotas for user ian (uid 1000):  Filesystem                   blocks       soft       hard     inodes     soft     hard  /dev/sda7                         0      10240      11264          0       50       55  /dev/sda8                         0      10240      11264          0       50       55

保存文件,新的配额就会生效。请注意,您对使用的模块或者索引节点值所作出的任何修改都会被忽略。

配额的复制

现在您就要为附加开发人员创建 id。假设您有用户 gretchen 和 tom,而且您希望他们两个都和 ian 有相同的配额。您可以使用 edquota 的 -p 选项,它使用 ian 的配额为其他用户配额的 原型,如清单 10 所示。

清单 10. 从原型设置配额

root@pinguino:~# edquota -p ian gretchen tom

组限制

您还可以根据文件的组所有权,使用 edquota 限制磁盘空间的分配。比如,上面提到的三位开发人员是 development 组的成员。要把组中所有成员所能使用的总量设置为 250MB 和 100 文件,使用命令 edquota -g development 并设置值,如清单 11 所示。

清单 11. 为一个组设置配额

Disk quotas for group development (gid 505):  Filesystem                   blocks       soft       hard     inodes     soft     hard  /dev/sda7                         4      25600      28160          1      100      110  /dev/sda8                         0      25600      28160          0      100      110

您可能会想,为什么在 /dev/sda7 的 ext4 文件系统上已经有被使用的模块和索引节点。请回想一下,在清单 2 中,我们使用 chown 和 chmod 来设置所有新文件的默认组为 development 组?这也适用于两个配额数据库文件。您可以将它们改回到 root 的中的值,如清单 12 所示。请保证在关闭配额检查之后进行变更,然后再将它开启。

清单 12. 重新设置配额数据库文件的组所有人

[root@echidna ~]# quotaoff /quotatest/ext4/[root@echidna ~]# chown :root /quotatest/ext4/aquota.*[root@echidna ~]# quotaon /quotatest/ext4/


宽限期

用户或者组可能会超出软件限制的 宽限期,默认值为 7 天。宽限期之后,软件限制就会作为硬件限制执行。一旦达到硬件限制,就必须在创建新文件之前删除部分文件。使用 edquota 的 -t 选项设置宽限期。您再一次回到编辑器中,会见到类似清单 13 中的数据。和之前一样,保存变更来更新值。请确保给用户留有足够时间接收警告邮件、相应地删除部分文件。

清单 13. 设置宽限期

Grace period before enforcing soft limits for users:Time units may be: days, hours, minutes, or seconds  Filesystem             Block grace period     Inode grace period  /dev/sda7                     7days                  7days  /dev/sda8                     7days                  7days

检查配额

没有选项的 quota 命令显示了任何文件系统上激活用户的配额,如果用户在这个系统上有文件,就会在其上设置配额。-v 选项显示了启用配额的所有文件系统的信息。root 用户可以给命令添加一个用户名来查看特定用户的配额。在清单 14 中,我们在 ext4 文件系统上创建一个 1MB 文件,并说明了有无 -v 选项的 quota 命令的使用。

清单 14. 显示配额

[ian@echidna ~]$ dd if=/dev/zero of=/quotatest/ext4/ianfile1 bs=1024 count=10241024+0 records in1024+0 records out1048576 bytes (1.0 MB) copied, 0.00793796 s, 132 MB/s[ian@echidna ~]$ quotaDisk quotas for user ian (uid 1000):     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace      /dev/sda7    1024   10240   11264               1      50      55[ian@echidna ~]$ quota -vDisk quotas for user ian (uid 1000):     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace      /dev/sda7    1024   10240   11264               1      50      55      /dev/sda8       0   10240   11264               0      50      55

根据当前使用的统计数据,您可以看到显示的软硬件配置限制。如果在创建文件之后立刻运行 quota 命令,您就会在短时间内见到略大的模块数显示。清单 15 显示了如果您超过软件限制会出现什么情况,以及如果超过硬件限制会出现什么情况。在这个例子中,我们在已创建的 1MB 中添加 9.5MB 的文件,这很显然超出了软件限制。请注意软件限制如何获得一个星号,除了它表示用户超出配额。还要注意的是,宽限期列标明了用户要在多长时间内解决问题。***,当我们尝试复制 1MB 文件时,因为它会超出用户 ian 的硬件限制,所以操作失败。

清单 15. 超过配额

[ian@echidna ~]$ dd if=/dev/zero of=/quotatest/ext4/ianfile2 bs=1024 count=95009500+0 records in9500+0 records out9728000 bytes (9.7 MB) copied, 0.0754223 s, 129 MB/s[ian@echidna ~]$ quotaDisk quotas for user ian (uid 1000):     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace      /dev/sda7   10552*  10240   11264   7days       2      50      55[ian@echidna ~]$ cp /quotatest/ext4/ianfile1 /quotatest/ext4/ianfile3cp: writing `/quotatest/ext4/ianfile3': Disk quota exceeded

     配额报告

一次检查一个用户的配额很没有效率,所以您会想要使用 repquota 命令生成配额报告。清单 16 显示了如何查看 /quotatest/ext4/ 上所有用户和组的配额。

清单 16. 生成配额报告

[root@echidna ~]# repquota -ug /quotatest/ext4/*** Report for user quotas on device /dev/sda7Block grace time: 7days; Inode grace time: 7days                        Block limits                File limitsUser            used    soft    hard  grace    used  soft  hard  grace----------------------------------------------------------------------root      --      24       0       0              2     0     0ian       +-   11260   10240   11264  6days       3    50    55gretchen  --    2080   10240   11264             44    50    55tom       -+     660   10240   11264             55    50    55  6daysdevelopment --       4       0       0              1     0     0*** Report for group quotas on device /dev/sda7Block grace time: 7days; Inode grace time: 7days                        Block limits                File limitsGroup           used    soft    hard  grace    used  soft  hard  grace----------------------------------------------------------------------root      --      24       0       0              2     0     0development -+   14004   25600   28160            103   100   110  7days

请注意,清单 16 中用户 ian、tom 和组 development 的加号,它表明现在每个都超出了配额。用户 ian 有过多的数据。用户 tom 有过多的文件。组 development 也有过多文件。

正如使用其他配额命令一样,-a 选项生成启用配额的已安装的文件系统的报告。-v 选项生成一个更详细的输出。-n 选项生成数字用户的编号,而不是将用户编号解析为名称。这个会对庞大的报告提供一个性能提升,但对读者并没有那么有用。

XFS 文件系统上的项目配额

XFS 配额系统还支持项目配额,它是组配额的替换。您不能在 XFS 文件系统上同时使用组和项目配额。项目配额要通过在 /etc/fstab 中添加 prjquota(或者 pquota)启用。

项目配额使用数字 id 的概念和更具描述性的项目名称。文件 /etc/projects 用于映射数字项目识别符到目录树,而文件 /etc/projid 映射数字项目识别符到项目名称。可以不使用 /etc 中的这两个文件进行操作,但是这样较为不方便。查看映射页面获取详细信息。

要设置项目配额,您必须在专家模式(-x 选项)使用 xfs_quota 命令。首先您必须使用 project 子命令和 -s 选项,通过标记所有受影响的索引节点作为项目一部分来设置项目配额。然后使用 limit 子命令来设置硬件或者软件限制。清单 17 显示了如何在 /quotatest/xfs/proj-dir1 下设置一个 15MB 项目硬件限制的项目树。我们还将设置一个没有限制的并行 /quotatest/xfs/proj-dir2 进行说明。

清单 17. 设置 xfs 项目配额

[root@echidna ~]# mkdir -m ag+w /quotatest/xfs/proj-dir{1,2}[root@echidna ~]# chown development:development /quotatest/xfs/proj-dir*[root@echidna ~]# echo "50:/quotatest/xfs/proj-dir1" >> /etc/projects[root@echidna ~]# echo "dev-projects:50" >> /etc/projid[root@echidna ~]# xfs_quota -xxfs_quota> path  Filesystem          Pathname000  /quotatest/xfs      /dev/sda8 (uquota, pquota)[001] /quotatest/xfs/proj-dir1 /dev/sda8 (project 50, dev-projects)xfs_quota> project -s dev-projectsSetting up project dev-projects (path /quotatest/xfs/proj-dir1)...Processed 1 (/etc/projects and cmdline) paths for project dev-projects with recursiondepth infinite (-1).xfs_quota> limit -p bhard=15m dev-projectsxfs_quota> q


我们将通过使用户 chris 创建几个文件来说明项目配额。用户 chris 不是 development 组的成员,也没有为自己和组设置配额。清单 18 显示了 chris 不能在 /quotatest/xfs/proj-dir1 创建大于 15MB 的数据,但在 /quotatest/xfs/proj-dir2 中没有限制。

清单 18. 行动中的项目配额

[chris@echidna xfs]$ id chrisuid=1010(chris) gid=1010(chris) groups=1010(chris)[chris@echidna xfs]$ dd if=/dev/zero of=proj-dir1/chris1 bs=1024 count=1000010000+0 records in10000+0 records out10240000 bytes (10 MB) copied, 0.0379557 s, 270 MB/s[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir1/chris2cp: writing `proj-dir1/chris2': No space left on device[chris@echidna xfs]$ ls -l proj-dir1total 15356-rw-rw-r--. 1 chris chris 10240000 Nov 23 13:16 chris1-rw-rw-r--. 1 chris chris  5484544 Nov 23 13:16 chris2[chris@echidna xfs]$ # Note: second copy was truncated at hard limit[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris1[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris2[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris3[chris@echidna xfs]$ du -sh *15M     proj-dir130M     proj-dir2

用户警告

warnquota 命令用于对超出配额的用户发出邮件警告。当组超出配额时,就会发邮件给 /etc/quotagrpadmins 中组的指定用户。邮件格式由文件 /etc/warnquota.conf 控制。文件 /etc/quotatab 用于映射名称,例如 /dev/sda7 映射为用户更容易理解的描述,如 “Shared EXT3 filesystem”。通常 warnquota 作为一个 cron 工作定期运行。查看用户手册页面,了解更多 cron 和 warnquota 的信息。

上述就是小编为大家分享的Linux中怎么设置磁盘配额了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网操作系统频道。

--结束END--

本文标题: Linux中怎么设置磁盘配额

本文链接: https://www.lsjlt.com/news/285386.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux中怎么设置磁盘配额
    这期内容当中小编将会给大家带来有关Linux中怎么设置磁盘配额,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。先决条件为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识,并需要准备一个 Li...
    99+
    2023-06-16
  • linux磁盘配额大小怎么设置
    这篇文章主要介绍“linux磁盘配额大小怎么设置”,在日常操作中,相信很多人在linux磁盘配额大小怎么设置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux磁盘配额大小怎么设置”的疑惑有所帮助!接下来...
    99+
    2023-06-10
  • Linux系统如何设置磁盘配额
    这篇“Linux系统如何设置磁盘配额”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux系统如何设置磁盘配额”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让...
    99+
    2023-06-28
  • linux中如何给磁盘配额
    这篇文章主要为大家展示了“linux中如何给磁盘配额”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何给磁盘配额”这篇文章吧。磁盘配额(quota)比较常用的几个情况是:* 针对WW...
    99+
    2023-06-13
  • Redhat Linux系统下磁盘配额的设置方法
    本篇内容主要讲解“Redhat Linux系统下磁盘配额的设置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redhat Linux系统下磁盘配额的设置方法”吧!配额可以使各个用户和组无法占...
    99+
    2023-06-10
  • 如何解决Linux磁盘配额配置问题
    这篇文章主要介绍了如何解决Linux磁盘配额配置问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。查看quota软件包是否安装#rpm -q quota修改配置文件“fsta...
    99+
    2023-06-17
  • linux磁盘配额的示例分析
    这篇文章主要介绍linux磁盘配额的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!配额又称为限额,针对的是分区,不是用户也不是文件,更不是整个硬盘; 2.内核版本必须是2.4以上才支持;查看内核是否支持配额。...
    99+
    2023-06-13
  • linux磁盘配额的含义是什么
    这篇“linux磁盘配额的含义是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linu...
    99+
    2023-02-07
    linux
  • windows Server 2003设置磁盘配额操作图解
      在Windows Server 2003系统中,对于拥有共享文件夹写入权限的用户而言,默认情况下可以无限制地向共享文件夹中写入数据。这种任意性可能导致共享文件夹所在磁盘分区空间紧张,因此为了保证所有用户都能正常使用共...
    99+
    2023-05-30
    磁盘配额 windows Server 2003 磁盘 配额
  • 如何配置redhat下的磁盘配额
    这篇文章主要介绍“如何配置redhat下的磁盘配额”,在日常操作中,相信很多人在如何配置redhat下的磁盘配额问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何配置redhat下的磁盘配额”的疑惑有所帮助!...
    99+
    2023-06-10
  • NTFS分区的磁盘配额管理基本设置以C盘设置为例
      在Windows资源管理器中,以NTFS分区C盘设置为例,在C盘根目录右击执行【属性】命令,在对话框中单击【配额】选项卡,如图1所示。   单击选中【启用配额管理(E)】、【拒绝将磁盘空间给超过配额限制的用户(D)】...
    99+
    2023-06-02
    NTFS分区 磁盘配额 NTFS 磁盘 管理 配额
  • NTFS分区的磁盘配额管理基本设置以C盘设置的操作方法
    NTFS分区的磁盘配额管理基本设置以C盘设置的操作方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  在Windows资源管理器中,以NTFS分区C盘设置为例...
    99+
    2023-06-14
  • rhel7.0怎么配置ASM磁盘
    这篇文章主要讲解了“rhel7.0怎么配置ASM磁盘”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“rhel7.0怎么配置ASM磁盘”吧!配置ASM磁盘,并用...
    99+
    2024-04-02
  • linux怎么分配磁盘空间
    在Linux系统中,可以通过以下步骤分配磁盘空间:1. 确认可用磁盘空间:使用`df -h`命令检查当前系统中的磁盘空间使用情况。2...
    99+
    2023-10-12
    linux
  • Linux磁盘空间怎么分配
    在Linux系统中,磁盘空间可以根据用户的需求和操作系统的要求进行灵活分配。一般来说,可以按照以下几个步骤来进行磁盘空间的分配: ...
    99+
    2024-04-09
    Linux
  • win7怎么设置磁盘共享
    这篇文章主要介绍“win7怎么设置磁盘共享”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“win7怎么设置磁盘共享”文章能帮助大家解决问题。设置方法:右键需要共享的磁盘,点击“共享”。在共享窗口中点击...
    99+
    2023-06-28
  • 怎么设置hdfs的磁盘空间
    在Hadoop集群中设置HDFS的磁盘空间可以通过以下步骤进行: 首先,确定每个数据节点的磁盘空间大小。可以在每个数据节点上使用...
    99+
    2024-04-18
    hdfs
  • win10磁盘共享权限怎么设置
    要设置Windows 10磁盘的共享权限,可以按照以下步骤进行操作:1. 打开“文件资源管理器”,并找到要共享的磁盘或文件夹。2. ...
    99+
    2023-10-18
    win10
  • Linux磁盘怎么加密
    这篇文章主要介绍“Linux磁盘怎么加密”,在日常操作中,相信很多人在Linux磁盘怎么加密问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux磁盘怎么加密”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-27
  • Linux中怎么修改磁盘参数
    Linux中怎么修改磁盘参数,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  在Linux下面我们都知道可以用相应的档案代表一个装置,比如 /dev/sdb1代...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作