Linux磁盘配额应用
磁盘配额
网站服务 针对网站服务域名空间上一般会设置配额限制;
邮件服务 针对邮件服务每个邮箱用户设置磁盘配额限制;
文件服务 针对文件服务器,每个用户设置配额限制;
Home家目录 针对家目录设置磁盘配额限制
其他诸如NFS、ftp等服务;
quota简介
什么是quota?什么是磁盘配额?在Linux操作系统中,由于是多人工作环境,多个用户共同使用一个分区,在没有限配额制下,占用存储多的用户就会侵占其他用户的存储权利,造成其他用户的使用不便;而磁盘配额就是为了解决这个问题,在root环境下通过quota指令设置磁盘配额;
quota主要应用环境
quota相关指令
2.1、quota指令
quota --显示磁盘的使用和限制
参数:
-g 显示用户所在组的组配额限制
-u 缺省显示当前用户的配额限制,指定用户则显示用户配额限制;
-v 显示文件系统上的配额限制,即使没有占用空间
-q 只显示超出限额的文件系统
只有root可以使用-u参数,普通用户可以使用-g参数查看用户所在组的配额限制;
2.2、quotacheck 扫描文件系统,创建、检测、修复配额文件;
参数:
-d 进入调试状态.这会产生许多用于调试程序的信息.输出的信息非常详尽,而扫描速度会减慢;
-a 如果用它取代任何文件系统的名字, quotacheck 将检测所有在 /etc/mtab 中列为可读写 的文件系统的配额.在缺省状态下,只有在 /etc/mtab 中被列为配额的文件系统才会被检测.
-u 只检测在 /etc/mtab 列出或指定的文件系统中的用户配额.这是缺省状态下采取 的 行动
-R 当与 -a 一起使用时,检测除根(root)文件系统外的其他所有文件系统.
-i 交互模式.在缺省状态下, quotacheck 在发现错误后即退出.在交互模式下,用户会被问取建议. 参考选项 -n.
-n 有时候对同一个ID会找到多个结果. 通常遇到这种情况 quotacheck 就终止运行.该 选项强制使用第一个结果(该选项在交互模式下同样有效).
2.3、edquota - 编辑用户配额
参数:
-u 编辑用户配额.这是默认的选项.
-g 编辑组配额.
-p 对每个指定的用户/组的原配额加倍. 这是用来对一组用户/组初始化配额时常用的方法.
FILES(相关文件)
位于文件系统root下的aquota.user 或 aquota.group 配额文件.
/etc/mtab 已挂载的文件系统表
2.4、quotaon -- - 开启关闭文件系统配额
参数:
-e 开启指定文件系统配额。 当程序名是 quotaon 时, 此选项是默认的。
-d 关闭指定文件系统配额。 当程序名是 quotaoff 时, 此选项是默认的。
-a 当 用 在 任 何 文 件 系 统名称的地方时, quotaon/quotaoff 将允许/禁止所有在/etc/mtab 中指定的文件系统为有磁盘配额的读-写。 这个选项一般被用在系统启动时开启配额。
-v 为每个开启或关闭配额的文件系统显示一条消息。
-u 处理用户配额。 这是默认选项。
-g 处理组配额。
相关文件 (FILES)
aquota.user 文件系统根目录下的用户配额文件
aquota.group 文件系统根目录下的组配额文件
/etc/mtab 已装载的文件系统表
quotaoff 启关闭文件系统配额
参数:
于quotaon相同
三、home分区进行磁盘配额限制
3.1、由于配额针对分区,为了体验账户管理和权限管理,挂载一个新的分区,进行home迁移;
1)/home分区迁移
2)针对home分区进行磁盘配额限制;
3)设置用户配额;
4)编辑群组可用的配额;
5)设置开机启动quota;
6)requota显示quota信息
3.2、/home分区迁移
1)备份home分区;
[root@woon /]# mkdir /homebak
[root@woon /]# cp -a /home/* /homebak/
2)格式化sdb为ext4;
[root@woon ~]# fdisk l
Disk /dev/sdb: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
[root@woon /]# ls -la /dev/sdb*
brw-rw----. 1 root disk 8, 16 2月 10 20:19 /dev/sdb
brw-rw----. 1 root disk 8, 17 2月 10 20:19 /dev/sdb1
[root@woon /]# mkfs.ext4 /dev/sdb1
3) 建立/dev/sdb1配额支持;
[root@woon /]# vi /etc/fstab
添加
/dev/sdb1 /home ext4 defaults,userquota,grpquota 0 0
4)将sdb1挂载在/home下
root@woon /]#rm rf /home/*
root@woon /]#mount /dev/sb1 /home
root@woon /]#cp a /homebak/* /home/
root@woon /]#mount a
[root@woon ~]# df h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_woon-lv_root 8.3G 4.0G 4.0G 51% /
tmpfs 504M 72K 504M 1% /dev/shm
/dev/sda1 477M 27M 426M 6% /boot
/dev/sde1 459G 70M 435G 1% /opt/gpt1
/dev/sdb1 50G 52M 47G 1% /home
注:如果是已经挂载的分区,可以使用mount o remount /dev/sdb1
[root@woon ~reboot
抽袋烟的功夫…………
5)生成配额文件
由于seLinux会影响quota,所以先关闭selinux
[root@woon ~]# setenforce 0
[root@woon ~]# getenforce
[root@woon ~]# quotacheck aug
查看是否生成配额文件;
[root@woon home]# ll /home
总用量 48
-rw-------. 1 root root 7168 2月 10 21:03 aquota.group
-rw-------. 1 root root 7168 2月 10 21:03 aquota.user
drwx------. 4 hchen hchen 4096 2月 10 21:02 hchen
drwx------. 2 root root 16384 2月 10 20:23 lost+found
drwx------. 4 woon woon 4096 2月 9 17:52 woon
drwx------. 4 woonli woonli 4096 2月 10 20:39 woonli
drwx------. 4 zwen zwen 4096 2月 10 21:02 zwen
6)启动quota
[root@woon home]# quotaon -avug
/dev/sdb1 [/home]: group quotas turned on
/dev/sdb1 [/home]: user quotas turned on
编辑配额
设置用户woon、zwen和hchen磁盘配合soft为50M,hard为55M
[root@woon home]# edquota -u woon
Disk quotas for user woon (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 40 51200 61440 10 0 0
[root@woon home]# edquota p woon hchen
[root@woon home]#edquota p woon zwen
#复制账户woon的quota给账户zwen和hchen;
8)设置宽限时间为3天
[root@woon home]# 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/sdb1 3days 7days
9)设置组配额
[root@woon home]# edquota –g woon
^^^^^^^^^^^^^^^^^^^^^^^^
10) 查看quota设置结果记录
[root@woon ~]# repquota -av
*** Report for user quotas on device /dev/sdb1
Block grace time: 3days; Inode grace time: 7days
Block limits Filelimits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 50500 0 0 10975 0 0
woon -- 8552 51200 61440 218 0 0
woonli -- 36 0 0 9 0 0
hchen -- 32 51200 61440 8 0 0
zwen -- 32 51200 61440 8 0 0
#1000 -- 2224 0 0 59 0 0
Statistics:
Total blocks: 8
Data blocks: 1
Entries: 6
Used average: 6.000000
四、quota验证
[root@woon woon]# su – woon
[woon@woon ~]$ dd if=/dev/zero of=/home/woon/fileddbs=1M count=100
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: 正在写入"/home/woon/filedd": 超出磁盘限额
记录了59+0 的读入
记录了58+0 的写出
61665280字节(62 MB)已复制,0.0753227 秒,819 MB/秒
超出磁盘配额
[woon@woon ~]$ du -h filedd
59M filedd
[woon@woon ~]$ du -h |tail -1
60M
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。