LXD容器內配額

LXD容器內配額

我想在 LXD 容器內啟用配額,以將每個用戶限制為 10GB 儲存。但是我收到以下錯誤:

root@test:~# quotacheck -avug
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.

如何在LXD容器內啟用配額?

以下是我的主機配置:

$ lxc config show test
architecture: x86_64
config:
  raw.lxc: lxc.rootfs.options=usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0
  security.privileged: "true"
  volatile.base_image: 08bbf441bb737097586e9f313b239cecbba96222e58457881b3718c45c17e074
  volatile.eth0.hwaddr: 00:16:3e:d3:ab:f7
  volatile.idmap.base: "0"
  volatile.idmap.next: '[]'
  volatile.last_state.idmap: '[]'
  volatile.last_state.power: RUNNING
devices:
  root:
    path: /
    type: disk
ephemeral: false
profiles:
- default
stateful: false
description: ""

$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

以下是我的容器配置:

root@test:~# cat /etc/fstab 
LABEL=cloudimg-rootfs   /    ext4   defaults    0 0

root@test:~# cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

答案1

我一直在尋找自己同樣的問題。這就是我的結論。

檔案系統支援的功能有在文件中

因此,從容器內部獲得配額支援的唯一方法是使用 BTRFS,但我個人不想使用它。

在 ZFS 上,您只能從主機設定配額,而無法從來賓設定配額,因為 LXD 中的 ZFS 支援不會選取「容器內可用的儲存驅動程式」方塊。有一個關於它的問題。關於從主機設定的使用者和群組配額。我還沒有測試過,想知道它是如何支援的,以及是否需要從來賓到主機的 UID/GID 映射。但對此還不確定。

在 ZFS 上,ZVOL 確實存在,並且可以格式化為 ext4,它們在來賓端被視為標準區塊設備,因此可用於標準 Linux 配額。但這些不能用於 rootfs,請參閱 GitHub 上的問題。您仍然可以將其安裝在具有使用者資料以檢查配額的區域(例如/home、/var)。

然後是 ZFS ZVOL 上的 libvirt 虛擬化,它速度較慢,但在 Linux 配額方面可以按預期工作。

建議始終將 ZVOL 設為所需的最小大小,因為擴展比收縮容易得多,後者需要停機。

答案2

您應該在初始化時選擇zfs或作為儲存後端btrfsLXD支援磁碟配額。其他儲存後端不支援配額。

相關內容