linux之高級文件系統管理
由於Linux是一個多用戶管理的操作系統,而Linux默認情況下並不限制每個用戶使用磁盤空間的大小,假如某個用戶疏忽或者惡意占滿磁盤空間,將導致系統磁盤無法寫入甚至崩潰;為了保證系統磁盤的有足夠的剩余空間,我們需要對用戶和組進行磁盤空間使用限制。
磁盤配額限制類型:
- 限制用戶和組對磁盤空間的使用量
- 限制用戶和組在磁盤內創建文件的個數
磁盤配額限制級別:
- 軟限制:低級限制,此限制可以突破,突破時會被警告,超出部分會有寬限天數,寬限天數到期後超出部分被清空,軟限制不能超過硬限制
- 硬限制:絕對限制,此限制不會被突破,達到指定限制後無法使用更多空間
- 寬限天數:當有數據超過軟限制後,超出部分會被計時,寬限天數到期後超出部分數據將被清空,寬限天數默認是7天
下面我們開始詳細看一下對用戶磁盤空間設置的詳細命令,首先需要先開啟quota,然後再對quota進行設置。
一 、ext系列文件系統的quota
1、開啟quota(ext、xfs)
vim /etc/fstab
/etc/fstab文件中寫入以下行,最後保存退出
UUID=e060a9c0-c9d3-4632-ae17-70ffee835d6f /app ext4 defau
lts,usrquota,grpquota 1 0
然後再重新掛載,再grep一下查看是否掛載成功
[root@localhost ~]# mount -o remount /dev/sdb
[root@localhost ~]# mount |grep quota
/dev/sdb on /app type ext4 (rw,usrquota,grpquota)
2、生成quota數據庫
[root@localhost ~]# quotacheck -cugm /app/
[root@localhost ~]# cd /app
[root@localhost app]# ls
aquota.group aquota.user lost+found
3、開啟quota
[root@localhost app]# quotaon /app
到此為止ext4類型的文件系統的quota已經開啟成功,下面再展示相關用法及設置
4、quota
-v 顯示當前用戶自己的quota限額
[root@localhost app]# quota -v
Disk quotas for user root (uid 0):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb 20 0 0 2 0 0
-v username 顯示指定用戶的quota限額 此時需要註意這個命令僅限root
repquota -v /app 顯示所有用戶的quota限額(僅限用戶在該目錄有所屬的文件) 僅限root
5、配置quota下面這幾條命令都是直接打開相應的腳本文件然後在裏邊直接進行相應的塊或是inode的軟硬設備
edquota -u/g username/groupname
edquota -u caocao
edquota -g weiguo
非交互式 個人覺得如果知道對文件要求是什麽的話,直接用下述方法比較好
setquota -u[default] |-g username|groupname 10M 20M 5 20 /app
setquota -u caocao 0 0 0 0 /app
setquota -g weiguo 10M 20M 50 100 /app
edquota -p caocao zhangfei 將liubei的quota設置復制給zhangfei
註意:對group設置quota時,應該對附加組設置,同時,目錄要設置sgid權限才有意義
二 、xfs文件系統的quota
1.vim /etc/fstab
在需要開啟quota的文件系統的掛載選項的defaults後加usrquota,grpquota如下
UUID=f5f95aff-f321-46b6-9a1b-14781387548d /backup xfs defaults,usrquota,grpquota 1 0
一定要卸載再掛載才生效
2.配置
xfs_quota -x -c "print" 查看當前系統中所有的xfs文件系統哪些開啟了quota
[root@localhost bin]#xfs_quota -x -c "print"
Filesystem Pathname
/ /dev/mapper/centos-root
/boot /dev/sda1
/backup /dev/md1 (uquota, gquota)
/app /dev/mapper/centos-app
xfs_quota -x -c "report -ugibh" 查看quota設置
-u 查看用戶的
-g 查看組的
-i 查看inode
-b 查看block (默認)
-h human-readable
-uibh
下邊是應用最多的 –ugibh組合的應用,用戶和組都可以顯示quota權限
xfs_quota -x -c "state" /backup 查看qutoa狀態,顯示grace time時間
[root@localhost home]#xfs_quota -x -c "state" /backup/
User quota state on /backup (/dev/md1)
Accounting: ON
Enforcement: ON
Inode: #67 (2 blocks, 2 extents)
Group quota state on /backup (/dev/md1)
Accounting: ON
Enforcement: ON
Inode: #68 (2 blocks, 2 extents)
Project quota state on /backup (/dev/md1)
Accounting: OFF
Enforcement: OFF
Inode: #68 (2 blocks, 2 extents)
Blocks grace time: [14 days] 是修改之後的時間,默認是7天
Inodes grace time: [7 days]
Realtime Blocks grace time: [7 days]
xfs_quota -x -c "limit -u bsoft=30M bhard=40M 用戶" /backup
3.對用戶設置quota
xfs_quota -x -c "limit -g bsoft=50M bhard=100M shuguo" /backup
[root@localhost home]#xfs_quota -x -c "limit -u bsoft=40M bhard=50M sunquan" /backup
[root@localhost home]#repquota -v /backup/
*** Report for user quotas on device /dev/md1
Block grace time: 14days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 0 0 0 3 0 0
sunquan +- 46080 40960 51200 7days 2 0 0
*** Status for user quotas on device /dev/md1
Accounting: ON; Enforcement: ON
Inode: #67 (2 blocks, 2 extents)
對組設置quota
xfs_quota -x -c "timer -u -b 14days" /backup 設置quota grace time
獲取幫助
xfs_quota -x -c "help limit"
xfs_quota -x -c "help report"
三、quota關閉
quotaoff 選項 分區名
-a 根據/etc/mtab文件關閉所有分區的磁盤配額(不寫分區名)
-u 關閉用戶的磁盤配額
-g 關閉組的磁盤配額
-v 顯示啟動過程信息
如果想下次開機時不再啟動,最好還是在/etc/fstab文件中修改一下比較好。以上是quota相關的設置。
linux之高級文件系統管理