PVE入门-文件共享

为保证宿主机环境的纯粹,所以我们选择通过在LXC中安装Docker来共享宿主机硬盘

安装:

  1. 创建一台CT,名为Share,取消非特权容器的勾,模版使用alpine,内存8G,硬盘100G,创建完不要启动

  2. 选中刚创建的CT,选项>功能,选编辑,勾选"嵌套"

  3. 在宿主机Shell中操作

# 宿主机安装nfs核心库
apt-get install -y nfs-kernel-server
# 加载nfs模块
modprobe nfs
# 将宿主目录映射给CT
pct set 100 -mp0 /usr/lib/modules/$(uname -r),mp=/lib/modules/$(uname -r),ro=1,backup=0
pct set 100 -mp1 /mnt/pve/nas,mp=/nas

参数说明:
CTID: 100
宿主目录: /mnt/pve/nas
CT目录: /nas

  1. 修改宿主机CT配置文件
echo "lxc.cap.drop:
lxc.cap.drop: mac_admin mac_override sys_time sys_module sys_rawio
lxc.cap.drop: audit_write
lxc.cap.drop: ipc_owner
lxc.cap.drop: mknod
lxc.cap.drop: sys_nice
lxc.cap.drop: sys_pacct
lxc.cap.drop: sys_ptrace
lxc.cap.drop: sys_rawio
lxc.cap.drop: sys_resource
lxc.cap.drop: sys_tty_config
lxc.cap.drop: syslog
lxc.cap.drop: wake_alarm" >> /etc/pve/lxc/100.conf
  1. 启动CT
apk add nfs-utils
modprobe nfs
  1. 在CT内安装docker
# 使用国内镜像
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk update
#安装docker
apk add docker
# 添加自启动
rc-update add docker boot
# 启动docker服务(会有报错,不影响)
service docker start
  • 启动NFS服务
    (网络必须用host,原因还没研究出来)
docker run -d \
--privileged \
--network=host \
--name=nfs-server \
--restart=always \
-e TZ=Asia/Shanghai \
-e NFS_MOUNT_PORT=2049 \
-e ALLOWED_CLIENT=192.168.0.0/24 \
-p 2049:2049 \
-p 111:111 \
-p 32765-32767:32765-32767 \
-v /lib/modules:/lib/modules \
-v /nas/nfs:/data \
--cap-add=ALL \
--cap-add=SYS_ADMIN \
--cap-add=SETPCAP \
mekayelanik/nfs-server-alpine:latest
  • 打开宿主机防火墙端口2049/tcp

使用

  • 装载
mount -v -o vers=4.2,loud ${CT的IP或域名}:/share /mount/path/to/ROOT-SHARE-DIR
  • 添加自启动
    vi /etc/fstab
${CT的IP或域名}:/share  ${要挂载的目录} nfs vers=4.2,defaults,proto=tcp,port=2049 0 0

参考:

https://qa.1r1g.com/unix/ask/28500391/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容