PVE下默认限制了LXC容器权限,不能直接挂载NFS共享文件。
简单粗暴的方法是直接取消限制,修改容器配置文件,追加一行,如:
代码语言:javascript复制# echo "lxc.apparmor.profile: unconfined" >> /etc/pve/lxc/100.conf
这种做法取消所有安全规则,不够安全,下面是单独设置nfs的方法:
1. 在宿主机创建 新规则
代码语言:javascript复制# cp /etc/apparmor.d/lxc/lxc-default-cgns /etc/apparmor.d/lxc/lxc-default-nfs
# vi /etc/apparmor.d/lxc/lxc-default-nfs
profile lxc-default-nfs flags=(attach_disconnected,mediate_deleted) {
deny mount fstype=devpts,
mount fstype=cgroup -> /sys/fs/cgroup/**,
mount fstype=nfs,
mount fstype=nfs4,
mount fstype=nfsd,
mount fstype=rpc_pipefs,
}
2. 加载新的规则
代码语言:javascript复制# apparmor_parser -r /etc/apparmor.d/lxc-containers
# systemctl reload apparmor
3. 追加lxc配置
代码语言:javascript复制# echo "lxc.apparmor.profile = lxc-default-nfs" >> /etc/pve/lxc/CTID.conf
4. 重启lxc后该lxc就可以加载nfs共享文件了。