文库

NFS服务器间挂载磁盘共享文件

NFS服务器间挂载磁盘共享文件

十一月 14, 2018 阅读 119 字数 2431 评论 0 喜欢 3

两台linux服务器之间实现磁盘挂载文件共享 
服务端: 

1、安装nfs

#yum install nfs-utils*
2、首先需要在主机上设置允许挂载的目录 
修改 /etc/exports,增加共享目录 
这里主机是指服务端(要共享的目录) 
/usr/local/node1 192.168.1.*(rw,sync,no_root_squash,anonuid=xxx,anongid=xxx)
/usr/local/node2 192.168.1.*(rw,sync,no_root_squash,anonuid=xxx,anongid=xxx)
其中 /usr/local/node1  /usr/local/node2 是指要共享的目录192.168.1.* 允许客户端访问的ip

注意:ip后的参数,

rw 代表读写,ro代表只读

sync指同步传输,

no_root_squash  用户root不匿名。

anonuid 用户的uid,用户idxxx要填写uid

anongid用户的gid,用户组idxxx要填写gid

其中4,5要注意,当需要读写文件的用户为非root用户时,比如项目用户是tomcat,当项目需要共享文件读写时就需要填写45参数。需要把客户端的用户如tomcat uid groupid 改成跟服务端的用户tomcat uidgroupid一致。

查询用户id + 用户名

#id tomcat

修改用户uidgid, 下面1000代表uid,按服务端实际id来填写

#usermod -u 1000 tomcat

#groupmod -g 1000 tomcat

修改的时候可能会出现报错的情况,因为有进程在使用该用户进行操作,所以需要kill掉。但是要注意,进程是否可以杀掉,如果该用户正在跑项目,请不要杀掉,项目可能会挂掉。

#kill  -9 `lsof  -u  tomcat`  #如果项目正在运行不能停止,不要操作!
3、执行命令 exportfs -rv 使修改文件生效 

如果提示bad option list ,看看是不是多了空格之类的,或者把ip改成星号试试看看会不会报错。如:

/usr/local/node1 *(rw,sync,no_root_squash,anonuid=xxx,anongid=xxx

不会报错再改回来,再执行一遍exportfs -rv 


4nfs改为固定端口

修改/etc/sysconfig/nfs,端口根据实际情况修改

RQUOTAD_PORT=50501

LOCKD_TCPPORT=50502

LOCKD_UDPPORT=50502

MOUNTD_PORT=50503

STATD_PORT=50504

重启rpcbindnfs服务

#service rpcbind restart

#service nfs restart

查看端口

#rpcinfo -p

看以上配置好端口是否修改成功,将端口添加到防火墙中

-I INPUT -s 192.168.1.0/24 -p tcp --dport 111 -j ACCEPT

-I INPUT -s 192.168.1.0/24 -p udp --dport 111 -j ACCEPT

-I INPUT -s 192.168.1.0/24 -p tcp --dport 2049 -j ACCEPT

-I INPUT -s 192.168.1.0/24 -p udp --dport 2049 -j ACCEPT

-I INPUT -s 192.168.1.0/24 -p tcp --dport 50501:50504 -j ACCEPT

-I INPUT -s 192.168.1.0/24 -p udp --dport 50501:50504 -j ACCEPT

 


5、启动服务:执行 
#service nfs restart 

6. 开机启动服务

#chkconfig rpcbind on

#chkconfig nfs on

客户端: 

1. 安装nfs

#yum install nfs-utils*
2、启动服务: 

#service rpcbind start
#service nfs restart 

#chkconfig rpcbind on

#chkconfig nfs on


3 挂载目录

mount 192.168.1.1:/usr/local/node1 /usr/local/project -nolock -t nfs其中192.168.1.1 是服务端的ip    
/usr/local/node1  服务端共享的目录 
/usr/local/project  挂载到客户端目录(一定要有此目录) 

4、取消挂载: 
#umount  /usr/local/project   客户端目录(一定要有此目录)

5、添加服务器启动自动挂载 

修改/etc/rc.local文件,添加

mount 192.168.1.1:/usr/local/node1 /usr/local/project -nolock -t nfs

 

参考:

https://blog.csdn.net/train006l/article/details/79007483

https://www.cnblogs.com/xiaochina/p/6242635.html

https://blog.csdn.net/dba_monkey/article/details/60571462

 

https://www.centos.bz/2017/12/nfs%E8%AE%BE%E7%BD%AE%E5%9B%BA%E5%AE%9A%E7%AB%AF%E5%8F%A3%E5%B9%B6%E6%B7%BB%E5%8A%A0%E9%98%B2%E7%81%AB%E5%A2%99%E8%A7%84%E5%88%99/





粤ICP备18103437号-1