4

我使用 LXC 在 ubuntu 服务器中创建了两个容器(比如 TestOneContainer 和 TestTwoContainer)。现在 lxc 文件系统位于 /home 文件夹中,两个容器也使用 /home 文件夹。在安装 Ubuntu 服务器操作系统时,我为这两个容器创建了两个分区(TestOneContainer 为 100 GB,TestTwoContainer 为 200 GB)。我想在 100 GB 空间中安装 TestOneContainer,在 200 GB 空间中安装 TestTwoContainer。我怎样才能做到这一点?

我已经从这个链接尝试了这些命令

创建并符号链接两个目录:

sudo mkdir /srv/lxclib /srv/lxccache
sudo rm -rf /var/lib/lxc /var/cache/lxc
sudo ln -s /srv/lxclib /var/lib/lxc
sudo ln -s /srv/lxccache /var/cache/lxc

或者,使用绑定挂载:

sudo mkdir /srv/lxclib /srv/lxccache
sudo sed -i '$a \
/srv/lxclib /var/lib/lxc    none defaults,bind 0 0 \
/srv/lxccache /var/cache/lxc none defaults,bind 0 0' /etc/fstab
sudo mount -a

但是这些命令是将 lxc 挂载在不同的文件系统中,而不是 TestOneContainer 或 TestTwoContainer。

4

2 回答 2

1

假设 /mnt/sd1 下有 100GB 可用空间,/mnt/sd2 下有 200GB,并且您想将它们挂载到 /work 下的容器中,请使用以下命令将其挂载到容器:

#create mount point from host
sudo mkdir /var/lib/lxc/TestOneContainer/rootfs/work
sudo mkdir /var/lib/lxc/TestTwoContainer/rootfs/work

#mount them from host
sudo mount --bind /mnt/sd1/ /var/lib/lxc/TestOneContainer/rootfs/work
sudo mount --bind /mnt/sd2/ /var/lib/lxc/TestTwoContainer/rootfs/work

然后启动容器,你会看到 /work 使用那个大空间

df -h
于 2014-01-03T23:51:16.220 回答
1

您应该阅读此LXC 源代码,特别是该部分

主机设置--> 为容器存储使用单独的文件系统

有一个非常明确的解释。

于 2014-02-24T16:42:54.463 回答