磁盤配額的概念
quota 磁盤配額功能只在指定的檔案系統(磁區)內有效,未設定配額的檔案系統不受限制,
quota 針對指定的用戶賬號、組賬號進行限制,其他用戶或組不受影響,
磁盤配額可以進行兩方面的限制:
磁盤容量
檔案數量
磁盤容量:限制用戶能夠使用的磁盤資料塊(block)大小,也就是限制磁盤空間大小, 默認單位為 KB,
檔案數量:限制用戶能夠擁有的檔案個數,
磁盤配額的限制方法分為軟限制和硬限制兩種,
軟限制:指設定一個軟性的配額數值(如 500MB 磁盤空間、200 個檔案) ,在固定的寬限期(默 認為 7 天)內允許暫時超過這個限制,但系統會給出警告資訊,
硬限制:指設定一個硬性的配額數值(如 1GB 磁盤空間、500 個檔案) ,而且絕對禁止用戶超 過該限值,硬限制的配額值應大于相應的軟限制值,否則軟限制值將失效,
舉例:
軟體限制為:2G
硬限制為:1G
設定磁盤配額
啟用quota磁盤配額
# 首先要通過修改組態檔“/etc/fstab”的方式啟用 quota 磁盤配額,
[root@localhost var]# vim /etc/fstab
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 0
# 將該檔案系統重新掛載
[root@localhost ~]# mount -o remount /data
# 執行 mount 命令查看已經掛載的檔案系統,檢查是否已經啟用了 usrquota 和 grpquota 功能
[root@localhost ~]# mount | grep sdb1 /dev/sdb1 on /data type ext4 (rw,usrquota,grpquota)
生成配額檔案
# quotacheck 命令可以對檔案系統進行磁盤配額檢測,發現哪些檔案系統啟用了 磁盤配額功能
并在這些檔案系統中生成配額檔案 aquota.user 和 aquota.group,
[root@localhost ~]# quotacheck -cvug /data
相關選項的作用:
-c,創建配額檔案,
-v,顯示詳細資訊,
-u,檢查用戶配額資訊,創建 aquota.user 檔案,
-g,檢查組配額資訊,創建 aquota.group 檔案,
# 將 SELinux 設為許可模式
[root@localhost ~]# setenforce 0
# 再次執行 quotacheck 命令
[root@localhost ~]# quotacheck -cvug /data
# 查看生成的配額檔案
[root@localhost ~]# ls /data
aquota.group aquota.user lost+found
編輯用戶的配額設定
# 使用 edquota 命令結合“-u”、 “-g”選項可用于編輯用戶或組的配額設定,
# 創建 financial 組,創建用戶 jerry,將 financial 指定為 jerry 的基本組,
[root@localhost ~]# edquota -u jerry //設定用戶 jerry 的磁盤配額
# Filesystem:表示本行配置對應的檔案系統(磁區),即配額的作用范圍,
# blocks:表示當前已使用的磁盤容量,默認單位為 KB,該值由 edquota 程式自動計算生成,
# soft:第 3 列中的 soft 對應為磁盤容量的軟限制數值,默認單位為 KB;
# 第 6 列中的 soft 對應為檔案數量的軟限制數值位為個,
# hard:第 4 列中的 hard 對應為磁盤容量的硬限制數值,默認單位為 KB;
# 默認單 第 7 列中的 hard 對應為檔案數量的硬限制數值,默認單位為個;
# inodes:表示當前已擁有的檔案數量,該值由 edquota 程式自動計算生成,
編輯組的配額設定
# 設定 financial 組的磁盤配額
[root@localhost ~]# edquota -g financial
# 配額設定僅對基本組生效,如用戶 jerry 所屬的基本組是“financial”,所屬的附加組是“technology”
# 那么只有針對“financial”組設定的配額才對 jerry 有效,而針對“technology”組設定的配額則對 jerry 沒有限制,
激活磁盤配額
# 激活“/data”檔案系統的用戶、組配額
[root@localhost ~]# quotaon -ugv /data
/dev/sdb1 [/data]: group quotas turned on
/dev/sdb1 [/data]: user quotas turned on
# 相關選項的作用:
-u,激活用戶磁盤配額,
-g,激活組磁盤配額,
-v,顯示詳細資訊,
驗證并查看磁盤配額
# 下面使用受配額限制的用戶帳號(jerry)登錄 Linux 系統
# 并向應用了配額的檔案系統進行復制檔案等寫操作,測驗所設定磁盤配額項是否有效
# 為了方便測驗,將 用戶 jery 的基本組設為 financial,對用戶和組的磁盤配額功能一并進行測驗,
# 用 dd 命令生成指定大小的測驗檔案
# 從設備檔案/dev/zero 中復制資料到/home/jerry/test 檔案,讀取 210 個大小為 1MB 的資料塊
[root@localhost ~]# dd if=/dev/zero of=/mnt/data bs=1KB count=120
記錄了 210+0 的讀入
記錄了 210+0 的寫出
220200960 位元組(220 MB)已復制,13.3504 秒,16.5 MB/秒
[root@localhost ~]# ll -h /home/jerry
總用量 211M -rw-r--r--. 1 root root 210M 11 月 6 10:49 test
# 開放 data/的寫入權限
[root@localhost ~]#chmod 777 /data
# 查看用戶或磁區的配額使用情況
# 使用 quota 命令結合“-u” 、“-g”選項分別查看指定用戶和組的配額使用情況,
# 執行 repquota /data 查看/data 檔案系統的配額使用情況報告
關閉磁盤配額
利用 quotaoff -vug 命令關閉磁盤配額
總結:
通過 quota 磁盤配額可以方便地對單個用戶或用戶組的可用磁盤空間進行限制,使磁盤管理作業具有 更大的靈活性,
在生產環境中具體應用時還應注意,quota 是以每一個使用者,每一個檔案系統為基礎的,它不能跨 檔案系統對用戶做出了如指掌,如果使用者可能在超過一個以上的系統中建立檔案,那么必須在每一個文 件系統上分別設定 quota 配額,
另外,由于 root 用戶在 Linux 環境中具有至高無上的權限,所以無法對 root 用戶設定配額,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/156139.html
標籤:Linux
上一篇:Linux:掛載磁盤磁區
