基于CentOS的NFS服务安装配置
本节以CentOS 7为例介绍一下NFS服务的安装,这里的NFS服务是指Linux内核中的nfsd服务及配套的用户态程序。它是NFS分布式文件系统的服务端。当然,除了nfsd外,还有很多其它的NFS分布式文件系统服务端,比如用户态的Ganesha。但是,这些不在本文的范围内,今天我们主要介绍一下nfsd的安装和使用。
为了简化安装,我们将操作系统的防火墙和SELinux都关闭。关闭这些特性并不会影响NFS的功能,只是用来避免使用过程中出现一些问题。如果在生产环境,为了数据的安全,这些特性通常是需要开启的。下面我们就介绍一下如何安装及配置NFS服务。
步骤 1: 服务端安装
sudo yum install nfs-utils
步骤 2: 服务端配置
我们期望在操作系统启动的时候可以自动启动NFS服务,因此我们这里需要设置一下 NFS 服务开机启动,具体命令如下:
sudo systemctl enable rpcbind
sudo systemctl enable nfs
软件安装后服务可能没有启动,这时需要手动启动一下 NFS 服务。如果已经启动了就不需要执行该步操作了。
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs
步骤 3: 配置共享目录
完成上述操作后,NFS服务已经正常工作了,但是我们在客户端仍然没有办法访问该服务。这是因为此时NFS服务还没有配置导出的资源。接下来我们在服务端配置一个共享目录,也就是要导出的资源。首先要创建一个目录,并且修改该目录的权限:
$ sudo mkdir /data
$ sudo chmod 755 /data
有了基本的资源后,我们就可以配置导出的目录了。NFS的配置非常简单,打开配置文件:
sudo vi /etc/exports
在打开的文件中添加如下内容。
/data/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
对于上述配置项的含义,我们解释如下:/data: 共享目录位置。192.168.0.0/24: 客户端 IP 范围,本文是限制某个子网,如果是* 代表没有限制。rw: 权限设置,可读可写。sync: 同步共享目录。no_root_squash: 可以使用 root 授权。no_all_squash: 可以使用普通用户授权。
至此,我们已经完成nfsd服务的安装,重启一下nfs服务就可以使用了。为了确认是否安装成功,可以通过如下命令进行确认。
showmount -e localhost
NFS客户端挂载
1、检查 S1,是否具有NFS服务
rpm -qa |grep nfs
yum install nfs-utils
2、在S2创建 /tmp/S1文件夹
mkdir /tmp/S1
3、挂载(S2上执行)
mount -t nfs 192.168.1.1:/tmp/share /tmp/S1
4、取消挂载
umount /tmp/S1
通过/etc/fstab实现开机自动挂载NFS
1 10.10.33.38:/data /mnt/data/ nfs defaults 0 0