showmount -e 123.0.0.1
两台Linux服务器IP地址分别为:
A:192.168.1.119(服务端)
B:192.168.1.120(客户端)
两台机器:
NFS 用到的服务有 portmapper nfs rquotad nlockmgr mountd
通过命令 rpcinfo -p 可查看nfs使用的端口
其中 portmapper nfs 服务端口是固定的分别是 111 2049
另外 rquotad nlockmgr mountd 服务端口是随机的。由于端口是随机的,这导致防火墙无法设置。
这时需要配置/etc/sysconfig/nfs 使 rquotad nlockmgr mountd 的端口固定。
找到以下几项,将前面的#号去掉。
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
然后打开防火墙:
添加端口:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
1.第一步:检查A与B是否已安装NFS
nfs-utils portmap
#rpm -q nfs-utils portmap
表明NFS安装成功
2.在A机器上建立tt文件夹 /root/tt(作为共享目录)
#mkdir /root/tt
并赋予权限 chmod 777 /root/tt
3.配置服务器A的共享目录
#vi /etc/exports
并添加
/root/tt *(rw,async,no_root_squash)
最后保存退出
4. 代码实例:
(1)检查是否已安装NFS和Portmap,若未安装,则安装。
rpm -q nfs-utils portmap
(2)停止NFS和Portmap
service portmap stop
service nfs stop
注意:先停portmap,再停nfs.
(3)为A:192.168.1.223服务器创建目录/root/test,并赋予操作权限!
mkdir /root/test
ls
cd /root/
chmod 777 test
(4)配置共享共享目录
打开exports配置
并插入共享目录 test注意:最后一行是插入的,前两行是以前做测试用的
参数说明: /root/test: 共享目录地址 *:表明针对所有IP开放,当然如针对单个IP开放可以供IP rw:可读写权限 |
最后保存退出
(1)rw:可读写权限。
(2)ro:只读权限。
(3)no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份。
(4)root_squash;如果登录NFS主机使用共享目录的使用者是root,那么对于这个共享的目录来说,它具有root的权限。
(5)all_squash:忽略登录NFS使用者的身份,其身份都会被转换为匿名使用者,通常即nobody。
(6)anonuid:通常为nobody,也可以自行设定这个UID的值,UID必须存在于/etc/passwd中。
(7)anongid:同anonuid,但是变为Group ID。
(8)sync:同步写入资料到内存与硬盘中。
(9)async:资料会先暂存于内存中,而非直接写入硬盘。
(5)启动Portmap和NSF(目的:为了使配置的共享目录生效)
service portmap start
service nfs start
(6)为B:192.168.1.120创建指向目录 /root/bbb 并赋予权限
mkdir /root/bbb
chmod 777 bbb
(7)mount建立关联
mount 192.168.1.119:/roottt /root/bb OK就可以了
(8)查看结果:
先为B创建一个文件a.txt其结果为: cd /root/bb touch a.txt 则A中也显示: a.txt 同理:若在A中添加文件,则在B中也会显示出来 |
(19)NFS开机自启动
chkconfig --level 35 portmap on
chkconfig --level 35 nfs on
想要系统在开机时自动挂载,修改/etc/fstab文件
20:开机自动挂载
通过 /etc/fstab 来挂载 NFS 文件系统
/etc/fstab 中每行的一般语法如下所示:
server:/usr/local/pub /pub nfs auto 0 0挂载点 /pub 在客户机器上必须存在