【Linux基础服务教程】NFS网络文件共享

一、关于NFS

  • NFS 网络文件系统
  • Network File System
  • NFS提供数据存储能力,同时借助RPC机制实现数据共享传输
  • 作用
    • 中小型业务的共享存储
    • 适用于Linux系统间
  • 端口号:2049

nfs

1.软件包和配置文件

  • 软件
    • nfs-utils, rpcbind
  • 配置文件
    • /etc/exports

2.配置文件格式

目录名称		客户端地址(权限,权限)     客户端地址(权限,权限)

客户端地址

  • 单个地址 192.168.1.1
  • 网段 192.168.1.0/24
  • 所有 *
  • 主机名 node01.linux.com

常用权限

  • ro 只读
  • rw 读写
  • sync 同步
    • 数据安全性高
  • async 异步
    • 数据处理速度快
  • no_root_squash 保留root用户权限

二、配置只读共享

1.关闭防火墙和SElinux

步骤省略

2.创建测试文件

[root@nfsserver ~]# mkdir /webdata
[root@nfsserver ~]# touch /webdata/{1..10}.html

3.安装软件包

[root@nfsserver ~]# yum install nfs-utils rpcbind 

4.修改配置文件

[root@nfsserver ~]# vim /etc/exports
/webdata	192.168.140.11(ro)  192.168.140.12(ro)	#目标机的IP和只读权限,可以直接填写网段

5.启动NFS服务

[root@nfsserver ~]# systemctl start nfs-server
[root@nfsserver ~]# systemctl enable nfs-server

6.查看共享目录

[root@nfsserver ~]# showmount -e localhost 
Export list for localhost:
/webdata 192.168.140.12,192.168.140.11

三、客户端连接NFS服务器

自行准备第二台虚拟机

1.安装NFS服务

[root@localhost ~]# yum install nfs-utils 

2.挂载NFS服务器

[root@localhost ~]# vim /etc/fstab 
192.168.140.10:/webdata	 /web	nfs	defaults	0 0

[root@localhost ~]# mount -a

[root@localhost ~]# df -hT | grep "web"
192.168.140.10:/webdata nfs4       18G  1.3G   17G   7% /web

四、配置读写共享

回到NFS服务器

1.创建测试文件

[root@nfsserver ~]# mkdir /dbdata
[root@nfsserver ~]# touch /dbdata/{1..10}.sql

2.修改配置文件

[root@nfsserver ~]# cat /etc/exports
/dbdata		192.168.140.11(rw,async,no_root_squash)    192.168.140.12(rw,async,no_root_squash)
  • rw 读写权限
  • async 同步
  • no_root_squash 保留root用户权限 #默认属主和属组是nfsnobody

3.添加权限(重要)

[root@nfsserver ~]# chmod o+w /dbdata/	#其他用户添加w权限

4.重读配置文件

[root@nfsserver ~]# exportfs -rav  
exporting 192.168.140.11:/dbdata
exporting 192.168.140.12:/dbdata
exporting 192.168.140.11:/webdata
exporting 192.168.140.12:/webdata

5.客户端挂载

[root@localhost ~]# vim /etc/fstab 
192.168.140.10:/dbdata	 /db	nfs	defaults	0 0

[root@localhost ~]# mount -a

[root@localhost ~]# df -hT | grep "db"
192.168.140.10:/dbdata  nfs4       18G  1.3G   17G   7% /db