磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件(包括程序运行的临时文件),从而出现服务程序崩溃、系统无法启动等故障。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量的磁盘空间,从未保持系统存储空间的稳定性和持续可用性。
在CentOS系统中,内核已经定制了支持Linux文件系统的磁盘配额功能,并且在系统中配置和管理磁盘配额的工具由xfsprogs软件包的xfs_quota配额管理程序提供。 [[email?protected] ~]# rpm -q xfsprogs #确认xfsprogs软件包的安装情况 [[email?protected] ~]# rpm -ql xfsprogs | grep xfs_quota #查看xfs_quota配额管理程序 如果想要使用磁盘配额,必须要明白的知识点有: 磁盘配额的作用范围 磁盘配额的限制对象 磁盘配额的限制类型 磁盘配额的限制方法 在实施磁盘配额的实际过程中,只有当用户(或组)、文件系统(分区)及配额数值都满足限额条件时,xfs_quota才会对操作进行限制。 磁盘配额管理步骤: 以支持配额功能的方式挂载文件系统 [[email?protected] ~]# mkdir /a [[email?protected] ~]# mount -o usrquota,grpquota /dev/web_document/bdqn /a #增加用户、组配额功能的支持挂载 [[email?protected] ~]# chmod 777 /a #为了测试方便,允许任何用户写入数据 [[email?protected] ~]# mount ………… #省略部分信息 /dev/mapper/web_document-bdqn on /a type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota) 实现开机自动挂载(增加用户、组配额的功能挂载) [[email?protected] ~]# vim /etc/fstab #修改逻辑卷的挂载配置 ………… #省略部分信息 /dev/web_document/bdqn /a xfs defaults,grpquota 0 0 编辑用户和组账号的配额设置 [[email?protected] ~]# xfs_quota -x -c ‘limit -u bsoft=10M bhard=15M isoft=40 ihard=50 zhangsan‘ /a #设置用户张三的磁盘配额,磁盘容量软限制为10M,硬限制为15M;文件数软限制为40,硬限制为50 -x表示启用专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用; 如果仅限制磁盘容量和文件数量,可以使用 [[email?protected] ~]# xfs_quota -x -c ‘limit -u bsoft=10M bhard=15M zhangsan‘ /a #仅限制磁盘容量 [[email?protected] ~]# xfs_quota -x -c ‘limit -u isoft=40 ihard=50 zhangsan‘ /a #仅限制文件数量 [[email?protected] ~]# xfs_quota -c ‘quota -uv zhangsan‘ /a #查看zhangsan磁盘容量限制 Disk quotas for User zhangsan (1002) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/web_document-bdqn 0 ** 10240 15360 ** 00 [--------] /a、 [[email?protected] ~]# xfs_quota -c ‘quota -i -uv zhangsan‘ /a #查看zhangsan文件数量限制 Disk quotas for User zhangsan (1002) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/web_document-bdqn 0 ** 40 50** 00 [--------] /a 一般情况,对磁盘容量进行限额的情况比较常见,限制文件 数量的情况较少。所以设置的限额不应小于用户已经使用的数量,否则可能导致该用户无法正常登录系统。另外,建议不要对root用户设置磁盘配额,以免带来不可预知的风险。 验证磁盘配额功能 [[email?protected] ~]# su zhangsan #首先切换用户 [[email?protected] root]$ dd if=/dev/zero of=/a/123.txt bs=5M count=4 dd: 写入"/a/123.txt" 出错: 超出磁盘限额 #超出硬限制的数据将被截断,无法写入 记录了4+0 的读入 记录了3+0 的写出 15728640字节(16 MB)已复制,2.0585 秒,7.6 MB/秒 [[email?protected] root]$ ls -lh /a/123.txt -rw-rw-r--. 1 zhangsan zhangsan **15M** 6月 30 04:55 /a/123.txt 查看配额使用情况 [[email?protected] ~]# xfs_quota -x -c ‘report -a‘ #查看所有可用分区的磁盘容量配额使用情况 User quota on /a (/dev/mapper/web_document-bdqn) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------] zhangsan 15360 10240 15360 00 [6 days] Group quota on /a (/dev/mapper/web_document-bdqn) Blocks Group ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 0 0 0 00 [--------] zhangsan 15360 0 0 00 [--------] [[email?protected] ~]# xfs_quota -x -c ‘quota -u zhangsan‘ /a #查看指定用户名的磁盘容量使用情况(查看组使用参数“-g”) Disk quotas for User zhangsan (1002) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/web_document-bdqn 15360 10240 15360 00 [6 days] /a 若同时查看磁盘容量和文件输出报告可结合“-i”和“-b”使用。 [[email?protected] ~]# xfs_quota -x -c ‘report -abi‘ User quota on /a (/dev/mapper/web_document-bdqn) Blocks Inodes User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace ---------- -------------------------------------------------- -------------------------------------------------- root 0 0 0 00 [--------] 3 0 0 00 [--------] zhangsan 15360 10240 15360 00 [6 days] 1 40 50 00 [--------] Group quota on /a (/dev/mapper/web_document-bdqn) Blocks Inodes Group ID Used Soft Hard Warn/Grace Used Soft Hard Warn/ Grace ---------- -------------------------------------------------- -------------------------------------------------- root 0 0 0 00 [--------] 3 0 0 00 [--------] zhangsan 15360 0 0 00 [--------] 1 0 0 00 [--------] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |