磁盘配额

小学生^.^ 小学生^.^     2022-09-14     433

关键词:

Linux磁盘配额

限制用户在指定的磁盘分区的使用量(通过空间大小或文件个数来限制)

添加一个新的磁盘,创建新的分区来做磁盘配额的实验。分成ext4 和 xfs(RHEL7默认,可选)两种文件系统分别演示。

针对ext4文件系统,创建磁盘配额过程:

准备好一个ext4的分区,并挂载使用。对于ext4的文件系统,磁盘配额只能针对分区来做。对整个分区有效,而不能针对目个单一的子目录。

1.使文件系统支持磁盘配额;
2.生成磁盘配额记录文件;
3.设定用户的磁盘配额和警告期;
4.启动磁盘配额并测试。

1.使文件系统支持磁盘配额;

使用命令 :fdisk -cu  /dev/vdb   

查看/dev/vdb  UUID  :   blkid    /dev/vdb


[[email protected] ~]# vim /etc/fstab
UUID=ef10640d-45fa-4312-8a0e-3cdaa6a7a55e /dd            ext4    defaults,usrquota,grpquota        1 1

[[email protected] ~]# mount -o remount /dd
[[email protected] ~]# mount |grep /dd
/dev/sda5 on /dd  type ext4 (rw,usrquota,grpquota)

2.生成磁盘配额记录文件;
[[email protected] ~]# quotacheck -cug  /dd

如果没有该命令,需要安装:
[[email protected] docs]# yum  install  quota  -y

[[email protected] ~]# ls /dd/aquota.*
/dd/aquota.group  /dd/aquota.user

3.设定用户的磁盘配额和警告期;
磁盘配额只对普通用户生效,对root无效。
[[email protected] ~]# edquota -u king
Disk quotas for user king (uid 501):
  Filesystem       blocks       soft       hard       inodes          soft     hard
  /dev/sda5          0            0          0          0              0        0

      分区         已使用的块(1K/块)     块的软限额    块的硬限额     已使用的文件个数(等同于)   inodes软限额    inodes的硬限额

设置后:
Disk quotas for user king (uid 501):
  Filesystem     blocks      soft       hard     inodes     soft     hard
  /dev/sda5         0         300       500          0       5         8


4.启动磁盘配额并测试。
[[email protected] ~]# quotaon /dd

测试
[[email protected] ~]# su - king
[[email protected] /dd]$ dd if=/dev/zero of=quota_test bs=1K count=200
记录了200+0 的读入
记录了200+0 的写出
204800字节(205 kB)已复制,0.00107211 秒,191 MB/秒
[[email protected] ~]$ ll
总用量 200
-rw-rw-r--. 1 king king 204800 3月  25 19:24 quota_test

[[email protected] /dd]$ dd if=/dev/zero of=quota_test2 bs=1K count=200
sda5: warning, user block quota exceeded.
记录了200+0 的读入
记录了200+0 的写出
204800字节(205 kB)已复制,0.000772908 秒,265 MB/秒
[[email protected] /dd]$ ll
总用量 400
-rw-rw-r--. 1 king king 204800 3月  25 19:24 quota_test
-rw-rw-r--. 1 king king 204800 3月  25 19:24 quota_test2

[[email protected] /dd]$ dd if=/dev/zero of=quota_test3 bs=1K count=200
sda5: write failed, user block limit reached.
dd: 正在写入"quota_test3": 超出磁盘限额
记录了101+0 的读入
记录了100+0 的写出
102400字节(102 kB)已复制,0.000720444 秒,142 MB/秒
[[email protected] /dd]$ ll
总用量 500
-rw-rw-r--. 1 king king 204800 3月  25 19:24 quota_test
-rw-rw-r--. 1 king king 204800 3月  25 19:24 quota_test2
-rw-rw-r--. 1 king king 102400 3月  25 19:25 quota_test3

[[email protected] /dd]# edquota -t
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/sda5                     7days                  7days


[[email protected] /dd]# edquota -T king
Times to enforce softlimit for user king (uid 501):
Time units may be: days, hours, minutes, or seconds
  Filesystem                         block grace               inode grace
  /dev/sda5                         604638seconds                  unset

查看磁盘配额的使用报表:
[[email protected] ~]# quota -uvsl king
Disk quotas for user king (uid 501):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda5     500*    300     500   6days       4       5       8

[[email protected] /dd]# repquota -aug

[[email protected] ~]# edquota -p king lisi
[[email protected] ~]# quota -uvsl lisi
Disk quotas for user lisi (uid 502):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace Accounting: ON
  Enforcement: ON

      /dev/sda5      32     300     500               9*      5       8   7days


练习: 完成上述实验过程。

思考:如何批量的创建N多用户的磁盘配额(假设配额值相同)

答案:
方式1  , 把所有用户加入到同一个组,然后针对组做磁盘配额。(测试组的磁盘配额是,所有成员共享一个值,还是每个成员有相同的值。)
方式2 , 使用edquota  -p  ,快速复制某个用户的配额到指定的用户;
方式3, 使用setquota  非交互的批量设置 ,可以配会shell脚本使用。


