Ubuntu
在沒有 live-cd 的實時根 EXT4 文件系統上的項目配額
如何在 Ubuntu 18.04 上為我的實時根文件夾設置項目配額,即 ext4?
ext4 文件系統上特定於項目配額的文件基本上不存在,我嘗試了這個:
- 安裝配額
apt install quota -y
- 放入root /
prjquota
並/etc/fstab
重新啟動,文件系統以只讀方式啟動,沒有項目配額(從這裡開始只使用 prjquota 而不是使用者和組配額)- 也被執行並且找到
find /lib/modules/
uname -r-type f -name '*quota_v*.ko*'
了兩個核心模組(來自本教程)/lib/modules/4.15.0-96-generic/kernel/fs/quota/quota_v2.ko``/lib/modules/4.15.0-96-generic/kernel/fs/quota/quota_v1.ko
- 放入
GRUB_CMDLINE_LINUX_DEFAULT="rootflags=prjquota"
,/etc/default/grub
執行update-grub
並重新啟動,機器不再出現。- 進入執行和重新啟動確實顯示並
rootflags=quota
在root 上啟用,但它不適用於或設置為 rootflagGRUB_CMDLINE_LINUX="... rootflags=quota"``update-grub``quota``usrquota``prjquota``pquota``project
我需要LXD的 DIR 儲存後端來限制容器儲存大小。我還能嘗試什麼?
有人告訴我,跑步
tune2fs -O project -Q prjquota /dev/sdaX
對於在設備上啟用 Project Quota 是絕對必要的。因此,我尋找了一種不需要關閉或使用 live-cd 的解決方案,因為這需要太多時間,而且在我使用 VPS 提供商的經驗中並不總是能很好地工作。而且我也希望能把這些步驟變成腳本,目前還沒有成功。多虧了另一個問題,我才能在 Ubuntu 18.04 上整理出一個對我有用的解決方案。你確實需要大約。4GB 的 RAM 來執行此操作(當然還有 4.4 版之後的核心)。
資料來源:
- 如何在不啟動 livecd 的情況下縮小根文件系統
- http://www.ivarch.com/blogs/oss/2007/01/resize-a-live-root-fs-a-howto.shtml
1. 製作 RAMdisk 文件系統
mkdir /tmp/tmproot mount none /tmp/tmproot -t tmpfs -o rw mkdir /tmp/tmproot/{proc,oldroot,sys} cp -a /dev /tmp/tmproot/dev cp -ax /{bin,etc,opt,run,usr,home,mnt,sbin,lib,lib64,var,root,srv} /tmp/tmproot/
2.切換root到新的RAMdisk文件系統
cd /tmp/tmproot unshare -m pivot_root /tmp/tmproot/ /tmp/tmproot/oldroot mount none /proc -t proc mount none /sys -t sysfs mount none /dev/pts -t devpts
3. 在 22 以外的另一個埠上重新啟動 SSH 並重新連接另一個會話
nano /etc/ssh/sshd_config
- 將埠改為2211
- 重啟 SSH
/usr/sbin/sshd -D &
- 從 2211 再次連接
4. 使用 /oldroot 或 /dev/sdaX 殺死程序
fuser -km /oldroot fuser -km /dev/sdaX
5. 解除安裝 /dev/sdaX 並應用項目配額功能
umount -l /dev/sdaX tune2fs -O project -Q prjquota /dev/sdaX
6. 使用項目配額掛載
mount /dev/sda2 -o prjquota /oldroot
7. 把東西放回去
pivot_root /oldroot /oldroot/tmp/tmproot umount /tmp/tmproot/proc mount none /proc -t proc cp -ax /tmp/tmproot/dev/* /dev/ mount /dev/sda1 /boot ### This might be different for you reboot -f
8.重啟後開啟配額
apt install quota -y quotaon -Pv -F vfsv1 /
9.檢查配額是否在root上
repquota -Ps /
10.讓它持久化
- 放入
prjquota
root的選項中/etc/fstab
享受!