磁盤配額——Linux做爲一個多用戶的操做系統,實際生活中會發生多人共同使用一個磁盤的狀況,,爲了保證一個磁盤的有效利用,必須對磁盤進行使用率的限制,所以磁盤配額(quota)會是一個很是有用的工具node
目錄centos
quota的使用限制bash
quota的設置內容(xfs)app
使用quota的案例(重點)ide
1、quota的使用限制
工具
對EXT系列文件系統,quota僅能針對整個文件系統進行設計,沒法對單一的目錄進行磁盤配額;而在xfs的文件系統中,可使用quota對目錄進行磁盤配額,所以在進行磁盤配額前,必定要對文件系統進行檢查。centos7
核心必須支持quota,centos7默認支持quota功能。spa
只對通常用戶有效,由於root擁有所有的磁盤空間。操作系統
若啓用SELinux功能,不是全部的目錄都能設定quota,默認quota僅能對/home進行設定。設計
2、quota的設置內容(xfs)
分別針對用戶、羣組、個別目錄(user,group,project)進行磁盤配額
限制inode和block的用量,既然quota是管理文件系統的,那麼對inode和block的限制也在情理之中
soft/hard,表示具體限制的數值大小,當磁盤容量達到soft時,系統會發出警告,要求下降至soft值如下,當達到hard時,系統會禁止繼續增長新的文件。
寬限時間(通常爲7天),當某一用戶使用磁盤容量達到soft時,系統會給出一個grace time,若超過這個天數,soft值會變成hard值並禁止該用戶對磁盤增長新的文件
3、使用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