作者回复: @莫名, 的确,我一直使用的是xfs, 对于ext4 quota的功能没有测试过。 不过我之前搜索过, ext4在2016年就应该支持project quota了。我们可以一起再确认一下。 ``` commit 689c958cbe6be4f211b40747951a3ba2c73b6715 Author: Li Xi <pkuelelixi@gmail.com> Date: Fri Jan 8 16:01:22 2016 -0500 ext4: add project quota support This patch adds mount options for enabling/disabling project quota accounting and enforcement. A new specific inode is also used for project quota accounting. [ Includes fix from Dan Carpenter to crrect error checking from dqget(). ] Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Jan Kara <jack@suse.cz>
作者回复: @Geek2014 对的,我们已经使用containerd快两年了。 这是之前我们组做的分享: https://www.infoq.cn/article/odslclsjvo8bnx*mbrbk
作者回复: @Sun, 谢谢,很好的补充。 k8s 通过du来检查ephemeral-storage相关volume/目录的大小,然后如果超出limit就evict pod。 du的开销会比较大,evict pod比较适合stateless pod。不过最新的k8s应该在用filesystem quota来限制emptyDir的大小了。
作者回复: cgroup里没有对磁盘容量使用限制的模块。
作者回复: 如果用户需要使用大容量的磁盘空间,需要使用volume. Quota主要来限制容器的rootfs, 这个rootfs一般是在host的磁盘会和别的容器共享,所以需要对它做限制。
作者回复: 看moby(docker)代码里,docker自己对这个目录自己做了一个随机数的生成,具体原因不清楚。
作者回复: 我没有在ext4上测试过,不过通过内核信息,还有网上别人的尝试,ext4应该也是支持(project)quota的。 https://discuss.linuxcontainers.org/t/how-do-i-set-up-the-project-quota-needed-for-limiting-container-storage-size-for-the-dir-backend-on-ubuntu-18-04/7311 ``` commit 689c958cbe6be4f211b40747951a3ba2c73b6715 Author: Li Xi <pkuelelixi@gmail.com> Date: Fri Jan 8 16:01:22 2016 -0500 ext4: add project quota support This patch adds mount options for enabling/disabling project quota accounting and enforcement. A new specific inode is also used for project quota accounting. [ Includes fix from Dan Carpenter to crrect error checking from dqget(). ] Signed-off-by: Li Xi <lixi@ddn.com> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca> Reviewed-by: Jan Kara <jack@suse.cz>
作者回复: eBay cloud team. 我们一直在招人的。