PVE入门-文件共享

内容分享13小时前发布
0 0 0

为保证宿主机环境的纯粹,所以我们选择通过在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/

© 版权声明

相关文章

暂无评论

none
暂无评论...