Linux服务器部署NFS服务,实现跨服务器挂载

简要描述

比如现在有两台服务器A与B。
A服务器IP:127.0.0.1
B服务器IP:127.0.0.2
将A作为服务器端,将B作为客户端。

服务端

1、首先检查服务器是否安装了NFS服务

service nfs status

如果没有显示unrecognized service则说明未安装

# 通过如下代码安装服务
yum install nfs-utils

2、编辑配置文件

# 编辑文件
vim /etc/exports

格式:共享文件夹 客户端IP(访问权限,用户映射,其他)

# 输入
/data 127.0.0.2(rw,sync,no_root_squash)

NFS参数

参数名解释说明
ro共享目录只读
rw共享目录可读可写
all_squash所有访问用户都映射为匿名用户或用户组(可选)
no_all_squash(默认)访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组
root_squash(默认)将来访的root用户映射为匿名用户或用户组(可选)
no_root_squash来访的root用户保持root帐号权限(安全隐患)
anonuid=指定匿名访问用户的本地用户UID,默认为nfsnobody(65534)
anongid=指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534)
secure限制客户端只能从小于1024的tcp/ip端口连接服务器
insecure允许客户端从大于1024的tcp/ip端口连接服务器
sync将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async将数据先保存在内存缓冲区中,必要时才写入磁盘

备注:mount_nfs: can’t mount /xxx/xxx from XXX.XXX.XXX.XXX onto /xxx/xxx: Permission denied
出现此问题是因为配置中对应挂载目录没有设置insecure选项,默认为secure,限制客户端只能从小于1024的tcp/ip端口连接服务器。

启动NFS服务

service nfs-server start

service rpcbind start

3、查询RPC信息

rpcinfo -p

在这里插入图片描述
获取到上图相关信息,然后在防火墙与安全组把这几个端口号放行给要共享的服务器127.0.0.2

4、查看共享目录和参数设置

cat /var/lib/nfs/etab

5、使用showmount命令查看共享目录发布及使用情况

showmount -e localhost

客户端

1、挂载目录

mount -t nfs 服务端IP:服务端共享目录 客户端挂载目录(目录一定要存在)

mount -t nfs 127.0.0.1:/data /data

服务端目录名称与客户端目录名称可以不相同。

2、取消挂载
umount 服务端目录 客户端目录

umount /data /data

备注:当服务器重启时,需要重新执行挂载命令,也可以设置成自动挂载,挂载方式如下。

# 编辑文件
vim /etc/rc.local

#输入
mount -t nfs 127.0.0.1:/data /data

因为rc.local是Linux启动程序在login程序前执行的最后一个脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值