PVE 文件共享
PVE 作为虚拟平台,以稳定为主,其 WEB 介面类似于 IPMI。如果因数据盘坏掉导致挂载不了目录,进而进不了 PVE 系统,那就失去了“稳定”的可能性。
为了避免发生以上情况,数据盘不要在PVE中挂载,而是直通给 LXC 文件共享容器,这个容器通过fstab专门挂载数据盘,提供 SAMBA/NFS 等基础共享服务。之后再把文件通过SAMBA/NFS网络共享给 PVE 数据中心,挂载在 PVE 下的 /mnt/pve/ 目录下。其它 LXC 容器通知添加挂载点,使用数据盘进行数据的读写。
过程如下:
- 在文件共享容器的操作。
“资源”、“添加”、“Device Passthrough”,把 /dev/disk/by-uuid/* 硬盘分区添加到 LXC 容器资源中。其中数据盘分区的 uuid 可以在 PVE 中通过 blkid 命令查看。
在此容器中,添加自动挂载服务,让添加的硬盘通过fstab自动挂载到目录中。代码如下:
sudo vi /etc/systemd/system/mount-fstab.service
[Unit]
Description=Mount all filesystems from fstab
After=local-fs.target
[Service]
Type=oneshot
ExecStart=/bin/mount -a
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
systemctl enable mount-fstab.service
之后,通过 SAMBA 或 NFS 服务,把挂载的目录分享出来。
- PVE数据中心操作
定位到“数据中心”,“存储”,选择“填加”,选择 SAMBA 或 NFS 类型把上述的共享,添加到数据中心供其它 LXC 使用,顺利添加后,添加的项目会在 WEB 顶级菜单中的“存储”中呈现,在这个菜单下可见默认的"local"和"local-lvm"项。
- 为其它 LXC 容器挂载共享目录
在 PVE 的 shell 下通过以下命令挂载:
pct set lxc容器号 -mp* /mnt/pve/*,mp=/mnt/*