目录
概念
NFS(Network File System,网络文件系统)是一种允许计算机通过网络共享文件的分布式文件系统协议。通过NFS,客户端就可以像访问本地存储一样访问远程服务器上的文件。
NFS服务器配置
安装NFS服务器:
1.在基于Debian的系统(如Ubuntu)上:
2.sudo apt update
3.sudo apt install nfs-kernel-server
可以运行以下命令检查是否有安装:
1.# Debian/Ubuntu
2.sudo systemctl status nfs-kernel-server
3.
4.# CentOS/RedHat
5.sudo systemctl status nfs-server
配置NFS服务器
安装好NFS服务器后,文件系统会出现一个/etc/exports 文件,它定义了哪些文件系统可以被远程NFS客户端挂载以及挂载的权限。该文件的每一行都指定了一个文件系统的导出政策,包括路径、允许访问的客户端、以及具体的选项。
每行的基本格式如下:
<directory> <host1>(<options1>) <host2>(<options2>) ...
<directory>:需要导出的本地文件系统路径。
<host>:可以是IP地址、主机名、子网或者通配符,指定允许访问的客户端。
<options>:定义访问权限和行为的功能选项,多个选项用英文逗号,隔开。常用选项如下:
rw:允许读写访问权限。
ro:只读访问权限。
sync:写请求应答前必须将数据写入磁盘。
async:写请求应答前不必等待数据完全写入磁盘。
root_squash:将root用户请求映射为匿名用户,增加安全性。
no_root_squash:root用户的请求不做映射,保留root权限。
all_squash:所有用户的请求都映射为匿名用户。
anonuid 和 anongid:为匿名用户指定默认的UID和GID。
subtree_check:检查要求访问的文件是否真的包含在已导出的目录树中。
no_subtree_check:禁用了 subtree_check ,可以提高性能,但降低了一定的安全性。在涉及到符号链接或移动文件等操作时,可能会导致服务器错误地处理对未授权路径的访问请求。
实例如下:
/home 192.168.1.0/24(rw,sync,no_subtree_check)
/usr/local/share *(ro,async,root_squash)
/data 192.168.1.0/24(rw,sync,no_root_squash) 10.0.0.10(ro,root_squash)
配置文件修改后,需要重新加载NFS服务,以便设置生效,或者重启NFS服务,即以下两条命令之一:
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
NFS客户端配置和使用
安装NFS客户端
1.Debian/Ubuntu:
2.sudo apt install nfs-common
3.CentOS/RedHat:
4.sudo yum install nfs-utils
可以运行以下命令检查是否有安装:
1.# Debian/Ubuntu
2.apt list --installed | grep nfs-common:检查该软件包是否安装
3.systemctl status nfs-common:检查相关服务的状态
4.
5.# CentOS/RedHat
6.rpm -qa | grep nfs-utils
挂载到服务器
通常选择挂载到/mnt或/media下,但要保证本地目录是一个空目录,否则原有内容会被隐藏,如:
mount 192.168.0.30:/mnt/share /root/jsj
设置自动挂载(可选)
为了在每次启动时自动挂载NFS共享,可以在 /etc/fstab 文件中添加以下条目:
<server_IP>:共享目录 本地目录 nfs defaults 0 0
解除挂载
用umount命令解挂。
本文详细介绍了NFS网络文件系统的工作原理,包括在Debian/Ubuntu和CentOS/RedHat系统上配置NFS服务器,设置文件系统导出策略,安装和使用NFS客户端,挂载及自动挂载,以及如何解除挂载。
1566

被折叠的 条评论
为什么被折叠?



