简介
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
安装
服务端
在线安装
yum -y install rpcbind nfs-utils
离线安装
#下载离线安装包
yum -y install --downloadonly --downloaddir=/root/nfs/ nfs-utils rpcbind
#打包发送到目标主机
tar -cvf nfs.tar.gz nfs/
#目标主机安装
tar -xvf nfs.tar.gz -C /usr/loacl/
cd /usr/loacl/nfs
yum -y install *.rpm
配置服务
注意:/data/share将被共享出去。
#创建共享目录
mkdir -p /data/share
#编辑配置文件
echo "/data/share/ 192.169.0.0/16(rw,sync,no_root_squash,no_all_squash)" > /etc/exports
配置解释
参数 | 解释 | 位置 |
---|---|---|
/data/share/ | 共享目录 | 第一列,共享目录 |
192.169.0.0/16 | 允许连接的IP主机连接 | 第二列,可访问主机 |
nfsclient.test.com | 允许连接的域名主机连接 | 第二列,可访问主机 |
192.169.1.46 | 允许指定的IP主机连接 | 第二列,可访问主机 |
*.test.com | 允许指定域名下的所有主机连接 | 第二列,可访问主机 |
* | 允许所有主机连接 | 第二列,可访问主机 |
rw | 共享目录权限设置,可读可写 | 第三列,共享参数 |
ro | 共享目录权限设置,只读 | 第三列,共享参数 |
sync | 所有数据在请求时写入共享 | 第三列,共享参数 |
async | NFS在写入数据前可以相应请求 | 第三列,共享参数 |
secure | NFS通过1024以下安全TCP/IP端口发送数据 | 第三列,共享参数 |
insecure | NFS通过1024以上端口发送数据 | 第三列,共享参数 |
wdelay | 如果多个用户要写入NFS共享目录,则归组写入(默认) | 第三列,共享参数 |
no_wdelay | 如果多个用户要写入NFS共享目录,则立即写入(当使用async时,无需配置此项) | 第三列,共享参数 |
hide | 在NFS共享目录中不共享其子目录 | 第三列,共享参数 |
no_hide | 共享NFS目录的子目录 | 第三列,共享参数 |
subtree_check | 如果共享/usr/bin之类的子目录时,强制NFS检查父目录权限(默认) | 第三列,共享参数 |
no_subtree_check | 如果共享/usr/bin之类的子目录时,不检查父目录权限 | 第三列,共享参数 |
root_squash | root用户的所有请求映射成如anonymous用户一样的权限(默认) | 第三列,共享参数 |
no_root_squash | root用户具有根目录的完全管理访问权限 | 第三列,共享参数 |
all_squash | 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 | 第三列,共享参数 |
no_all_squash | 共享目录保留UID和GID | 第三列,共享参数 |
anonuid=xxx | 指定NFS服务器/etc/paswd文件中匿名用户的UID | 第三列,共享参数 |
启动
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
检查共享
showmount -e
showmount -e 127.0.0.1
showmount -e 192.169.1.45
客户端
在线安装
yum -y install rpcbind nfs-utils
离线安装
#下载离线安装包
yum -y install --downloadonly --downloaddir=/root/nfs/ nfs-utils rpcbind
#打包发送到目标主机
tar -cvf nfs.tar.gz nfs/
#目标主机安装
tar -xvf nfs.tar.gz -C /usr/loacl/
cd /usr/loacl/nfs
yum -y install *.rpm
启动客户端
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
检查共享
注意: 192.169.1.45是服务端的IP地址.
showmount -e 192.169.1.45
共享挂载
挂载共享磁盘
#创建共享目录挂载点
mkdir /www
#临时挂载
mount -t nfs 192.169.1.45:/data/share/ /www
#永久挂载
echo "192.169.1.45:/data/share/ /www nfs defaults 0 0" >> /etc/fstab
mount -a
检查共享挂载情况
df -h | grep www
常用命令
showmount
参数 | 解释 | 样例 |
---|---|---|
-a | 常再NFS服务端使用,用于显示已经挂载本机NFS命令的客户端 | showmount -a |
-e | 显示指定NFS服务端上exports设置的目录 | showmount -e |
mount
参数 | 解释 | 样例 |
---|---|---|
-t | 指定挂载目录的类型 | mount -t nfs 192.169.1.45:/data/share |