在CentOS中搭建NFS

概述

NFS是一款经典的网络文件系统,在Linux上我们可以通过创建一个NFS服务在不同的服务器之间共享磁盘文件,而不用在多个服务器之间进行不断的拷贝复制,麻烦且浪费存储空间。在k8s中我们也可以使用NFS来作为我们的存储类,实现文件的持久化存储。

安装

接下来我们介绍一下如何在CentOS中安装NFS服务,以及如何在客户端机器挂载NFS。

服务端

操作系统:CentOS 7.6 64bitIP地址:  192.168.202.151

为服务端安装NFS相关组件

yum -y install nfs-utils

创建需要共享的NFS目录,并赋予相关权限

mkdir /home/nfschmod 777 /home/nfs

编辑配置文件/etc/exports来配置我们的NFS服务的访问和同步策略

  • ro 只读
  • rw 可读写
  • sync 同步写数据,保证数据不丢失
  • async 异步写数据,在写入持久化存储之前进行请求响应,如果服务器重启可能会导致文件丢失或者损坏
  • root_squash 将root用户(uid/gid 0)的请求映射为匿名用户(anonymous uid/gid)
  • no_root_squash 禁用root_squash规则
  • all_squash 将所有用户都映射为匿名用户
  • no_all_squash 禁用all_squash规则,默认选项
  • anonuid 指定要映射为匿名用户的uid,例如:anonuid=150
  • anongid 指定要映射为匿名用户的gid,例如:anongid=100

这里我们挂载的NFS指定为可读写的目录,并且进行同步读写,将所有root用户都映射为匿名用户

/home/nfs 192.168.202.1/24(rw,sync,root_squash)

完整的配置参数介绍可以使用以下命令查看

man exports

配置完成后,启动NFS相关的服务

systemctl restart rpcbindsystemctl start nfs-server

如果需要的话,可以配置NFS服务端为开机自启动

systemctl enable rpcbindsystemctl enable nfs-server

如果不再需要开机启动时,也可以使用以下命令禁用开机自启动

systemctl disable rpcbindsystemctl disable nfs-server

客户端

操作系统:CentOS 7.6 64bitIP地址:  192.168.202.152

为客户端安装NFS相关组件

yum -y install nfs-utils

创建需要挂载到本地的目录并赋予权限,这里任意指定,不一定要与服务端相同

mkdir /home/nfschmod 777 /home/nfs

将NFS文件系统挂 江苏干部培训学校 www.jxganxun.cn 载到本地的目录上

mount -t nfs 192.168.202.151:/home/nfs /home/nfs

如若不再需要可以使用以下命令卸载NFS目录

umount /home/nfs

如果执行上述的mount命令一直处于等待状态,可能是服务器上启用了防火墙或者是云服务器本身的防火墙限制了端口的访问,需要在NFS服务端开放以下端口号的访问权限:111204920048。如果是云服务器可以到各自的网站后台去配置防火墙策略,如果是本地的机器可以使用以下命令开放指定的端口。

firewall-cmd --zone=public --add-port=111/tcp --permanentfirewall-cmd --zone=public --add-port=111/udp --permanentfirewall-cmd --zone=public --add-port=2049/tcp --permanentfirewall-cmd --zone=public --add-port=20048/tcp --permanentfirewall-cmd --zone=public --add-port=20048/udp --permanentfirewall-cmd --reload

上述端口信息都可以在以下文件中查找到

/usr/lib/firewalld/services/nfs.xml/usr/lib/firewalld/services/rpc-bind.xml/usr/lib/firewalld/services/mountd.xml

如果你不关心具体的端口号,也可以直接使用以下命令,直接根据配置文件放行相应的端口

firewall-cmd --zone=public --add-service=nfs --permanentfirewall-cmd --zone=public --add-service=rpc-bind --permanentfirewall-cmd --zone=public --add-service=mountd --permanentfirewall-cmd --reload

如果想要在开机的时候自动挂载NFS目录,则需要在/etc/fstab文件中新增一行添加以下记录

192.168.202.151:/home/nfs /home/nfs nfs defaults 0 0

其他命令

# 在服务端执行,查看nfs状态信息nfsstat -s# 在客户端执行,查看nfs挂载信息nfsstat -m# 查看服务端的远程共享信息,此命令会调用服务端的20048端口showmount -e 192.168.202.151# 查看rpcbind注册的所有端口号rpcinfo -p# 在服务端执行,重新挂载/etc/exports中配置exportfs -r
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值