我有 2 个 Ubuntu 14.04 LXC 设置
一种是在裸机硬件上,容器直接从网络分配 IP 地址
另一个在 ESXi 虚拟机上,通过主机接口使用 NAT。
我的问题是,自动挂载在虚拟机上的容器上不起作用,但在裸机非 NAT 的 LXC 容器上的容器上起作用
当改变到已挂载目录等时,自动挂载就会挂起。
但是像这样安装 NFS 共享手册是可行的:
sudo mount -t nfs nfs01.my.host:/storage/home /home
LXC 和容器的配置是相同的,因此请注意此配置已知可以工作。
Apparmor 简介:
这些规则已添加到/etc/apparmor.d/lxc/lxc-default
:
mount fstype=nfs4,
mount fstype=rpc_pipefs,
mount fstype=autofs,
mount options=(rw, bind),
/etc/auto.master
:
/net /etc/auto.net
/home /etc/auto.home
+auto.master
/etc/auto.home
:
* nfs01.my.host:/storage/home/&
自动挂载映射文件的权限:
-rw-r--r-- 1 root root 40 Feb 1 13:53 /etc/auto.home
-rw-r--r-- 1 root root 766 Feb 3 19:37 /etc/auto.master
-rw-r--r-- 1 root root 524 Jul 8 2015 /etc/auto.misc
-rw-r--r-- 1 root root 1397 Jul 8 2015 /etc/auto.net
-rw-r--r-- 1 root root 687 Jul 8 2015 /etc/auto.smb
像这样手动启动自动挂载时:
sudo service autofs stop
sudo strace automount -f -v
这是我看到的唯一一行:当cd /home/<username>
:
handle_packet_missing_indirect: token 47, name <username>, request pid 2543
唯一的区别是裸机/非 nat 与 VM/NAT