mount – 另一个分区上的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

或者,使用绑定安装:

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.

最佳答案 假设100GB可用空间在/ mnt / sd1下,200GB在/ 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
点赞