数据存储与容灾——创建 NFS 服务器实现文件共享(CENTOS7)
一、实验前准备工作:
为了检验 NFS 服务配置的效果,我们需要创建两台 Linux 主机(一台充当
NFS 服务器,一台充当 NFS 客户端,使用 VMWare 克隆的方法完成),并按下表
配置它们所使用的 IP 地址。
| 主机名称 | 操作系统 | IP 地址 |
| NFS 服务器 | CentOS7 | 192.168.228.30(根据自己电脑 VMWare 的网段) |
| NFS 客户端 | CentOS7 | 192.168.228.31(根据自己电脑 VMWare 的网段) |
1、使用 nmtui 分别配置两台虚拟机机的 IP 地址
(1)VMware--编辑--虚拟网络编辑器。

(2)记录 VMnet8 的 NAT 网络地址和网关、掩码,取消勾选“使用本地 DHCP 服
务将 IP 底子好分配给虚拟机”。

(3)点击“NAT 设置”查看网关,是 192.168.228.2(根据自己 VMWare 的 NAT
网段,每个人不一样)

(4)根据规划服务器端配置地址 192.168.228.30/24,客户机端配置地址192.168.228.31/24,地址是 NAT 网段内的。以下是以服务器地址配置为例:
这里注意:需要将两台主机的虚拟机设置为 NAT模式:

第一步:打开命令终端,进入 root 账号权限,输入 nmtui,进行网络配置:
[root@localhost a1]# nmtui

第二步:进入网络配置界面,不能使用鼠标,通过上下左右键控制,选择“编辑
连接”,回车键进入

第三步:选择以太网 ens33,选怎“编辑”,回车键进入

第三步:IPv4 配置中,选择“显示”,选择“手动”,地址配置:192.168.228.30/24,
网关:192.168.228.2 ,光标走到最下面,选择“确定”,按回车键

第四步:选择“返回”,按回车键

第五步:选择“启用连接”,按回车键

第六步:选择“激活”,按回车键

第七步:选择“返回”,按回车键

第八步:选择“确定”,按回车键,至此网络配置完成

第九步:输入命令,查看地址是否配置正确及生效。
[root@localhost a1]# ip address
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:16:ce:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.228.30/24 brd 192.168.228.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::3f14:c724:8ded:8dba/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:c7:cf:a6 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:c7:cf:a6 brd ff:ff:ff:ff:ff:ff

注意:如果这里地址没有生效,可以输入以下命令重启网络服务,再次查看是否
生效。
[root@localhost a1]# systemctl restart network
(5)参照以上服务器网络配置,完成另一台虚拟机客户端的网络配置。

(6)关闭 2 台虚拟机的防火墙。
[root@localhost a1]# systemctl stop firewalld
[root@localhost a2]# systemctl stop firewalld
(7)在服务器上 ping 客户机,如果能 ping 通,说明 2 台虚拟机网络配置正确。


二、NFS 服务器上创建 NFS 服务
注意:不要搞混,以下操作是在服务器虚拟机上的操作。
1、在 NFS 服务器上建立 NFS 文件共享目录,并设置足够的权限确保他人也
有写入权限
创建文件夹
[root@localhost a1]# mkdir /nfsfile
修改文件权限
[root@localhost a1]# chmod 777 /nfsfile
[root@localhost a1]# cd /

2、在 NFS 服务程序的配置文件为 /etc/exports, 例如,如果想要把/nfsfile 目
录共享给 192.168.228.0/24 网段内的所有主机,让这些主机都拥有读写权限,在
将数据写入到 NFS 服务器的硬盘中后才会结束操作,最大限度保证数据不丢失,
以及把来访客户端 root 管理员映射为本地的匿名用户等。
注意:这里的 IP 地址网段不要以本实验为准,根据自己 VMWare 上的 IP 地址
为准。
[root@localhost /]# vim /etc/exports
i
进入 i 模式
/nfsfile 192.168.228.0/24(rw,sync,root_squash)
输入这段命令
Esc 退出 i 模式
:wq 保存退出

//检查语法错误
[root@localhost nfsfile]# exportfs -r
//查看结果
[root@localhost nfsfile]# exportfs -v

3、启动和启用 NFS 服务程序, 由于在使用 NFS 服务进行文件共享之前,需要使用 RPC(Remote Procedure Call,远程过程调用)服务将 NFS 服务器的 IP 地址和端口号等信息发送给客户端。因此,在启动 NFS 服务之前,还需要顺带重启并启用 rpcbind 服务程序,并将这两个服务一并加入开机启动项中,但是 RHEL7 以后,nfs-server 所依赖的 rpc 服务会随着系统启动而自动启动。
//启动 nfs 服务
[root@localhost /]# systemctl start nfs-server
//自动启动 nfs 服务
[root@localhost /]# systemctl enable nfs-server

//查看 nfs 状态
[root@localhost /]# systemctl status nfs-server

4.在 NFS 服务器端新建一个文件 aaa,写入I am a winner(也随意写入内容)
//进入 nfsfile 文件夹
[root@localhost /]# cd /nfsfile
//创建aaa文件
[root@localhost nfsfile]# touch aaa
//进入文件编辑器
[root@localhost nfsfile]# vim aaa
i 进入编辑模式
I am a winner
写入文本
Esc 退出
:wq
保存退出

三、使用 Centos7客户端访问 NFS 服务器
注意:以下操作是在 LINUX 客户端即 IP 地址是 192.168.228.31 的那台虚拟机
1、NFS 客户端的配置也十分简单,首先用 showmount 命令查询 NFS 服务器
远程共享信息
[root@localhost a2]# showmount -e 192.168.228.30

2、然后在 NFS 客户端创建一个挂载目录。使用 mount 命令并结合-t 参数,
指定要挂载的文件系统的类型,并在命令后面写上服务器的 IP 地址、服务器上
的共享目录以及要挂载到本地系统(即客户端)的目录。
[root@localhost a2]# mkdir /nfsfile
[root@localhost a2]# mount -t nfs 192.168.228.30:/nfsfile /nfsfile

3、成功挂载之后,可以在客户端看到服务器上创建的 aaa 文件。同时,在
客户端创建 test.txt 文件
///查看文件
[root@localhost a2]# cat /nfsfile/aaa

[root@localhost a2]# cd /nfsfile
[root@localhost nfsfile]# touch test.txt
[root@localhost nfsfile]# vim test.txt
i 进入编辑模式
I am a winner too
写入文本
Esc
退出
:wq
保存退出

4、前往 NFS 服务器端(192.168.228.30)查看刚刚在客户端新增的 test.txt
文件,能够看到代表文件共享成功。









