0%

NFS服务

NFS 的软件结构

NFS 这个咚咚真的是很简单,上面我们提到的 NFS 软件中,配置文件只有一个,执行档也不多, 记录文件也三三两两而已吶!赶紧先来看一看吧! ^_^

  • 主要配置文件:/etc/exports
    这个档案就是 NFS 的主要配置文件了!不过,系统并没有默认值,所以这个档案『 不一定会存在』,你可能必须要使用 vim 主动的建立起这个档案喔!我们等一下要谈的设定也仅只是这个档案而已吶!
  • NFS 文件系统维护指令:/usr/sbin/exportfs
    这个是维护 NFS 分享资源的指令,我们可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享等等,这个指令是 NFS 系统里面相当重要的一个喔!至于指令的用法我们在底下会介绍。
  • 分享资源的登录档:/var/lib/nfs/*tab
    在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。
  • 客户端查询服务器分享资源的指令:/usr/sbin/showmount
    这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。这个 showmount 可以用来察看 NFS 分享出来的目录资源喔!

相关文件

/etc/exports: 共享配置文件

共享格式为:共享目录绝对路径 授权访问的IP或网段(权限1,权限2)

如:/test 192.168.229.0/24(ro)

权限说明:

​ ro 只读访问

​ rw 读写访问

​ sync 所有数据在请求时写入共享

NFS Server端

a. nfs安装

# yum install nfs-utils

# yum install rpcbind

NFS 服务端需要安装 rpcbindnfs-utils

b. nfs开机启动

# systemctl enable nfs-server

c. nfs启动

由于服务间的依赖关系,启动NFS之前先要确保rpcbind启动

# systemctl is-active rpcbind

# systemctl start nfs

d. 验证启动

# systemctl is-active nfs

示例1:

以读/写的方式共享目录/test 同时只能被192.168.229.0域中系统访问

1
2
mkdir /test
vim /etc/exports

修改配置文件:

1
/test	192.168.229.0/24(rw,sync)
1
2
3
4
5
6
7
8
# 刷新
exportfs -r

# 验证
exportfs -v

# 查看NFS服务器的 /etc/exports 所分享的目录数据
showmount -e 192.168.229.147

示例2:

  1. 新建目录/public,以只读的方式共享目录/public 同时只能被192.168.229.0域中系统访问
  2. 新建目录/protected,以读/写的方式共享目录/protected 同时只能被192.168.229.0域中系统访问
1
2
3
4
5
mkdir /public
mkdir /protected

# 由于客户端挂载用户是nfsnobody,本示例要求客户端挂载后可读/写,我们是用root用户建立的目录,所以要给其他人7的权限
chmod 757 /protected/

添加共享目录:

1
vim /etc/exports

修改配置:

1
2
/public		192.168.229.0/24(ro)
/protected 192.168.229.0/24(rw,sync)
1
2
exportfs -r
exportfs -v

NFS客户端

安装NFS 支持软件包

1
yum install nfs-utils

客户端只需要安装 nfs-utils 即可

查看NFS服务器的 /etc/exports 所分享的目录数据

1
2
# -e :显示某部主机的 /etc/exports 所分享的目录数据。
showmount -e 192.168.229.147

image-20201215103001006

客户端手动挂载

1
2
3
4
5
6
7
# 创建挂载目录:
mkdir /mnt/public
mkdir /mnt/protected

# 挂载:
mount -t nfs 192.168.229.147:/public /mnt/public/
mount -t nfs 192.168.229.147:/protected /mnt/protected/

客户端自动挂载

1
2
3
vi /etc/fstab

192.168.229.147:/protected /mnt/protected nfs defaults,v3 0 0

备注: 若不设置开机自动挂载NFS盘,则当服务器重启后/data/NBUMOUNT_NAS/ 将不会挂载到NFS盘上,所有Copy到/data/NBUMOUNT_NAS/ 目录下的文件将全部存放在服务器本地盘下,最终会引起服务器磁盘空间减小。