生生不息

生生不息

PVE共享磁盘给linux虚拟机

6
2024-09-30
PVE共享磁盘给linux虚拟机

背景

我们挂载了磁盘给PVE,但是这个磁盘如果要给其他虚拟机使用,粗暴的方式就是给其他虚拟机直接在硬件那添加一个磁盘,但是这种方式并不是共享,而是占用指定的空间,显然这并不方便。

于是我选择了NFS的方式进行共享,这样局域网内设备都可以使用(linux+windows)。

PVE安装NFS服务端

pve shell

apt-get update 
apt-get install nfs-kernel-server

我们挂载的磁盘创建的目录是/mnt/sda1-16t(一直到sdg1-16t),我们继续使用这样的命名规律。

nano /etc/exports

例如添加行:/mnt/sda1-16t *(rw,sync,no_root_squash)

31.png

保存退出

systemctl restart nfs-kernel-server

重启服务。

查看本地nfs共享的目录:
showmount -e

我们可以去pve的数据中心,挂载NFS磁盘(我们前面已经目录的形式挂载了,这里的nfs挂载就不需要了,差别就是添加时选择 目录 还是 NFS)。

PVE虚拟机安装NFS客户端

我安装的是ubantu22.04lts,如果不同可以自行找对应系统的挂载教程。

ssh打开虚拟机

# 先安装必要的NFS客户端工具: 
sudo apt install nfs-common -y

# 创建一个挂载点
sudo mkdir /mnt/nfs

# 挂载NFS共享 ip是pve节点的系统ip
sudo mount -t nfs 192.168.31.202:/mnt/sda1-16t /mnt/nfs

/mnt/sda1-16t是我之前挂载磁盘是创建的目录。

192.168.31.202是我的pve系统的ip地址。

验证是否成功共享
32.png
最后一行,即为成功。

自启动可选(生产环境不推荐

我们还可以配置开启自动挂载NFS共享。

因为pve的虚拟机是基于pve产生的,一般重启 先有pve才有虚拟机,
所以共享的目录也是先存在,虚拟机刚好也可以挂载上。

但是内网多节点的服务器 如果允许开机自启动nfs,就会出现,nfs服务端没开机,客户端开不了机(卡在mount目录上)。

sudo nano /etc/fstab

末尾添加

192.168.31.202:/mnt/sda1-16t /mnt/nfs nfs defaults 0 0

保存退出

后记

后面再上windows,macos,电视TV里Kodi等,都可以连接NFS。

欢迎来到德莱联盟家用nas局域网。