linux_通过NFS挂载远程服务器的硬盘
若有多台linux的服务器想在其中一台服务器中访问另一台服务器里面的数据可通过nfs服务实现该功能。1.配置被挂载的服务器安装NFS服务sudo apt-get update sudo apt-get install nfs-kernel-server编辑NFS的配置/etc/exports添加需要共享的目录及其权限设置/home/share/mnt_data 192.168.1.0/24(rw,sync,no_root_squash) 或者 /home/share/mnt_data *(rw,sync,no_root_squash)这里的192.168.1.0/24是允许访问的客户端IP范围rw表示读写权限sync表示同步写入no_root_squash允许以 root 用户身份访问。启动NFS服务并设置开机启动sudo systemctl start nfs-server sudo systemctl enable nfs-server验证NFS服务的状态sudo systemctl status nfs-kernel-server.service使用showmount来查看当前挂载的NFS共享showmount -e localhost如果你在其他机器上你可以这样检查远程主机的共享showmount -e 服务器IP地址为确保NFS服务通过防火墙运行以下命令sudo firewall-cmd --permanent --zonepublic --add-servicenfs sudo firewall-cmd --permanent --zonepublic --add-servicemountd sudo firewall-cmd --permanent --zonepublic --add-servicerpc-bind sudo firewall-cmd --reloadrpcbind是一个非常重要的服务它主要用于将RPC远程过程调用程序编号转换为相应的端口号。sudo apt-get install rpcbind sudo systemctl start rpcbind sudo systemctl enable rpcbind sudo systemctl status rpcbind 防火墙允许rpcbind的端口通过 sudo ufw allow 111/tcp sudo ufw allow 111/udpmountd服务主要用于NFS网络文件系统服务中它允许远程客户端挂载NFS共享sudo apt-get install nfs-kernel-server sudo vi /etc/exports 定义哪些目录可以被远程挂载 sudo exportfs -arv 导出更改并启动NFS服务 sudo systemctl enable nfs-kernel-server sudo systemctl start nfs-kernel-server 确保防火墙允许NFS流量 sudo ufw allow from any to any port 2049 sudo ufw allow from any to any port 111 sudo ufw allow from any to any port 20048 检查NFS服务是否正在运行 sudo systemctl status nfs-kernel-server2. 配置需要挂载硬盘的服务器安装NFS客户端软件sudo apt-get update sudo apt-get install nfs-common创建本地挂载点例如我在/mnt下建立一个99_share的文件夹使用mount命令挂载远程硬盘mount -t nfs 192.168.0.99:/home/share/mnt_data /mnt/99_share验证挂载是否成功df -h # 查看挂载点是否显示3. 自动挂载设置为了在系统启动时自动挂载远程硬盘进行以下设置编辑/etc/fstab文件添加一行以自动挂载远程硬盘192.168.1.100:/data /mnt/remote_disk nfs defaults 0 0使用以下命令重新加载/etc/fstab文件确保没有错误sudo mount -a