1 理論基礎
1.1 Quota的概念
Quota即限額的意思,用來限制用戶、組、文件夾的空間使用量。
1.2 用途范例
- web服務器控制站點可用空間大小
- mail服務器控制用戶可用空間大小
- file服務器控制用戶可用空間大小
1.3 限制模式
- 根據用戶(UID)控制每個用戶的可用空間大小
- 根據組(GID)控制每個組的可用空間大小
- 根據目錄(directory,project)控制每個目錄的可用空間大小(xfs可用project模式)
1.4 使用條件
- EXT格式只能對文件系統進行限制,xfs可用對project進行限制
- 內核需要預開啟對Quota支持
- Quota限制只對非管理員有效
- 默認只開啟對/home使用Quota,其他需要配置SELinux
1.5 限制的可配置對象
- 根據用戶(User)、組(Group)、特定目錄(project)
- 容量限制或文件數量限制(block/inode)
- 限制值soft(超過空間用量給予警告和寬限時間)和hard(超過空間用量則剝奪用戶使用權)
- 寬限時間(grace time),空間用量超出soft限定而未達到hard限定給予的處理時限(超出時限soft值變成hard值)
2 實際操作
2.1 配置前准備
2.1.1 建立用戶組
groupaddgp12.1.2 添加組成員
useradd-ggp1user1echo"pwd1"|passwd--stdinuser1useradd-ggp1user2echo"pwd1"|passwd--stdinuser22.1.2 創建用戶目錄並變更所有組
mkdir/home/gp1chgrpgp1/home/gp1chmod2770/home/gp12.1.2 檢查文件系統類型
df-hT/home顯示如下:
FilesystemTypeSizeUsedAvailUse%Mountedon/dev/mapper/centos-homexfs5.0G67M5.0G2%/home2.2 啟用文件系統的quota功能
2.2.1 編輯fstab
vim/etc/fstab修改內容如下:
/dev/mapper/centos-home/homexfsdefaults,usrquota,grpquota00注,類型如下:
- 根據用戶(uquota/usrquota/quota)
- 根據組(gquota/grpquota)
- 根據目錄(pquota/prjquota)(不能與grpquota同時設定)
2.2.2 卸載並重新掛載
umount/homemount-a2.2.3 檢查
mount|grephome顯示如下:
/dev/mapper/centos-homeon/hometypexfs(rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)2.3 查閱Quota信息
2.3.1 命令格式
xfs_quota-x-c"子命令"[掛載點]選項:-x:專家模式,使用-x才能使用-c-c:子命令選項子命令:print:列出當前系統參數等df:類似於df,選項有-b(block)-i(inode)-h(加上單位)等report:列出quota項目,包含-ugr(user/group/project)和-bi等state:列出當前支持quota文件系統信息和相關的啟動項2.3.2 查詢支持Quota的分區
xfs_quota-x-c"print"2.3.3 查詢Quota目錄的使用情況
xfs_quota-x-c"df-h"/hom2.3.4 顯示用戶的Quota的限制信息
xfs_quota-x-c"report-ubih"/home注,顯示項目加參數“-u”
2.4 配置限制
2.4.1 命令格式:
xfs_quota-x-c"limit[-ug]b[soft|hard]=Ni[soft|hard]=Nname"xfs_quota-x-c"timer[-ug][-bir]Ndays"選項:limit:限制的對象,包括user/group/projectbsoft/bhard:block的soft/hard限制值isoft/ihard:inode的soft/hard限制值name:用戶和組的名稱timer:寬限時間(gracetime)2.4.2 根據用戶和塊大小限制
xfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser1"/homexfs_quota-x-c"limit-ubsoft=250Mbhard=300Muser2"/home檢查配置:
xfs_quota-x-c"report-ubih"/home2.4.3 根據組和塊大小限制
xfs_quota-x-c"limit-gbsoft=950Mbhard=1Ggp1"/home檢查配置:
xfs_quota-x-c"report-gbih"/home2.4.5 配置寬限時間
xfs_quota-x-c"timer-ug-b14days"/home驗證配置:
xfs_quota-x-c"state"/home2.4.6 驗證Quta
su-user1ddif=/dev/zeroof=123.imgbs=1Mcount=310ll-hexitxfs_quota-x-c"report-ubh"/home2.5 根據project限制
2.5.1 修改fstab
vim/etc/fstab2.5.2 卸載掛載並重新掛載
umount/homemount-a2.5.3 檢查取消
xfs_quota-x-c"state"2.5.4 創建專案存儲位置
mkdir/home/proj012.5.5 指定項目識別號
echo"01:/home/proj01">>/etc/projects2.5.6 指定項目名稱並關聯項目識別號
echo"proj01:01">>/etc/projid2.5.7 初始化項目名稱
xfs_quota-x-c"project-sproj01"檢查配置:
xfs_quota-x-c"print"/homexfs_quota-x-c"report-pbih"/home2.5.8 根據塊大小配置限制
xfs_quota-x-c"limit-pbsoft=450Mbhard=500Mproj01"/home檢查配置:
xfs_quota-x-c"report-pbih"/home2.5.9 驗證配置
ddif=/dev/zeroof=/home/myquota/123.imgbs=1Mcount=5102.6 Quota的管理
2.6.1 臨時禁用Quota限制
xfs_quota-x-c"disable-up"/home檢查禁用:
xfs_quota-x-c"state"/home驗證禁用:
ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=520查閱Quota狀態:
xfs_quota-x-c"report-pbh"/home清理測試文件:
rm-rf/home/user1/123.img2.6.2 臨時啟動Quota限制
xfs_quota-x-c"enable-up"/home檢驗啟動:
ddif=/dev/zeroof=/home/user1/123.imgbs=1Mcount=5202.6.3 完全關閉Quota限制
xfs_quota-x-c"off-up"/home測試關閉:
xfs_quota-x-c"enable-up"/home恢復關閉:
umount/home;mount-a2.6.4刪除Quota限制(無法恢復)
xfs_quota-x-c"off-up"/homexfs_quota-x-c"remove-p"/home驗證刪除:
xfs_quota-x-c"report-phb"/home2.7 利用軟連接實現Quota
1)啟用/home分區的Quota功能
編輯fstab
vim/etc/fstab修改內容如下:
/dev/mapper/centos-home/homexfsdefaults,usrquota,grpquota002)創建軟連接到Quota分區
ln-s/home/mail/var/spool/mail-------------------------------------------------------------
參閱文檔
-------------------------------------------------------------
http://linux.vbird.org/linux_basic/0420quota.php
http://www.centoscn.com/CentOS/config/2013/1103/2043.html
http://www.jb51.net/os/RedHat/400503.html
http://xxxxxx/Linuxjc/1155963.html TechArticle