多台linux服务器间设置共享文件夹
一、环境信息
服务器1:192.168.120.141 文件夹:/opt
服务器2:192.168.120.142 文件夹:/opt
服务器3:192.168.120.143 文件夹:/opt
将服务器1的/opt文件夹共享到服务器2的/opt文件夹。
要求三个服务器都安装有NFS服务。
二、服务器1设置
1、修改exports文件
vi /etc/exports
一般为空文件,添加以下内容
/opt 192.168.120.0/24(insecure,rw,sync,no_root_squash)
/opt:服务器1上要共享的文件夹;
192.168.120.0/24:表示拥有共享权限的IP所在网段及子网掩码;也可以直接指定唯一的IP地址:192.168.120.142;
一般指定IP地址
/opt 192.168.120.142(insecure,rw,sync,no_root_squash)
/opt 192.168.120.143(insecure,rw,sync,no_root_squash)
2、NFS服务固定端口
****非常规,主要是指没有配置文件/etc/sysconfig/nfs
vim /etc/services
rquotad 30001/tcp
rquotad 30001/tcp
lockd 30002/tcp
lockd 30002/udp
mountd 30003/tcp
mountd 30003/udp
statd 30004/tcp
statd 30004/udp
其中mountd 和rquotad需要注释掉原来的文件中的端口
若还有没修改的端口则修改下面的文件
vim /etc/nfs.conf
[statd]
port = 30004
[lockd]
port = 30002
#重启服务
systemctl restart nfs-config
systemctl restart nfs-idmap
systemctl restart nfs-lock
systemctl restart nfs-server
****配置防火墙,添加nfs服务端口
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
firewall-cmd --list-all
看看设置的端口是否启用
或者重启机器
3、设置nfs、rpcbind服务自动启动
systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs
systemctl enable nfs
三、服务器2设置,服务器3跟服务器配置相同
1、设置nfs、rpcbind服务自动启动
systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs
systemctl enable nfs
2、执行挂载语句
挂载格式:mount NFS服务器地址:/usr/local/web /mnt/websites
mount -t nfs 192.168.120.141:/opt/ /opt/
3、查看挂载结果
df -h
4、编辑启动文件,将挂载命令设置为启动自动执行
vi /etc/rc.local
添加之前执行的挂载语句:
mount -t nfs 192.168.120.141:/opt/ /opt/
【注意】
CentOS7开始,默认情况下开机是不执行/etc/rc.local文件的,需要授予执行权限,才能开机启动执行此文件
chmod 777 /etc/rc.local
四、其他命令
1、服务器2取消挂载(取消挂载时,不能处于挂载目录内):
umount /opt
2、服务器1查看以共享的目录
showmount -e
3、服务器2查看服务器1共享目的目录
showmount -e 192.168.120.141
————————————————
注意:
一、如果多台linux共享文件夹的话
只需要在 /etc/exports文件需要相应的行,比如
/opt 192.168.120.142(insecure,rw,sync,no_root_squash)
/opt 192.168.120.143(insecure,rw,sync,no_root_squash)
各服务器端口设置加载的语句
mount -t nfs 192.168.120.141:/opt/ /opt/
二、rc.local设置不能自动启动话,需要每次重启机器后手启动rc.local服务。
systemctl start rc-local