如何完成在Ubuntu18.04上为我的活动根文件夹ext4设置项目配额?
特定于ext4文件系统上的项目配额的文档基本上不存在,我试过这样做:
apt install quota -y安装配额prjquota放入根/并重新引导的/etc/fstab中,文件系统被引导为只读,没有项目配额(从这里只使用Put配额,而不是用户和组配额)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放入运行update-grub并重新启动的GRUB_CMDLINE_LINUX="... rootflags=quota"中确实显示在根上启用了quota和usrquota,但它不适用于设置为根标志的prjquota、pquota或project。我需要这样做,以便LXD的DIR存储后端能够限制容器存储的大小。我还能做什么呢?
发布于 2020-04-26 13:27:33
有人告诉我,运行tune2fs -O project -Q prjquota /dev/sdaX对于在设备上启用项目配额是绝对必要的。因此,我寻找一个不需要关闭或使用live的解决方案,因为这需要太多的时间,并且在我与VPS提供者的经验中并不总是工作得很好。我也希望我能把这些步骤变成一个剧本,到目前为止还没有完成。
多亏了另一个问题,我才能在Ubuntu18.04上找到一个适合我的解决方案。要做到这一点,您确实需要大约4GB的RAM (当然,在4.4版本之后还需要内核)。
资料来源:
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/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 devptsnano /etc/ssh/sshd_config/usr/sbin/sshd -D &重新启动SSH终止进程
fuser -km /oldroot
fuser -km /dev/sdaXumount -l /dev/sdaX
tune2fs -O project -Q prjquota /dev/sdaXmount /dev/sda2 -o prjquota /oldrootpivot_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后打开配额
apt install quota -y
quotaon -Pv -F vfsv1 /上是否有配额
repquota -Ps /prjquota放入/etc/fstab中的根选项中享受吧!
https://unix.stackexchange.com/questions/578349
复制相似问题