上次说到了共享文件系统,这次说说另一个:nfs

nfs和cifs的区别在于

CIFS 是针对 Microsoft Windows 操作系统的本地网络文件系统。Linux 系统可以挂载和访问 CIFS 文件共享 , 如同常见的网络文件系统一样。然而 , 由于 CIFS 是基于 NTFS 文件系统权限模型及其自身的身份验证系统来构建的 , 因而 CIFS 协议中的所有内容并不能很好地映射到 Linux 中

NFS ( Network File System ) 是由 Linux 、 UNIX 及其他类似操作系统使用的互联网标准协议 , 可作为它们的本地网络文件系统。它是一种活动扩展之下的开放标准 , 可支持本地 Linux 权限和文件系统功能

所以说当使用共享文件的系统为LINUX或UNIX的时候可以使用NFS

安装

yum install nfs-utils -y

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端

之后设置防火墙通过服务

firewall-cmd --list-all
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload


首先将nfs加入进防火墙的通过名单中,firewall-cmd --list-all    ##查看防火墙的全部信息
nfs文件系统的端口分配是由rpc-bind分配的,所以添加通过名单的时候也要添加rpc-bind
nfs文件系统在使用的时候必须是挂载的方式,所以也要将mountd加入到通过名单中


打开编辑/etc/exports                                          ##文件共享表

NFS iSCSI DRBD 比较 nfs cifs 性能比较_文件系统_02

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_03

*(sync)   立即同步

修改共享文件的权限

chmod 770 /zjj/nfs

将文件中写出的目录创建出来

exportfs -rv            ##刷新export文件

NFS iSCSI DRBD 比较 nfs cifs 性能比较_NFS iSCSI DRBD 比较_04


这时在客户端就可以查看共享目录了


showmount -e 172.25.254.154                ##发现nfs文件,等同于samba的smbclient -L

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_05

发现之后就可以进行挂载了

mount 172.25.254.154:/zjj/nfs /mnt/

NFS iSCSI DRBD 比较 nfs cifs 性能比较_NFS iSCSI DRBD 比较_06

但是我们之前也说过许多的挂载,而且不使用的挂载非常浪费资源

所以选择一种自动挂载的方式,可以在你使用的时候挂载,不使用的时候取消挂载

在客户端进行这个操作

 yum install autofs.x86_64 -y

重新启动服务的时候也会取消挂载

vim /etc/auto.master         ##这个目录下写的是最终挂载点的上层目录和子策略文件

NFS iSCSI DRBD 比较 nfs cifs 性能比较_文件系统_07

vim /etc/zjj.nfs                ##编辑这个子策略文件

NFS iSCSI DRBD 比较 nfs cifs 性能比较_NFS iSCSI DRBD 比较_08

子策略文件上写最终挂载点及将哪一个设备挂载上去   ##-ro只读 -rw读写noatime在文件被浏览的时候忽略accesstime
完成之后cd 上层目录之后进入就可以看到挂载的内容,但是前提是不能自己先将这个目录创建出来,不然会出问题

7.0 和7.2配置文件的目录不同,使用rpc -qc autofs 查看

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_09

之后进入,就可以看到内容了

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_10

填加读写权限

服务端vim /etc/exports      ##写完这个文件一定不能重启服务,要用exportfs -rv    

NFS iSCSI DRBD 比较 nfs cifs 性能比较_文件系统_11

 

修改共享目录的权限

chmod 777 /zjj/nfs/

因为不设置登陆用户身份的话就是匿名的,所以要设置为777

客户端

vim /etc/zjj.nfs

NFS iSCSI DRBD 比较 nfs cifs 性能比较_vim_12

systemctl restart autofs.service
测试

NFS iSCSI DRBD 比较 nfs cifs 性能比较_vim_13

修改登陆用户身份

服务端vim /etc/exports

anonuid=1001,anongid=1001(强制登陆用户是用什么身份)

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_14

exportfs -rv

客户端测试

NFS iSCSI DRBD 比较 nfs cifs 性能比较_客户端_15


no_root_squash(当客户端使用超级用户身份登陆的时候,保持身份不变)(但是这个命令和上一个命令是冲突的)

重复命令。不做测试

当客户端在挂载的目录没有权限创建文件的时候,是因为客户端虽然是超级用户,但是想要修改的文件却是服务端的文件,没有权限修改别的文件