NFS服务
NFS服务
1 理论理解
1.1 NFS服务介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
1.2 NFS服务优点
(1) 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
(2) 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
(3) 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
1.3 NFS常见的实际应用。
(1) 多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。
(2) 在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
(3) 不同客户端可在NFS上观看影视文件,节省本地空间。
(4) 在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下。
NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS既可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算机或系统上运行。
2 实战案例
2.1 修改主机名
选择两个机器并修改节点的主机名,第一台机器为nfs-server;第二台机器为nfs-client。
第一台机器:
[root@localhost ~]# hostnamectl set-hostname nfs-server
[root@localhost ~]# bash
第二台机器:
[root@localhost ~]# hostnamectl set-hostname nfs-client
[root@localhost ~]# bash
2.2 配置yum源
将CD设备挂载到/opt/centos目录下。
[root@localhost ~]# mount /dev/cdrom /opt/centos

配置本地YUM源文件,创建local.repo文件
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[centos7]
name=centos7
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
2.3 安装NFS服务
两个节点安装NFS服务。命令如下:
nfs-server节点:
[root@nfs-server ~]# yum -y install nfs-utils rpcbind
nfs-client节点:
[root@nfs-client ~]# yum -y install nfs-utils rpcbind
注意:安装NFS服务必须要依赖RPC,所以运行NFS就必须要安装RPC。
2.4 NFS服务使用
(1) Server节点
在nfs-server节点创建一个用于共享的目录/mnt/test
编辑NFS服务的配置文件/etc/exports,在配置文件中加入一行代码
[root@nfs-server ~]# vi /etc/exports
/mnt/test 172.16.51.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

配置文件说明:
- /mnt/test:为共享目录(若没有这个目录,请新建一个)。
- 172.16.51.0/24:可以为一个网段,一个IP,也可以是域名。rw:read-write,可读写。
- ro:read-only,只读。
- sync:文件同时写入硬盘和内存。
- async:文件暂存于内存,而不是直接写入内存。
- no_root_squash:NFS客户端连接服务端时,如果使用的是root,那么对服务端共享的目录来说,也拥有root权限。显然开启这项是不安全的。
- root_squash:NFS客户端连接服务端时,如果使用的是root,那么对服务端共享的目录来说,拥有匿名用户权限,通常它将使用nobody或nfsnobody身份。
- all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端共享的目录来说,都拥有匿名用户权限。
- anonuid:匿名用户的UID(User Identification,用户身份证明)值,可以在此处自行设定。
- anongid:匿名用户的GID(Group Identification,共享资源系统使用者的群体身份)值。
使配置完命令生效
[root@nfs-server ~]# exportfs -r
nfs-server端启动NFS服务
[root@nfs-server ~]# systemctl start rpcbind
[root@nfs-server ~]# systemctl start nfs

nfs-server端查看可挂载目录
[root@nfs-server ~]# showmount -e 172.16.51.112

(2) Client节点
在nfs-client节点,进行NFS共享目录的挂载
[root@nfs-client ~]# mount -t nfs 172.16.51.112:/mnt/test /mnt/
无反馈信息代表成功,查看挂载情况

可以看到nfs-server节点的/mnt/test目录已挂载到nfs-client节点的/mnt目录下。
2.5 验证NFS共享存储
在nfs-client节点的/mnt目录下创建一个abc.txt的文件并计算MD5值

回到nfs-server节点进行验证

可以看到server节点上和client节点上的abc.txt文件一样
浙公网安备 33010602011771号