我有一个设置,需要运行多个应用程序,每个应用程序都在不同的容器中。我正在尝试使用 systemd-nspawn 设置“磁盘配额”系统,以限制每个应用程序可以使用的磁盘空间。我正在使用 BTRFS,我以类似的方式考虑 CPUQuota 选项。但是,我在 systemd-nspawn 中找不到正确的选项。我对这个容器东西还不熟悉,所以我能想到的一个方法是通过服务文件启动容器,并通过“machinectl set-limit”命令更改其大小。我走在正确的轨道上吗?
答案1
BTRFS 配额是在 之上完成的subvolumes
。一种可能的方法是,在绑定到容器之前创建子卷并设置其配额。
我希望下面的链接能帮到你:
- https://wiki.archlinux.org/index.php/btrfs
- https://wiki.archlinux.org/index.php/User:I2Oc9/Btrfs_subvolumes
这不像放在文件CPUQuota = 10%
上那么简单.service
,但应该可以工作。您可以将此预热过程包装在安装脚本中,以使其更顺畅并减少代码重复。