linux nfs 客户端 portmap,linux nfs+portmap 远程磁盘映射

服务器端ip:192.168.88.125

客户端ip:192.168.88.123

1. 客户端和服务端都需要安装nfs + portmap服务

[root@localhost ~]# yum install nfs-utils.x86_64(64位系统)

[root@localhost ~]# yum install nfs-utils(32位系统)

然后安装portmap服务,portmap在centos6中改名为rpcbind

[root@localhost ~]# yum install rpcbind(centos6)

[root@localhost ~]# yum install portmap(centos5)

2. 检查服务是否安装成功

[root@localhost ~]# rpm -qa | grep nfs

nfs-utils-1.2.3-70.el6_8.2.x86_64

nfs-utils-lib-1.1.5-11.el6.x86_64

[root@localhost ~]# rpm -qa | grep rpc

rpcbind-0.2.0-12.el6.x86_64

libtirpc-0.2.1-11.el6_8.x86_64

3. 将服务加入自启动

[root@localhost ~]# chkconfig --level 35 nfs on

[root@localhost ~]# chkconfig --level 35 rpcbind on

--level 35 表示运行级别为在命令模式和图形模式下都自启动

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS)

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

4. 编辑服务端(被映射端)配置文件

[root@localhost ~]# vim /etc/exports

加入:

/sharedisk 192.168.88.123(rw,sync,no_root_squash) #表示允许192.168.88.123主机挂载/sharedisk目录

#也可以写成192.168.88.0/24 表示整个网段都可以挂载

NFS主要有3类选项:

访问权限选项:

设置输出目录只读:ro

设置输出目录读写:rw

用户映射选项:

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

no_all_squash:与all_squash取反(默认设置);

root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash:与rootsquash取反;

anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项:

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

配置文件编辑好后,使用exportfs -rv重读配置文件或者重启rpcbind服务使之生效

5. 服务端开放端口

当我们在客户端测试nfs共享信息时发现报错

[root@localhost ~]# showmount -e 192.168.88.125

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad(这个好像不用了)这5个服务,需要将这5个服务的端口加到iptables里面而nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的

[root@localhost ~]# vim /etc/sysconfig/nfs

打开前面的#或者在文件的最后一行添加:

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

保存并退出并重启下nfs服务,然后在防火墙开放这4个端口:

-A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT

-A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT

-A INPUT -m state --state NEW -p udp --dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT

-A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT

-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT

-A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT

-A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT

重启防火墙服务后,客户端再试一次

[root@localhost ~]# showmount -e 192.168.88.125

Export list for 192.168.88.125:

/sharedisk 192.168.88.123

6. 客户端挂载远程目录

mount -t nfs 192.168.88.125:/sharedisk1 /sharedisk (:/sharedisk1是文件服务器目录)

7. 客户端自动挂载

可以把挂载命令放到 /etc/rc.local

附加

查看当前所有挂载

mount -l

查看当前所有nfs挂载

mount -t nfs -l

断开挂载

umount /sharedisk

断开挂载报错device is busy

1. fuser -m -v /sharedisk

2. kill -9 占用的进程号 #-9表示强制的意思吧

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值