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

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

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

同步滚动:

参考原文,这里对原文做了一些简化,把安装过程整合成了一个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/homemkdir -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% /boot192.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.8或10.0.0.0/24,10.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


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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