Skip to main content

3.NFS存储

简介

NFS(Network File System)是一种分布式文件系统协议,用于在网络上共享文件系统,使多台计算机能够通过网络访问和共享文件。

安装和使用

安装NFS服务器软件包

sudo dnf install nfs-utils

配置NFS服务器

编辑NFS服务器配置文件 /etc/exports,添加要共享的目录和相关选项

sudo nano /etc/exports
#在文件中添加以下内容
/mnt/nfs_share *(rw,sync,no_root_squash)

参数简介:

  • /mnt/nfs_share 是要共享的目录的路径。
  • * 表示允许所有主机访问共享。
  • rw 表示读写权限。
  • sync 表示同步写入。
  • no_root_squash 表示允许root用户访问,并且不进行权限限制。

应用配置更改

sudo exportfs -a

启动NFS服务

sudo systemctl start nfs-server
sudo systemctl enable nfs-server

配置防火墙

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --reload

在客户端上挂载NFS共享

在要访问NFS共享的客户端上,执行以下命令将共享目录挂载到本地目录

sudo mkdir /mnt/nfs_mount
sudo mount -t nfs <NFS服务器的IP地址或主机名>:/mnt/nfs_share /mnt/nfs_mount

验证NFS挂载

df -h

配置文件简介

主要配置文件:/etc/exports ,定义了哪些目录将被共享,以及如何共享。

以下是配置文件内容:

/path/to/directory client_ip(options)
  • /path/to/directory: 要共享的目录路径。
  • client_ip: 允许访问该共享的客户端IP地址或网段。可以使用通配符 * 表示所有主机,或使用特定的IP地址或网段。
  • options: 设置共享的选项,例如:
    • rw: 可读可写权限。
    • ro: 只读权限。
    • sync: 同步写入。
    • async: 异步写入。
    • no_root_squash: 不对root用户进行权限限制。
    • root_squash: 将root用户映射为匿名用户。
    • all_squash: 将所有用户映射为匿名用户。
    • no_access: 拒绝指定的客户端访问。

注意点

client_ip部分可以使用通配符来指定多个客户端或网段

/path/to/directory *.example.com(options)	#允许所有以 .example.com 结尾的主机访问共享

注释和空行,在配置文件中可以使用 #进行注释,空行将被忽略。

示例

/shared *(rw,sync)
/home 192.168.1.100(rw) 192.168.1.101(ro)
  • /shared 目录对所有主机可读写,并采用同步写入模式。
  • /home 目录对IP地址为 192.168.1.100 的主机可读写,对IP地址为 192.168.1.101 的主机为只读权限。