linux_通过NFS挂载远程服务器的硬盘

若有多台linux的服务器,想在其中一台服务器中访问另一台服务器里面的数据,可通过nfs服务实现该功能。

1.配置被挂载的服务器

安装NFS服务

cpp 复制代码
sudo apt-get update
sudo apt-get install nfs-kernel-server

编辑NFS的配置/etc/exports,添加需要共享的目录及其权限设置

cpp 复制代码
/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服务并设置开机启动

cpp 复制代码
sudo systemctl start nfs-server
sudo systemctl enable nfs-server

验证NFS服务的状态

cpp 复制代码
sudo systemctl status nfs-kernel-server.service

使用showmount来查看当前挂载的NFS共享

cpp 复制代码
showmount -e localhost

如果你在其他机器上,你可以这样检查远程主机的共享

cpp 复制代码
showmount -e <服务器IP地址>

为确保NFS服务通过防火墙,运行以下命令

cpp 复制代码
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --permanent --zone=public --add-service=mountd
sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind
sudo firewall-cmd --reload

rpcbind是一个非常重要的服务,它主要用于将RPC(远程过程调用)程序编号转换为相应的端口号。

cpp 复制代码
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/udp

mountd服务主要用于NFS(网络文件系统)服务中,它允许远程客户端挂载NFS共享

cpp 复制代码
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-server

2. 配置需要挂载硬盘的服务器

安装NFS客户端软件

cpp 复制代码
sudo apt-get update
sudo apt-get install nfs-common

创建本地挂载点,例如我在/mnt下建立一个99_share的文件夹

使用mount命令挂载远程硬盘

cpp 复制代码
mount -t nfs 192.168.0.99:/home/share/mnt_data /mnt/99_share

验证挂载是否成功

cpp 复制代码
df -h   # 查看挂载点是否显示

3. 自动挂载设置

为了在系统启动时自动挂载远程硬盘,进行以下设置:

编辑 /etc/fstab 文件,添加一行以自动挂载远程硬盘

cpp 复制代码
192.168.1.100:/data /mnt/remote_disk nfs defaults 0 0

使用以下命令重新加载 /etc/fstab 文件,确保没有错误

cpp 复制代码
sudo mount -a
相关推荐
城管不管几秒前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
蜀道山老天师1 分钟前
Zabbix监控Apache与Nginx应用实践完整指南
linux·运维·nginx·apache·zabbix
王志来137944730084 分钟前
从分散到集成:工控服务器机箱采购如何实现“一站式”破局
运维·服务器·人工智能·python
暖核9 分钟前
Linux实战入门:从零编写第一个Bash Shell脚本
linux·运维·bash
March.s39 分钟前
深入理解 Linux 系统启动原理
linux·运维·服务器
zbyyd1 小时前
Linux 基础与 Shell 命令
linux·运维·arm开发
起名真的太难了1 小时前
Linux系统运维与远程管理核心命令速查指南
linux·运维·服务器
tg_xianheyun1 小时前
阿里云国际账号注册代充值怎么选服务商?
服务器·阿里云·云计算·全球访问优化
xiaoye-duck1 小时前
《Linux网络编程》吃透 Linux 网络传输全流程:完整梳理局域网通信、封装解包与跨网络传输原理
linux·网络
深念Y1 小时前
订阅管理及节点过滤实践(技术笔记)
linux·网络·arm·优化·日志·工具·soc