Linux學習—磁盤配額工具quota
目錄
quota的使用限制
quota的設置內容(xfs)
使用quota的案例(重點)
一、quota的使用限制
對EXT系列文件系統,quota僅能針對整個文件系統進行設計,無法對單一的目錄進行磁盤配額;而在xfs的文件系統中,可以使用quota對目錄進行磁盤配額,因此在進行磁盤配額前,一定要對文件系統進行檢查。
核心必須支持quota,centos7默認支持quota功能。
只對一般用戶
若啟用SELinux功能,不是所有的目錄都能設定quota,默認quota僅能對/home進行設定。
二、quota的設置內容(xfs)
分別針對用戶、群組、個別目錄(user,group,project)進行磁盤配額
限制inode和block的用量,既然quota是管理文件系統的,那麽對inode和block的限制也在情理之中
soft/hard,表示具體限制的數值大小,當磁盤容量達到soft時,系統會發出警告,要求降低至soft值以下,當達到hard時,系統會禁止繼續增加新的文件。
寬限時間(一般為7天),當某一用戶使用磁盤容量達到soft時,系統會給出一個grace time,若超過這個天數,soft值會變成hard值並禁止該用戶對磁盤增加新的文件
三、使用quota的案例
①編寫腳本/app/bin/adduser.sh,創建用戶myquota1,myquota2,myquota3,myquota4,myquota5,密碼都為centos。都位於myquotagrp這個組。這五個用戶有一個共享目錄/app/home/myquota,並且只有myquotagrp這個組的所有成員對這個共享目錄擁有全部權限,其他人沒有任何權限。
1 #!/bin/bash 2 groupadd myquotagrp 3 for num in {1..5} 4 do 5 useradd -d /app/home/myquota$num -G myquotagrp myquota$num 6 echo "centos" |passwd --stdin myquota$num 7 done 8 mkdir /app/myquota 9 chgrp myquotagrp /app/myquota 10 chmod 2770 /app/myquota
查看效果如下:
②對文件系統進行檢測並開啟文件系統支持
由於centos7默認是xfs文件系統並且內核支持quota功能,所以用centos7的/app目錄進行試驗,
對於xfs文件系統,由於quota功能在掛載一開始就決定了,所以mount命令的-o remount選項不能生效,只能通過修改/etc/fstab文件進行quota功能的開啟,然後卸載(umount /app)再重新掛載(mount /app), 修改內容如下:
針對quota主要有三個類別設置:
·usrquota 用戶
·grpquota 群組
·prjquota 單一目錄,但是不能和grpquota同時存在
③觀察quota的管理數據
我們先來看這條指令:xfs_quota
xfs_quota -x -c "command" [掛載點]
-x 專家模式,後續才可以跟-c選項
-c 後邊跟命令
command: print 簡單列出主機內文件系統的信息
df 和原來的df命令的一樣,但是比原來的df顯示的數值更加精確
report 後邊必須跟支持quota的載入點,列出quota的項目設置
report後可以跟-u -g -p -i -b -h等選項
後面跟-u -g -p的話值顯示相對應的信息,而不是全部user/group/project列出來,-i顯示inode的使用情況,-h表示以人們便於閱讀的單位(例如KB,MB等)
state 列出支持quota功能的文件系統的quota狀態(user/group/project的開啟狀態)
④設置限制值的大小
設置myquota1,myquota2,myquota3,myquota4,myquota5的soft/hard為250M/300M限制,grace time設置為14天。
xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota1" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota2" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota3" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota4" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota5" /app xfs_quota -x -c "timer -u -b 14days" /app
設置之後的狀態:
之後切到myquota1用戶實驗限額結果:
在家目錄下創建310M的文件,顯示報錯,同時查看家目錄下新創建的文件的大小實際是300M
⑤對project的限制(/app/myquota目錄的限制)
第一步:設定目錄,項目名稱(project),項目ID
其中需要配置兩個相關的文件/etc/projects,/etc/projid(默認沒有這兩個文件,需要創建,如果文件名出錯後邊的會失敗)
echo "11:/app/myquota" > /etc/projects #設置項目ID和目錄的對應關系 echo "myquotaproject:11" > /etc/projid #設置項目名稱和項目ID的對應關系 xfs_quota -x -c "project -s myquotaproject" #初始化項目名稱
第二步:對目錄設定具體限制值,將/app/myquota設置為450M/500M
xfs_quota -x -c "limit -p bsoft=450M bhard=500M myquotaproject" /app
Linux學習—磁盤配額工具quota