NFS 文件服务器搭建
NFS 文件服务器搭建
2019/03/07 陈信
参考:
https://qizhanming.com/blog/2018/08/08/how-to-install-nfs-on-centos-7
https://www.centos.bz/2017/07/centos7-1-install-nfs/
前言
NFS 是 Network File System 的缩写,即网络文件系统.
centos版本: 7.6
server ip: 10.0.0.104
Client ip: 10.0.0.106
服务端
步骤 1: 服务端安装
使用 yum 安装 NFS 安装包
yum install -y nfs-utils # 只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上.
步骤 2: 服务端配置
设置 NFS 服务开机启动
systemctl enable rpcbind
systemctl enable nfs
启动 NFS 服务
systemctl start rpcbind
systemctl start nfs
防火墙firewall需要打开 rpc-bind 和 nfs 的服务(这里关闭防火墙,忽略以下配置)
nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务。nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。nfs 和 portmapper两个服务是向NFS服务端传送数据使用。
firewall-cmd --zone=public --permanent --add-service=rpc-bind
firewall-cmd --zone=public --permanent --add-service=mountd
firewall-cmd --zone=public --permanent --add-service=nfs
firewall-cmd --reloadsuccess
步骤 3: 配置共享目录
服务启动之后,我们在服务端配置一个共享目录
mkdir /data; chmod 755 /data
根据这个目录,相应配置导出目录
vi /etc/exports
添加如下配置
/data/ 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash)
- /data: 共享目录位置.
- 10.0.0.0/24: 客户端 IP 范围,* 代表所有,即没有限制.
- rw: 权限设置,可读可写.
- sync: 同步共享目录.
- no_root_squash: 可以使用 root 授权.
- no_all_squash: 可以使用普通用户授权.
重启 NFS 服务.
systemctl restart nfs
可以检查一下本地的共享目录
showmount -e localhost
输出:
Export list for localhost:
/data 10.0.0.0/24
这样,服务端就配置好了,接下来配置客户端,连接服务端,使用共享目录.
客户端
步骤 1: 客户端安装(可以忽略此步)
yum install nfs-utils
步骤 2: 客户端配置(可以忽略此步)
因为系统默认都是开启了rpciod和nfsiod.
rpciod是连接到对方的nfs上进行io操作的服务进程.
nfsiod进程 nfsiod处理来自NFS的请求
设置 rpcbind 服务的开机启动 systemctl enable rpcbind
启动 NFS 服务 systemctl start rpcbind
注意: 客户端不需要打开防火墙,因为客户端时发出请求方,网络能连接到服务端即可.也不需要开启 NFS 服务,因为不共享目录.
步骤 3: 客户端连接 NFS
先查服务端的共享目录 showmount -e 10.0.0.104
在客户端创建目录
mkdir /data
挂载
mount -t nfs 10.0.0.104:/data /data # 其实只需要这1步就可以了
挂载之后,可以使用 mount 命令查看一下
mount
...
10.0.0.104:/data on /data type nfs4 (rw,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.0.0.106,local_lock=none,addr=10.0.0.104)
这说明已经挂载成功了.
步骤 4: 测试 NFS
测试一下,在客户端向共享目录创建一个文件
cd /data
touch a
之后取 NFS 服务端 10.0.0.104 查看一下
cd /data
可以看到,共享目录已经写入了.
步骤 5: 客户端自动挂载(可以忽略)
自动挂载很常用,客户端设置一下即可.
vi /etc/fstab
在结尾添加类似如下配置
10.0.0.104:/data /data nfs defaults 0 0
由于修改了 /etc/fstab,需要重新加载 systemctl.
systemctl daemon-reload
之后查看一下
mount
<完>
此时已经启动好了.如果实在不放心,可以重启一下客户端的操作系统,之后再查看一下.

浙公网安备 33010602011771号