0%

910实验室服务器配置-LXC容器复制

为减少容器的配置工作,为用户创建自己的容器之前,预先配置好了一个模板容器。其他用户的容器可以基于该模板进行创建。

在我们的配置中,有一个特殊点,就是容器中的/home目录,与~/SSD目录,是单独存储的。并且在LXC的配置测试中,发现如果在宿主机中进行其它mount操作,将导致LXC容器无法启动。所以,对以上涉及的几个目录,需要逐步修改config,并在容器内进行相应配置。

正常启动容器

首先取消容器内的所有挂载,然后正常启动容器。如果容器正常启动,则证明容器的内容没有基本错误。

修改容器的主机名

修改容器的rootfs/etc/hostname,修改继承的主机名。

同时修改容器的config文件中,lxc.utsname,改为与hostname同样的主机名。

重启容器,检查修改是否有效。

挂载home目录

停止容器,将rootfs/home/ 下的全部文件移到设定的挂载目录。

修改config配置文件,添加对应的lxc.mount.entry配置,例如

1
lxc.mount.entry = /mnt/HDD/XXXX home none bind 0 0

并且,将/mnt/HDD/XXXX/下的所有目录添加读、写、执行权限。

启动容器,检查是否正常。

新建用户及用户目录

启动容器后,attach到容器内,以root身份创建用户

1
useradd -m -s /bin/bash XXXX

添加新用户XXXX,并创建其用户目录。

在/mnt/HDD/XXXX/中,给新创建的用户目录赋予7777权限。

登录到新创建的用户,创建一个用于挂载其他路径的目录,在我们的使用中,新的挂载点是SSD。

将其他目录挂载在新用户

关闭容器。

更改容器的config文件,添加新的mount配置

1
lxc.mount.entry = /mnt/SSD/XXXX home/XXXX/SSD none bind 0 0

现在重新启动容器,检查挂载是否成功。

总结

经过以上几步,不仅将容器中的/home目录转移到其它的可靠位置,也在用户目录下新添加了一个其他的挂载点,在使用中具有更好的效果。