-------------------------------

针对RHEL7  xfs的磁盘配合的设置 (现阶段不要求)

参考:http://linux.vbird.org/linux_basic/0420quota.php#the_quota

过程演示:

[[email protected] dd]# vim /etc/fstab
UUID="55a202bc-02c9-4712-84a4-af7f4de00425"    /ee   xfs    defaults,usrquota,grpquota  0 0

如果已经挂载了/ee,  先卸载:umount    /ee
[[email protected] dd]# mount  -a  

[[email protected] dd]# mount  |grep vdb2
/dev/vdb2 on /ee type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

[[email protected] dd]# xfs_quota   -x  /ee
xfs_quota> state
User quota state on /ee (/dev/vdb2)
  Accounting: ON
  Enforcement: ON
  Inode: #131 (1 blocks, 1 extents)
Group quota state on /ee (/dev/vdb2)
  Accounting: ON
  Enforcement: ON
  Inode: #132 (1 blocks, 1 extents)
Project quota state on /ee (/dev/vdb2)
  Accounting: OFF
  Enforcement: OFF
  Inode: #132 (1 blocks, 1 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> report  -h
User quota on /ee (/dev/vdb2)
                        Blocks              
User ID      Used   Soft   Hard Warn/Grace   
---------- ---------------------------------
root            0      0      0  00 [------]

Group quota on /ee (/dev/vdb2)
                        Blocks              
Group ID     Used   Soft   Hard Warn/Grace   
---------- ---------------------------------
root            0      0      0  00 [------]

xfs_quota> limit   bsoft=3m   bhard=5m  isoft=5  ihard=8  zhangsan


xfs_quota> report  -h -u -i -b
User quota on /ee (/dev/vdb2)
                        Blocks                            Inodes              
User ID      Used   Soft   Hard Warn/Grace     Used   Soft   Hard Warn/Grace  
---------- --------------------------------- ---------------------------------
root            0      0      0  00 [------]      3      0      0  00 [------]
zhangsan        0     3M     5M  00 [------]      0      5      8  00 [------]

xfs_quota> quit


测试过程略
-------------------------
xfs 新增对project(某个指定的目录,与用户和组无关)的磁盘配额的支持。(了解)

[[email protected] ee]# vim /etc/fstab
UUID="55a202bc-02c9-4712-84a4-af7f4de00425"    /ee   xfs    defaults,prjquota  0 0

[[email protected] ~]# umount   /ee
[[email protected] ~]# mount  /ee
[[email protected] ~]# mount  |grep  vdb2
/dev/vdb2 on /ee type xfs (rw,relatime,seclabel,attr2,inode64,prjquota)


[[email protected] ~]# echo "uplooking:01" >> /etc/projid
[[email protected] ~]# echo "01:/ee/test"  >> /etc/projects

[[email protected] ~]# xfs_quota -x  /ee
xfs_quota> state
User quota state on /ee (/dev/vdb2)
  Accounting: OFF
  Enforcement: OFF
  Inode: #131 (2 blocks, 2 extents)
Group quota state on /ee (/dev/vdb2)
  Accounting: OFF
  Enforcement: OFF
  Inode: N/A
Project quota state on /ee (/dev/vdb2)
  Accounting: ON
  Enforcement: ON
  Inode: N/A
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> project  -s  uplooking  
Setting up project uplooking (path /ee/test)...
Processed 1 (/etc/projects and cmdline) paths for project uplooking with recursion depth infinite (-1).


xfs_quota> limit  -p  bsoft=3m  bhard=5m  uplooking
xfs_quota> report  -h  -b  -p
Project quota on /ee (/dev/vdb2)
                        Blocks              
Project ID   Used   Soft   Hard Warn/Grace   
---------- ---------------------------------
uplooking       0     3M     5M  00 [------]

xfs_quota> quit



[[email protected] ~]# cd /ee/test
[[email protected] test]# dd if=/dev/zero of=1.db   bs=1M count=6
dd: 写入"1.db" 出错: 设备上没有空间
记录了6+0 的读入
记录了5+0 的写出
5242880字节(5.2 MB)已复制,0.0367517 秒,143 MB/秒
[[email protected] test]# ll -h
总用量 5.0M
-rw-r--r--. 1 root     root     5.0M 12月  6 17:13 1.db


[[email protected] test]# cd  ..
[[email protected] ee]# ll
总用量 0
drwxrwxrwx. 2 root root 28 12月  6 17:34 test
[[email protected] ee]# dd  if=/dev/zero   of=2.db  bs=1M  count=4
记录了4+0 的读入
记录了4+0 的写出
4194304字节(4.2 MB)已复制,0.0201733 秒,208 MB/秒
[[email protected] ee]# ll
总用量 4096
-rw-r--r--. 1 root root 4194304 12月  6 17:34 2.db

易忘之处:

quotacheck -cug(F强制)  /a      生成磁盘配额           若是不成功    执行此命令:setenforce 0  

/dev/vg01/lv02  /a     ext4     defaults,usrquota,gpgquota    1   1      挂载

设置磁盘配额警告时间       edquota    -t

