使用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看一下挂载情况,也可以本地写入文件,去服务端查看一下是否同步成功