系統管理員經常需要限制各用戶的硬碟空間, 以免硬碟被用盡。在 Linux 設定 Quota 已經不是什麼新鮮事, 但可能因為設定 Quota 大多只在新安裝系統才會做, 所以容易忘記。 以下會紀錄一下在 RHEL 及 CentOS 8 設定 Quota 的步驟。
首先安裝 quota:
# dnf -y install quota
安裝好 quota 後, 需要確認分割區使用的檔案系統, 可以用 df 查看, 例如我想設定 /home 分割區開啟 Quota:
# df -h | grep /home
/dev/sda1 1.5T 240G 1.2T 17% /home
/dev/sda1 1.5T 240G 1.2T 17% /home
然後開啟 /etc/fstab, 找到 /home 分割區那一行, 在 defaults 後面加入 uquota, gquota, 即改成類似這樣:
|
1 |
/dev/sdb1 /home xfs defaults,uquota,gquota 0 0 |
接著執行以下指令重新掛載 /home 分割區, 以及進行 Quota 設定:
# umount /home
# mount -o uquota,gquota /dev/sdb1 /home
# xfs_quota -x /home
# mount -o uquota,gquota /dev/sdb1 /home
# xfs_quota -x /home
xfs_quota 是管理 XFS 檔案系統的指令, 以下是檢查現在 quota 限額的指令:
|
1 2 3 4 5 6 |
# xfs_quota -x -c 'report -h' /home User quota on /home (/dev/sda1) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 2.5G 0 0 00 [------] |
例如要設定用戶 opencli 的 quota 為 1000M, 語法是這樣:
# xfs_quota -x -c “limit bsoft=1000M bhard=1000M opencli” /home