磁盘配额

        磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。        磁盘配额可以限制指定账户能够使用的... 查看详情

磁盘配额

磁盘配额: 文件服务器:共享存储空间,让用户能够随时存储数据; FTP: SMB: 网盘:极速上传 磁盘配额主要是针对于这类文件服务器进行用户的磁盘空间使用限制而提出的。 磁盘配额的设定对象: 1.能够实施读写操作的... 查看详情

磁盘配额

Linux磁盘配额限制用户在指定的磁盘分区的使用量(通过空间大小或文件个数来限制)添加一个新的磁盘,创建新的分区来做磁盘配额的实验。分成ext4和xfs(RHEL7默认,可选)两种文件系统分别演示。针对ext4文件系统,创建磁盘配... 查看详情

磁盘配额

磁盘配额:文件服务器:共享存储空间,让用户能够随时存储数据;FTP:SMB:网盘:极速上传磁盘配额主要是针对于这类文件服务器进行用户的磁盘空间使用限制而提出的。磁盘配额的设定对象:1.能够实施读写操作的块设备;2... 查看详情

#12磁盘配额

磁盘配额: 文件服务器:共享存储空间,让用户能够随时存储数据; FTP: SMB: 网盘:极速上传 磁盘配额主要是针对于这类文件服务器进行用户的磁盘空间使用限制而提出的。 磁盘配额的设定对象: 1.能够实施读写操作的... 查看详情

磁盘配额的设置

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。环境预设:设置s-heng这用户家目录使用空间不能大于80M,准备一个磁盘分区,迁移根家目录到这个磁盘上;实现... 查看详情

磁盘配额步骤简要

磁盘配额: 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。 基本上在linux中可用的地方那就是用户的家目录了,可以对用户进行限额配制,避免用户将恶意或... 查看详情

quota磁盘配额

quota磁盘配额(user)1.开启配额功能:[[email protected]/]#mount-ousrquota/dev/sda5/mnt/2.设置用户配额:[[email protected]/]#edquota-urobin/mnt3.查询配额的使用情况[[email protected]/]#repquota-u/mnt4.启动配额:[[email 查看详情

程序包管理rpmquota磁盘配额

下面介绍的是磁盘配额、quota及相关命令、rpm程序包管理器、rpm命令行工具的功能等。一、磁盘配额1、磁盘配额功能:磁盘配额可以用来构建文件服务器。  文件服务器功能:用来共享存储空间,让用户能够随时存储数据... 查看详情

磁盘配额

磁盘配额在Linux系统中一般都是多用户同时进行,多个用户使用同一块磁盘会不会发生一个很尴尬的事情。用户A大量使用磁盘空间,等到B使用的时候没怎么用就满了。这不就尴尬了,对于B用户来说也很不公平。那么今天就说说... 查看详情

linux的磁盘配额

...和修改配置文件来设置samba服务。但在windows下是可以通过磁盘配额来管理文件服务器的,在linux中,也可以设置磁盘配额来管理文件服务器,而且配置更容易,更简单。我们先大概说明一下磁盘配额的基本步骤,以便在随后的讲... 查看详情

磁盘配额(代码片段)

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

怎么设置磁盘配额

题目是这样为新建拥护Userpy分配磁盘配额为50M,并加人到管理组中。。Linux跟Windos各是怎么做的求高人。。可以加好友。并找师傅。不嫌弃的来注意是Linux谢谢!!!不要什么工具。没有网络可以下载什么工具的。。1、方法如下... 查看详情

liunx磁盘配额管理

...sp;  作为运维人员,很多时候我们需要对用户使用磁盘的空间进行限定,比如用户家目录的空间使用限制,邮箱空间使用限制,共享磁盘空间的使用限制,甚至说云盘空间,都需要给每个用户做相应的空间使用限制。否则... 查看详情

linux磁盘配额可以通过哪两种方法对用户进行限制?

Linux磁盘配额1.磁盘配额的使用限制仅针对整个分区:磁盘配额实际运行时,是针对“整个分区”进行限制的,例如,如果/dev/hda5载入在/home下,那么,在/home下面的所有目录都会受到限制。核心必须支持磁盘配额:Linux系统核心... 查看详情

磁盘配额,程序包

磁盘配额  文件服务器:共享存储空间,让用户能够随时存储数据 FTP SMB 网盘  磁盘配额:主要是针对这类文件服务器进行用户的磁盘空间使用限制而提出的。 磁盘配额的设定对象:   1.... 查看详情

磁盘配额

linux是多用户用任务的操作系统,使用磁盘配额将操作系统中的各个用户公平的使用磁盘空间步骤:1、在磁盘上划分出一块分区进行使用2、格式化该分区文件系统的不同在磁盘配额上也会体现出不同<1>xfs文件系统<2>ext... 查看详情

磁盘配额(代码片段)

磁盘配额限定用户或组对磁盘空间的使用。安装quota[[email protected]dev]#yuminstallquota-y以支持磁盘配额的方式挂载,查看[[email protected]dev]#mount-oremount,usrquota,grpquota/dev/sdb3[[email protected]dev]#mount|grepusrquot 查看详情