在部署过程中,经常用到两台服务器之前共享文件夹的情况,以下是个人的一点小经验。
服务端(共享端)
- 确认的是两台机器上均安装了NFS服务,通过以下命令查看是否安装NFS,,如果没有,自己查下教程安装,一般都会有装。
rpm -qa|grep nfs
- 在相应路径下创建需要共享的文件目录名
mkdir newfile
- 使用root用户,修改/etc/exports文件,添加如下内容。其中XXX.XXX.XXX为服务器ip的前三段,XXX.XXX.XXX.0/24 表示拥有共享权限的IP所在网段及子网掩码
# 编辑文件
vim /etc/exports
# 在文件中填下如下内容
/newfile XXX.XXX.XXX.0/24(rw,sync,no_root_squash)
配置的括号里,可添加的参数如下:
ro:该主机对该共享目录有只读权限
rw:该主机对该共享目录有读写权限
root_squash:客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 ;
no_root_squash:NFS服务器共享目录用户的属性,客户机用root访问该共享文件夹时,不映射root用户;
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
- 使用root用户,重启NFS服务
service nfs restart
客户端
- 有服务器相应目录下创建需要共享的文件夹
# 进入到对应用户路径下
cd /
# 在相应路径下创建需要共享的文件目录名
mkdir newfile
- 查看服务端挂载情况
showmount -e 192.168.10.11
如果有如下内容,则挂载服务端挂载成功
- 使用root用户,执行挂载语句,其中ip 为第一台服务器的地址,如192.168.10.11
mount -t nfs 192.168.10.11:/newfile /newfile
注意:这一步如果报如下错误
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
则改成下面再执行
mount -o nolock -t nfs 192.168.10.11:/newfile /newfile
4 使用root用户,将以上的挂载命令添加到/etc/rc.d/rc.local文件中
# 编辑文件
vim /etc/rc.d/rc.local
# 在文件中填下如下内容
mount -t nfs 192.168.11:/newfile /newfile
或者
mount -o nolock -t nfs 192.168.10.11:/newfile /newfile
5.完成,输入
df -h
则可以看到相应的共享文件夹