Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 磁碟配額 (Quota) 完整部署與管理指南

編輯:Linux 教學

前言

磁碟配額 (Disk Quota) 以檔案系統 (分區) 為單位,限制用戶/群組的磁碟空間與 inode 使用量,防止單一用戶佔滿磁碟導致服務癱瘓。本文詳細記錄從核心支援、檔案系統掛載、配額檔案建立、限額設定、寬限期配置到啟用/關閉/稽核的完整流程。

前置條件:核心與工具

  • 核心啟用 CONFIG_QUOTA、CONFIG_QUOTACTL (現代發佈版預設開啟)。
  • 安裝工具:dnf install quota -y (含 quotacheck, edquota, quotaon/off, repquota)。

部署步驟詳解

1. 修改 /etc/fstab 加入掛載選項

/dev/sda7  /home  ext4  defaults,usrquota,grpquota  1 2
# usrquota: 用戶配額
# grpquota: 群組配額
# xfs 檔案系統改用 usrquota/grpquota (同參數),但工具為 xfs_quota

2. 重新掛載生效

mount -o remount /home
# 或 reboot

3. 建立配額資料庫檔案


cd /home
touch aquota.user aquota.group
chmod 600 aquota.user aquota.group

4. 掃描建立初始配額索引 (quotacheck)


quotacheck -cug /home
# -c: 建立新檔 (忽略舊檔)
# -u: 掃描用戶
# -g: 掃描群組
# -v: 顯示進度
# 若分區為 read-write 掛載且無法卸載,加 -m 強制 (有資料不一致風險)

5. 設定用戶/群組限額 (edquota)


# 編輯用戶 user1 軟/硬限額 (區塊與 inode)
edquota -u user1
# 編輯群組
edquota -g group1

# 批量套用範本用戶 protuser 給 user1 user2 user3
edquota -p protuser user1 user2 user3

編輯器畫面說明:

  • Soft limit:軟限額,可超用但受寬限期約束。
  • Hard limit:硬限額,絕對上限,寫入失敗返回 EDQUOT。
  • 通常 Soft < Hard,給用戶緩衝空間。

6. 設定寬限期 (edquota -t)


edquota -t
# Grace period before enforcing soft limits for users:
# Time units: days, hours, minutes, seconds
# Filesystem  Block grace period  Inode grace period
# /dev/sda7   7days               7days
# 修改後存檔離開

7. 啟用配額


quotaon -uv /home   # -u 用戶 -v 顯示過程 -g 群組
# 輸出: /dev/sda7 [/home]: user/group quotas turned on

8. 驗證與報表


quota -u user1           # 查看單用戶配額
repquota -a              # 所有分區完整報表
repquota -u /home        # 僅用戶報表

維護操作

操作指令備註
暫停配額quotaoff /home不刪除 aquota.* 檔案
重新啟用quotaon /home
強制掃描 (掛載中)quotacheck -mfv /home-m 強制 RW, -f 強制建立, 建議單用戶模式
修改現有限額edquota -u user1即時生效
查看核心配額統計cat /proc/fs/quota

XFS 檔案系統特殊說明

  • XFS 內建配額,無需 quotacheck、aquota.* 檔案。
  • 掛載選項:usrquota,grpquota,prjquota (專案配額)。
  • 管理工具:xfs_quota -x -c 'limit bsoft=10g bhard=12g user1' /mount。
  • 報表:xfs_quota -x -c 'report -h' /mount。

常見坑點提醒

  • quotacheck 在配額已啟用的 RW 分區執行會警告,需加 -mf 或進入單用戶模式。
  • 軟限額 不能大於 硬限額 (邏輯上 Soft ≤ Hard)。
  • 配額僅限制該分區用量,跨分區不互相影響。
  • 容器環境需確保核心支援 quotactl 且掛載傳遞正確。

總結

磁碟配額是多用戶共享儲存環境的基礎防線。遵循「掛載選項 → 建立索引 → 設定軟/硬限額 → 寬限期 → 啟用 → 定期稽核」標準流程,配合 repquota 納入監控告警,即可有效避免磁碟寫滿事故。

Copyright © Windows教程網 All Rights Reserved