CentOS 7下NFS 服务器和客户端安装

举报
Nick Qiu 发表于 2021/03/26 00:46:51 2021/03/26
【摘要】 参考原文,这里对原文做了一些简化,把安装过程整合成了一个shell脚本。 本文介绍如何在centos7上安装NFS,nfs是一个流行的分布式文件协议,它可以允许用户挂载远程目录到客户端目录上.本文介绍如何在centos7上安装NFS服务,以及客户端,并且在客户端上挂载服务器目录。 准备工作 本文安装了2个centos7系统; ip地址 作用 192.168.3.1...

参考原文,这里对原文做了一些简化,把安装过程整合成了一个shell脚本。

本文介绍如何在centos7上安装NFS,nfs是一个流行的分布式文件协议,它可以允许用户挂载远程目录到客户端目录上.本文介绍如何在centos7上安装NFS服务,以及客户端,并且在客户端上挂载服务器目录。

准备工作

本文安装了2个centos7系统;

ip地址 作用
192.168.3.100 nfs服务器
192.168.3.101 nfs客户端

NFS 服务端

#!/bin/bash
# 参数
export server_ip='192.168.3.100'
export clinent_ip='192.168.3.101'
export path_nfs="/var/nfsshare"
# 安装相关文件
yum install -y nfs-utils
mkdir -p ${path_nfs}
chmod -R 755 ${path_nfs}
chown nfsnobody:nfsnobody ${path_nfs}
# 设置开机启动
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
# 配置客户端
cat >/etc/exports <<EOF
/var/nfsshare ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
# /home ${clinent_ip}(rw,sync,no_root_squash,no_all_squash)
EOF
# 重启,配置防火墙
systemctl restart nfs-server
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload

NFS 客户端

#!/bin/bash
# 参数
export server_ip='192.168.3.100'
export path_nfs="/var/nfsshare"
# 安装工具
yum install -y nfs-utils
# 挂载
# mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs${path_nfs}
# mount -t nfs ${server_ip}:/home /mnt/nfs/home/
mount -t nfs ${server_ip}:/var/nfsshare /mnt/nfs${path_nfs}

# 添加开机启动
cat >/etc/fstab <<EOF
/var/nfsshare ${server_ip}(rw,sync,no_root_squash,no_all_squash)
# /home ${server_ip}(rw,sync,no_root_squash,no_all_squash)
EOF

结语

  • 客户端上查看挂载情况:
[root@localhost nfsshare]# df -kh 
文件系统 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root 17G  1.1G   16G 7% /
devtmpfs 910M 0  910M 0% /dev
tmpfs 920M 0  920M 0% /dev/shm
tmpfs 920M  8.4M  912M 1% /run
tmpfs 920M 0  920M 0% /sys/fs/cgroup
/dev/sda1 1014M  142M  873M   14% /boot
192.168.3.100:/var/nfsshare   17G  1.1G   16G 7% /mnt/nfs/var/nfsshare
tmpfs 184M 0  184M 0% /run/user/0
  • 我们可以测试在客户端/mnt/nfs/var/nfsshare目录下新建,修改文件,在服务器也能够同步出现该文件。

  • /etc/exports语法

#:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。  
/home/work 192.168.3.*(rw,sync,root_squash)  
/home  192.168.3.120 (rw,sync)  
/public  * (rw,sync) 配置文件每行分为两段:第一段为共享的目录,使用绝对路径,第二段为客户端地址及权限。  
地址可以使用完整IP或网段,例如10.0.0.810.0.0.0/2410.0.0.0/255.255.255.0当然也可以地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.chengyongxu.com 权限有:  
rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7  
ro:read-only,只读;  
sync:文件同时写入硬盘和内存;  
async:文件暂存于内存,而不是直接写入内存;  
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。  
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;  
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;  
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;  
anongid:匿名用户的GID值。 
  • 卸妆目录
 umount -l 192.168.3.93:/var/nfsshare

文章来源: www.jianshu.com,作者:Nick_4438,版权归原作者所有,如需转载,请联系作者。

原文链接:www.jianshu.com/p/c4baebb724b6

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。