使用NFS服务实现文件共享

多个服务器之间需要共享文件,通过NFS服务共享是一个简单的方法

1、在作为NFS服务端的主机上新挂载了一块硬盘

 

 

 

现将其分区和格式化

fdisk /dev/sdb
输入n,然后一路默认最后输入w,完成分区

然后格式化
mkfs.ext4 /dev/sdb1

然后挂载到目录
mkdir -p /nfs-data;
mount /dev/sdb1 /nfs-data

将下面信息写入/etc/fstab文件,让系统开启自动挂载
/dev/sdb1              /nfs-data             ext4    defaults        0 0

 

 

 查看已经挂载成功

2、在当做NFS服务端和客户端的主机上都安装NFS组件

yum -y install nfs-utils

其实还需要rpcbind组件的,不过安装nfs-utils的时候会自动连带安装了
设置开机启动,关闭防火墙
systemctl enable rpcbind.service;  
systemctl enable nfs-server.service 
systemctl stop firewalld

 

3、编辑exports文件/etc/exports,配置哪些主机可以使用

/nfs-data 10.110.30.0/24(rw,sync,no_root_squash,no_wdelay)

第一部分/nfs-data是要共享的目录
第二部分10.110.30.0/24是有权限使用共享目录的地址段,也可以直接写一些IP地址,例如10.110.30.2(rw,sync,no_root_squash,no_wdelay) 10.110.30.3(rw,sync,no_root_squash,no_wdelay)
第三部分是具体权限:
rw表示可读写,ro只读
sync :同步模式,内存中数据实时写入磁盘;
async :不同步,数据在内存中,定期写入磁盘
no_root_squash :加上这个选项后,root用户就会对共享的目录像是对本机的目录一样拥有最高权限。
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份,适合公用目录
anonuid=xxx/anongid=xxx :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid

4、启动服务

服务端两个都需要启动,客户端只需要启动rpcbind即可
systemctl start rpcbind;
systemctl start nfs;

确认NFS服务器启动成功(能看到有名叫nfs的服务):   
rpcinfo -p

查看主机对外共享的目录以及客户端ip段信息
showmount -e 需要查看的服务端ip      
例如 showmount -e 10.110.30.216

 

 5、现在客户端就可以将nfs的目录挂载到本地来使用了

mkdir /nfs-data;
mount -t nfs 10.110.30.216:/nfs-data /nfs-data

可以df -h看一下挂载情况,也可以本地写入文件,去服务端查看一下是否同步成功

 

posted @ 2020-04-07 19:11  张艳华  阅读(6086)  评论(0编辑  收藏  举报