另一个分区上的lxc容器

时间:2013-11-17 17:50:03

标签: mount ubuntu-server lxc

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

我已尝试过此link

中的这些命令

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

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

或使用bind mounts:

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。

2 个答案:

答案 0 :(得分:1)

假设100 GB可用空间位于/ mnt / sd1下,200 GB位于/ mnt / sd2下,并且您希望将它们安装在/ work in容器中,请使用以下命令将其安装到容器中:

#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

然后启动容器,您将看到/使用

处理那个大空间
df -h

答案 1 :(得分:1)

您应该阅读此LXC source,特别是

部分

Host Setup - >     为容器商店使用单独的文件系统

有一个非常明确的解释。