2021-05-12 14:32:11
在Linux上建立磁碟配額
磁碟配額的概述及管理
為什麼建立磁碟配額
在Linux根分割區的磁碟空間耗盡時,Linux將無法再建立新的檔案(包括程式執行的臨時檔案),從而導致服務程式崩潰,系統無法啟動等故障現象。
為了避免出現類似問題,可以設定啟用磁碟配額功能,對使用者在指定檔案系統(分割區)中使用磁碟空間、檔案數量進行限制,以防止個別使用者惡意或無意間佔用大量磁碟空間,從而保證系統儲存空間的穩定性和持續可用性。
使用磁碟配額的前提條件
設定磁碟配額,需要安裝 quota 軟體包,用於設定和管理磁碟配額,在RHEL 6中,系統預設安裝了 quota 軟體包。
磁碟配額的作用範圍
quota軟體設定的磁碟配額功能,只在指定的檔案系統(分割區)內有效,使用者使用其他未設定配額的檔案系統時,將不受限制。
磁碟配額的限制物件
quota 主要針對系統中的指定使用者賬號、組賬號進行限制,沒有被設定限額的使用者或組將不受影響。對組賬號設定配額後,組內所有成員使用的磁碟容量、檔案數量的總和不能超過限制。
磁碟配額的限制型別
# 磁碟容量:限制使用者能夠使用的磁碟空間的大小,預設單位為KB
# 檔案數量:限制使用者能夠使用的檔案個數
磁碟配額的限制方法
# 軟限制:指定一個軟性的配額數值(如100MB的磁碟空間、80個檔案),在固定的寬限期限(預設為七天)內允許超過這個限制,但系統會給出警告資訊
# 硬限制:指定一個硬性的配額數值(如120MB的磁碟空間、100個檔案),是絕對禁止使用者超過限制值,當達到硬限制值時,系統會給出警告資訊並禁止繼續寫入資料。硬限制的配額值應該大於軟限制值,否則軟限制將失效
實驗:
下面將上篇建立的 yang 邏輯卷 /dev/ysf/yang 掛載到 /mailbox 目錄下 ,然後在該檔案中設定實現磁碟配額功能。
1.以支援磁碟配額功能的方式掛載檔案系統
將usrquota, grpquota掛載引數寫入到“/etc/fstab”檔案中。
# chmod 777 /mailbox //為後續測試方便,允許任何使用者寫入資料
# vim /etc/fstab //修改 yang 邏輯卷的掛載設定
/dev/ysf/yang /mailbox ext4 defaules,usrquota,grpquota 0 0
2.檢測磁碟配額並生成配額檔案
使用 quotacheck 命令可以對指定的檔案系統進行磁碟配額檢測,也可以用來建立配額檔案,以便儲存使用者、組在該分割區的配額設定
例如:執行以下操作將掃描系統中的所有檔案系統,並在支援配額的檔案系統中建立配額檔案
# quotacheck -augcv
-a 表示掃描所有分割區,如果不使用,將必須指定一個分割區或掛載點目錄作為命令引數
-u 表示檢測使用者配額資訊
-g 表示檢測組配額資訊
-c 表示建立新的配額檔案
-v 表示顯示命令執行過程中的細節資訊
# ls -l /mailbox/aquota.*
可以看到新建立的組態檔,包括“aquota.user”、“aquota.group”,分別用於儲存使用者、組的配額設定,組態檔儲存在該檔案系統根下,預設許可權為600
3.編輯使用者和組賬號的配額設定
使用 edquota 命令結合 -u、-g 選項可用於編輯使用者和組的配額設定,(預設呼叫 vi 作為編輯程式),可設定磁碟容量、檔案大小的軟、硬限制數值。
例如:執行以下操作可以對使用者 zhangsan 的配額進行編輯
# edquota -u zhangsan
Filesystem blocks soft hard inodes soft hard
/dev/mapper/ysf-yang 0 0 0 0 0 0
Filesystem:表示本行設定記錄檔案對應的檔案系統(分割區),即配額的作用範圍
blocks:表示使用者已使用的磁碟容量,預設單位為KB
inodes:表示使用者當前已擁有的檔案數量
soft:第3列對應為磁碟容量的軟限額數值,單位KB;第6列對應檔案數量軟限額數值,單位個
hard:第3列對應為磁碟容量的硬限額數值,單位KB;第6列對應檔案數量硬限額數值,單位個
例如:若要為 zhangsan 設定配額,磁碟容量軟限制為80MB、硬限制為100MB,檔案數量軟限制40個、硬限制40個,可執行以下操作
# edquota -u zhangsan
Filesystem blocks soft hard inodes soft hard
/dev/mapper/ysf-yang 0 80000 100000 0 40 50
可以設定軟限制的寬限期限,預設為7天,可以修改。
例如:可以將寬限期限改為10天。
# edquota -t
Filesystem Block grace period Inode grace period
/dev/mapper/ysf-yang 10days 10days
4.啟動檔案系統的磁碟配額功能
啟動和關閉檔案系統的磁碟配額功能分別使用 quotaon、quotaoff 命令執行,需要指定裝置檔名或檔案系統的掛載點作為引數。quotaon 命令使用的選項與 quotacheck 的選項類似。
例如:執行以下操作可啟用“/mailbox”檔案系統的使用者、組磁碟配額功能,並顯示命令執行的過程資訊。
# quotaon -ugv /mailbox
5.檢視使用者或分割區的配額使用情況
可使用 quota 命令、repquota命令,其中,quota 命令可以結合 -u、-g 選項分別檢視指定使用者和組的配額使用情況;而 repquota 命令主要指定檔案系統輸出配額使用情況報告,結合 -a 選項可檢視所有可用分割區的配額使用情況報告。
例如:檢視使用者賬號 zhangsan、組賬號 users 的配額使用情況
# quota -u zhangsan
# quota -g users
檢視 /mailmox 檔案系統的配額使用情況
# repquota /mailmox
6.驗證磁碟配額功能
可使用 dd 轉換工具,dd 命令是裝置轉換和復制命令
例如:向 /mailmox 目錄下寫入一個名為 a.txt 的測試檔案,大小為10MB(分10次讀取,每次1MB),複製來源為裝置 /dev/zero
# dd if=/dev/zero of=/mailmox/a.txt bs=1M count=10
if= 指定輸入裝置(或檔案)
of= 指定輸出裝置(或檔案)
bs= 指定讀取資料塊的大小
count= 指定讀取資料塊的數量
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-07/145865.htm
相關文章