一、环境准备
为了搭建并且检验NFS服务的配置,我们需要准备两台安装Linux系统(这里以Centos7为例)的服务器,一台充当NFS服务端,开放共享目录,提供NFS存储服务;一台充当NFS客户端,挂载服务端共享目录到本地,使用NFS存储服务。
类型 | IP |
---|---|
服务端 | 192.168.196.46 |
客户端 | 192.168.196.47 |
1.关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机自启动
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
将未注释的SELINUX行的值改为disabled
vim /etc/sysconfig/selinux
SELINUX=disabled
二、服务端安装配置NFS服务(需要先关闭防火墙)
1. 安装nfs-utils与rpcbind
yum -y install nfs-utils rpcbind
2. 编辑nfs的配置文件
-
编辑nfs配置文件(默认空的)
IP改为自己的IP
vim /etc/exports
/public 192.168.196.46/24(rw)
/protected 192.168.196.46/24(rw)
- 创建文件夹并启动
# 创建文件夹
mkdir /public
mkdir /protected
# 使配置生效
exportfs -r
# 按照顺序启动
systemctl start rpcbind
systemctl start nfs
# 设置开机自启动
systemctl enable rpcbind
systemctl enable nfs
# 校验配置
showmount -e localhost
3. 使用rpcinfo -p查看并验证
[root@localhost ~]
rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 43763 status
100024 1 tcp 59968 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 51863 nlockmgr
100021 3 udp 51863 nlockmgr
100021 4 udp 51863 nlockmgr
100021 1 tcp 32832 nlockmgr
100021 3 tcp 32832 nlockmgr
100021 4 tcp 32832 nlockmgr
三、客户端配置(需要先关闭防火墙)
1. 安装nfs但无需启动
yum -y install nfs-utils rpcbind
2. 查看服务端挂载的目录 用自己的IP地址
[root@localhost data]
showmount -e 192.168.196.46
Export list for 192.168.196.46:
/protected 192.168.196.46/24
/public 192.168.196.46/24
3. 挂载要共享的目录
# 创建新文件夹
mkdir -p /mnt/public
mkdir -p /mnt/data
# 挂载目录--两种方法二选一(ip改为自己的ip)
#(第一种方法,不会开机自启自动挂载)
mount -t nfs 192.168.196.46:/public /mnt/public
mount -t nfs 192.168.196.46:/protected /mnt/data
#(第二种方法,可以开机自启自动挂载)
vim /etc/fstab
192.168.196.46:/public /mnt/public nfs defaults 0 0
192.168.196.46:/protected /mnt/data nfs defaults 0 1
mount -a #使配置生效
查看挂载盘
df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.6M 901M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 1.8G 16G 11% /
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 182M 0 182M 0% /run/user/0
192.168.196.46:/public 17G 1.8G 16G 11% /mnt/public
192.168.196.46:/protected 17G 1.8G 16G 11% /mnt/data
四、验证测试
- 在服务端的 /public 目录中创建一个文件(如a.txt),然后去客户端本地 /mnt/public 目录中查看,若存在a.txt,则说明配置成功
- 在客户端本地 /mnt/public 目录中创建一个文件(如b.txt),然后去服务端的 /public 目录中查看,若存在b.txt,则说明配置成功
- 同理测试另一个挂载目录
客户端无法创建文件,权限不足解决
在服务端做目录权限的更改
cd /
sudo chown nfsnobody public
sudo chgrp nfsnobody public
cd /
sudo chown nfsnobody protected
sudo chgrp nfsnobody protected