NFS(网络文件系统)是Sun Microsystem开发的分布式文件系统协议。 NFS允许服务器通过网络共享服务器上文件夹的文件和目录。 当NFS共享安装在客户端系统上时,NFS允许用户访问远程系统上的文件和目录,就像它们在本地存储一样。
在本教程中,将在CentOS 7上安装NFS服务器,如何在CentOS 7上创建一个新目录,然后通过NFS协议进行共享。 然后,我们将在Proxmox服务器上添加我们创建的NFS共享,作为虚拟机的备份空间。
先决条件
我们需要两台服务器。
- Proxmox服务器IP:192.168.1.111
- CentOS 7与IP:192.168.1.102
第1步 - 在CentOS 7上安装NFS
使用SSH连接到CentOS服务器(如果您没有使用根登录,则使用sudo命令获取root权限)。
ssh centosuser@192.168.1.102
sudo su
现在用yum安装nfs:
yum -y install nfs-utils libnfsidmap rpcbind
nfs-utils是用于管理NFS服务器的实用程序。 它们必须安装在服务器和客户端上。
rpcbind是一个守护进程,允许NFS客户端发现NFS服务器使用的端口。
libnfsidmap是一个库,用于帮助映射NFSv4的id。
如果所有软件包安装成功,请在服务器引导时启用rpcbind和nfs-server服务。
systemctl enable rpcbind
systemctl enable nfs-server
然后启动所有服务:
systemctl start rpcbind
systemctl start nfs-server
systemctl start rpc-statd
systemctl start nfs-idmapd
接下来,我们将启用firewalld并打开NFS,mountd和rpc-bind服务端口,以便我们可以从我们网络中的其他服务器访问NFS。
systemctl start firewalld
firewall-cmd --permanent --zone public --add-service mountd
firewall-cmd --permanent --zone public --add-service rpc-bind
firewall-cmd --permanent --zone public --add-service nfs
重新加载firewalld配置以应用更改:
firewall -cmd - -reload
要查看防火墙中允许的服务,请使用以下命令:
firewall-cmd --list-all
第2步 - 创建一个共享目录
在此步骤中,我们将创建一个目录并与proxmox服务器共享。 我将在/ var目录下创建目录“ nfsproxmox ”,并将权限更改为777,以便任何人都可以读取和写入。
mkdir -p /var/nfsproxmox
chmod -R 777 /var/nfsproxmox/
请注意,如果此备份服务器用于其他服务或多用户系统,那么您应该使用更严格的权限,如755甚至750,并将该目录写入可以写入的用户。
接下来,修改/ etc / exports文件来配置哪个目录共享,客户端IP等具体选项。
vim /etc/exports
添加下面的配置:
/var/nfsproxmox 192.168.1.111(rw,sync,no_root_squash)
保存并退出。
/ var / nfsproxmox =具有读取和写入权限的共享目录。
192.168.1.111 = nfs客户端IP地址(在本教程中,我们使用Proxmox Server)。
rw =允许两者读取和写入共享目录。
sync =仅在更改提交到稳定存储后才回复请求。 (默认)
no_root_squash =允许客户端计算机上的root用户与服务器上的root具有与共享目录相同的级别和权限。
现在使用以下命令导出共享目录:
exportfs -r
其他有用的NFS命令是:
exportfs -a =导出/ etc / exports文件配置中的所有共享目录。
exportfs -v =显示所有共享目录。
服务器上的NFS配置完成,现在我们可以转到下一个阶段,配置proxmox来使用NFS。
第3步 - 配置Proxmox以使用NFS存储
我将在本教程中安装一个IP 192.168.1.111的proxmox服务器。
从Web浏览器登录到proxmox服务器:
在Proxmox Web管理员中,点击“Datacenter”,然后进入“Storage”选项卡,点击“Add”,选择NFS。
现在输入NFS配置详细信息:
ID =输入NFS的名称,我将在这里使用“nfsproxmox”。
服务器IP = NFS服务器的IP地址,我的是192.168.1.102。
Export = NFS共享目录 - / var / nfsproxmox。
Content = NFS服务器上的文件类型,磁盘映像,ISO文件,容器,VZDump备份文件等。
启用 =检查。
最大备份 =每个虚拟机允许的最大备份 。
并点击“添加”。
现在,您可以在左侧看到新的存储。
第4步 - 将Proxmox上的VM备份到NFS存储
在本教程中,我有一个名为“debian”的ID为100的虚拟机,现在已经存在了。 在此步骤中,我们将该虚拟机备份到NFS存储“nfsproxmox”。
单击虚拟机名称,然后转到“备份”选项卡,然后单击“立即备份”。
选择所有你需要的:
Storage =我们的NFS名称/ ID。
Mode =
有3种备份模式:
- 快照 (无停机,在线)。
- 挂起 (与KVM的快照相同),使用挂起/恢复和多个rsync通行证(OpenVZ和LXC)。
- 停止 =关闭虚拟机,然后启动KVM实时备份并重新启动虚拟机(短停机时间)。
压缩 =可用LZO和GZIP压缩。
单击“备份”开始备份虚拟机。
现在可以看到备份任务正在运行:
要查看备份文件,请单击nfs-id“nfsproxmox”,然后单击“内容”选项卡。
第5步 - 从NFS存储还原VM
要还原虚拟机,请单击要还原的虚拟机,然后单击NFS存储上的“还原”。
您可以看到弹出框:
Source =备份文件。
存储 = VM将被存储在哪个存储上。
虚拟机ID =已还原虚拟机的ID 。
单击“恢复”启动还原虚拟机。
恢复VM进程:
注意:
如果要更换虚拟机,则可以选择要替换的虚拟机,然后进入“备份”选项卡,您还将看到备份文件,然后选择它并单击“恢复”。
结论
NFS(网络文件系统)是一种分布式文件系统协议,允许客户端访问NFS服务器上的文件和目录,就像它们在本地存储一样。 我们可以将数据文件和目录存储在NFS服务器上,然后与导出文件中允许的所有客户端共享。 NFS对于虚拟服务器备份非常有用。 我们可以使用NFS作为Proxmox存储,我们可以把这个存储的ISO文件,虚拟机镜像文件和VM备份文件。 NFS可以从Proxmox Web管理员中轻松安装和与Proxmox集成。