title: 01-nfs认识
order: 1
icon: lightbulb
nfs是一种分布式文件系统,允许网络中不同操作系统的计算机间共享文件,其通信协议定基于 TCP/IP协议层,可以将远程计算机磁盘挂载到本地,读写文件跟本地磁盘一样。
在配置之前先了解nfs主要文件和进程。
(1) nfs有的发行版名字叫做nfsserver,主要用来控制nfs服务的启动和停止,安装完成后在/etc/init.d 目录下。
(2) rpc.nfsd是基本的nfs守护进程,主要功能是控制客户端是否可以登录服务器。
(3) rpc.mountd是rpc安装守护进程,主要功能是管理nfs的文件系统。通过配置文件共享指定的目 录,同时根据配置文件做一些权限验证。
(4) rpcbind是一个管理rpc连接的程序, rpcbind服务对nfs是必须的,因为是nfs的动态端口的配置的 守护进程,如果rpcbind不启动, nfs则无法启动。
(5)exportfs如果修改了/etc/exports文件后不需要重新激活nfs,只要重新扫描一遍/etc/exports文 件,并且重新将设定加载即可。
(6)showmount显示指定nfs服务器连接客户端的信息,常用参数如表5.2所示:
3、认识配置文件/etc/exports
要配置nfs服务,首先就是编辑/etc/exports文件。在该文件中,每一行则代表了一个共享目录,并且描 述了该共享目录如何被共享,首次编辑打开此文件是空白的,需要手动添加参数及内容。其格式如下:
1 #《共享目录》 【客户端1 选项】 【客户端2 选项】
2 /opt/ceshi *(rw,all_squash,sync)
- 共享目录:是指nfs系通中需要给共享客户使用的目录
- 客户端:是指网络中可以访问到这个nfs共享目录的计算机
客户端的常用指定方式:
(1)指定IP地址: <192.168.1.1>
(2)指定子网中的所有主机: <192.168.1.0>/24
(3)指定域名中的主机: www.ceshi.com
(4)指定所有主机: *
NFS常用参数选项说明
实例:创建NFS文件系统
准备: centos7.0或7.0以上系统两个。
第一台系统中创建nfs服务端。
1、首先检查系统中是否安装nfs系统。
[root@host-172-16-0-5 ~]# rpm -qa | grep -i nfs
我们发现系统中并没有安装nfs系统。
2、在yum源可用的情况下,使用yum工具安装nfs、 rpcbind包。
[root@host-172-16-0-5 ~]# yum install -y nfs-utils rpcbind
3、创建共享目录,本例以: /opt/ceshi目录为例
[root@host-172-16-0-5 ~]# mkdir -p /opt/ceshi
4、编辑nfs主配置文件,并添加内容:
[root@host-172-16-0-5 ~]# vi /etc/exports
/opt/ceshi *(rw,root\_squash,sync) //打开后添加此内容
5、重启nfs服务和rpcbind服务
[root@host-172-16-0-5 ~]# systemctl restart nfs-server && systemctl restart rpcbind
6、检查服务是否启动
[root@host-172-16-0-5 ~]# rpcinfo -p
7、本机测试服务情况
[root@host-172-16-0-5 ~]# showmount -e 127.0.0.1
第二台系统中创建nfs客户端。
1、检查系统中有没有安装nfs服务,没有安装通过yum安装。
[root@host-172-16-0-6 ~]# yum install nfs-utils -y
2、创建一个目录用来挂在nfs服务端
[root@host-172-16-0-6 ~]# mkdir -p /opt/ceshi
3、将nfs服务端挂载到本地/opt/ceshi目录下
[root@host-172-16-0-6 ~]# mount -t nfs -o rw 172.16.0.5:/opt/ceshi/ /opt/ceshi/
4、验证查看一下
[root@host-172-16-0-6 ~]# df -h
5、配置永久挂载
[root@host-172-16-0-6 ~]# echo "172.16.0.5:/opt/ceshi /opt/ceshi nfs defaults 0 0" >> /etc/fstab
6、查看永久挂载配置情况
说明:如果客户端挂载不了情检查防火墙,配置nfs系统前请关闭防火墙,或者放行nfs端口。
评论区