NFS服务搭建

353 阅读4分钟

一、环境准备

为了搭建并且检验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

四、验证测试

  1. 在服务端的 /public 目录中创建一个文件(如a.txt),然后去客户端本地 /mnt/public 目录中查看,若存在a.txt,则说明配置成功
  2. 在客户端本地 /mnt/public 目录中创建一个文件(如b.txt),然后去服务端的 /public 目录中查看,若存在b.txt,则说明配置成功
  3. 同理测试另一个挂载目录

客户端无法创建文件,权限不足解决

在服务端做目录权限的更改

cd /
sudo chown nfsnobody public
sudo chgrp nfsnobody public

cd /
sudo chown nfsnobody protected
sudo chgrp nfsnobody protected

相关文章: