我试图在Google Compute Engine上使用Ubuntu 16.04 LTS实现磁盘用户和组配额,但是直到现在我还是没有成功。
配额允许您指定磁盘存储两个方面的限制:用户或一组用户可能拥有的inode的数量; 以及可以分配给用户或一组用户的磁盘块的数量。
配额背后的想法是,用户被迫停留在磁盘消耗限制之下,消除了在系统上消耗无限磁盘空间的能力。
sudo -s apt-get -y install quota quotatool nano /etc/fstab
然后我用
LABEL=cloudimg-rootfs / ext4 defaults,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 0
然后我尝试激活配额:
mount -o remount / quotacheck -avugm quotaon -avug quotaon: using //quota.user on /dev/sda1 [/]: No such process quotaon: Quota format not supported in kernel
配额模块不在内核中,我创build用户和组配额。
touch /aquota.user /aquota.group chmod 600 /aquota.* mount -o remount / quotacheck -avugm quotaon -avug quotaon: using //quota.user on /dev/sda1 [/]: No such process quotaon: Quota format not supported in kernel
没有工作。
我记得AWS EC2中使用的一种方法:
apt-get -y install linux-image-extra-virtual echo quota_v1 >> /etc/modules echo quota_v2 >> /etc/modules reboot sudo -s cat /proc/modules | grep -i quota
没什么,也没有工作。
modprobe quota_v1 modprobe: FATAL: Module quota_v1 not found in directory /lib/modules/4.8.0-46-generic quotaon -pa group quota on / (/dev/sda1) is off user quota on / (/dev/sda1) is off
我在EC2上完成了这项工作,但Google Compute Engine没有运气。 任何想法我可以尝试更多?
好的,find一个解决scheme。 我不需要在EC2上安装linux-generic,但似乎需要在Google Compute Engine上进行操作。 所有获得配额工作的程序:
sudo -s apt-get -y install quota quotatool nano /etc/fstab
编辑fstab:
LABEL=cloudimg-rootfs / ext4 defaults,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 0
检查丢失的包裹。
dpkg -s linux-generic dpkg-query: package 'linux-generic' is not installed and no information is available Use dpkg --info (= dpkg-deb --info) to examine archive files, and dpkg --contents (= dpkg-deb --contents) to list their contents.
我们可以安装完整的缺lesslinux-generic软件包:
apt-get -y install linux-generic
或者只有额外的套餐(我更喜欢这个):
apt-get -y install linux-image-generic apt-get -y install linux-headers-generic apt-get -y install linux-image-extra-`uname -r`
我们需要添加配额模块以开始启动:
echo quota_v1 >> /etc/modules echo quota_v2 >> /etc/modules reboot
检查它是否工作:
sudo -s cat /proc/modules | grep -i quota quota_v1 16384 0 - Live 0xffffffffc037c000 quota_v2 16384 2 - Live 0xffffffffc0377000 quota_tree 20480 1 quota_v2, Live 0xffffffffc0250000 quotaon -pa group quota on / (/dev/sda1) is on user quota on / (/dev/sda1) is on
两个配额都被激活。
Ok Fran,试试这个:
cat /proc/modules | grep -i quota
[…]
quota_v1 16384 0 – Live 0xffffffffc037c000
quota_v2 16384 2 – Live 0xffffffffc0377000
quota_tree 20480 1 quota_v2,Live 0xffffffffc0250000
[…]
quotaon -pa
[…]
/(/ dev / sda1)上的组配额已closures
/(/ dev / sda1)上的用户配额已closures
[…]
quotacheck -avugm
[…]
quotacheck:不能统计旧的用户配额文件//quota.user:没有这样的文件或目录。 用法不会被减去。
quotacheck:不能统计旧的组配额文件//quota.group:没有这样的文件或目录。 用法不会被减去。
[…]
quotaon -avug
[…]
/ dev / sda1 [/]:打开组配额
/ dev / sda1 [/]:打开用户配额
[…]