(三)、磁盤配額
1、創建磁盤配額
1-1、修改掛載參數
[root@localhost ~]# mount -o usrquota,grpquota /dev/LVMonRaid/LogicLV1 /mnt/lv1
若是要永久修改掛在參數,就要修改/etc/fstab文件
[root@localhost ~]# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
tmpfs /dev/s tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
/dev/LVMonRaid/LogicLV1 /mnt/lv1 ext3 defaults,usrquota,grpquota 1 2
1-2、初始化磁盤配額庫
[root@localhost ~]# quotacheck -ucg /dev/LVMonRaid/LogicLV1
1-3、檢查磁盤配額庫是否創建成功
[root@localhost ~]# ls /mnt/lv1
aquota.group aquota.user lost+found
掛載點有aquota.group和aquota.user兩個文件,說明磁盤初始化完成。
2、磁盤配額的啓用與停用
2-1、查詢LV上磁盤配額啓用狀況
[root@localhost ~]# quotaon -p /mnt/lv1
group quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is off
user quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is off
2-2、啓用LV上的磁盤配額
[root@localhost ~]# quotaon /mnt/lv1
[root@localhost ~]# quotaon -p /mnt/lv1
group quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is on
user quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is on
2-3、停用LV上的磁盤配額
[root@localhost ~]# quotaoff /mnt/lv1
[root@localhost ~]# quotaon -p /mnt/lv1
group quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is off
user quota on /mnt/lv1 (/dev/mapper/LVMonRaid-LogicLV1) is off
3、設置磁盤配額
3-1、使用edquota設置磁盤配額,分別設置區域配額和索引節點配額。
3-1-1、設置磁盤配額
[root@localhost ~]# edquota -ug user1 /mnt/lv1
Disk quotas for group user1 (gid 500):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/LVMonRaid-LogicLV1 0 4000 5000 0 4 5
3-1-2、更改/mnt/lv1的權限爲777,更換user1用戶向該文件夾保存文件
[root@localhost ~]# chmod 777 /mnt/lv1
[root@localhost ~]# su - user1
[user1@localhost ~]$ ll
總計 4
-rw-r--r-- 1 root root 1007 08-23 22:25 test.txt
[user1@localhost ~]$ for i in 1 2 3 4 5 ;do cp test.txt /mnt/lv1/test${i}.txt;done
[user1@localhost ~]$ for i in 6 ;do cp test.txt /mnt/lv1/test${i}.txt;done
dm-0: warning, user file quota exceeded.
3-2、使用setquota設置磁盤配額
3-2-1、設置磁盤配額
[root@localhost ~]# setquota user2 4000 5000 4 5 /mnt/lv1
3-2-2、更換user2用戶向/mnt/lv1保存文件
[root@localhost ~]# su - user2
[user2@localhost ~]$ ll
總計 4
-rw-r--r-- 1 user2 user2 1007 08-23 22:55 test.txt
[user2@localhost ~]$ for i in 1 2 3 4 ; do cp test.txt /mnt/lv1/test${i}.txt ; done
[user2@localhost ~]$ for i in 5 ; do cp test.txt /mnt/lv1/test${i}.txt ; done
dm-0: warning, user file quota exceeded.
4、管理磁盤配額
4-1、查看磁盤配額情況
[root@localhost lv1]# quota user2
Disk quotas for user user2 (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/mapper/LVMonRaid-LogicLV1 20 4000 5000 5* 4 5
4-2、產生磁盤配額表
[root@localhost lv1]# repquota -a
*** Report for user quotas on device /dev/mapper/LVMonRaid-LogicLV1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
-------------------------------------------------------------------------------------------------------------------
root -- 34092 0 0 4 0 0
user2 -+ 20 4000 5000 5 4 5 6days
4-3、修改期限
[root@localhost ~]# 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/mapper/LVMonRaid-LogicLV1 7days 7days
5、使用腳本爲系統用戶設置磁盤配額
[root@localhost ~]# vi quota.sh
#!/bin/bash
for user in $(cat /etc/passwd | awk -F : '{if ($3>=500) {print $1}}')
do
setquota ${user} 4000 5000 4 5 /mnt/lv1
done
~
[root@localhost ~]# repquota -a
*** Report for user quotas on device /dev/mapper/LVMonRaid-LogicLV1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 34092 0 0 4 0 0
user1 -- 16 4000 5000 4 4 5
user2-+ 20400050005456days