CentOS部署NFS

1.服务器端安装

(1)查看系统运行状态

uname -a

(2)NFS软件安装

要部署NFS服务,必须安装两个软件包:NFS-utils,RPC主程序。

  • NFS-utils:NFS 的主程序,包含 rpc.nfsd 和 rpc.mount 这两个 deamons.

  • Rpcbind:RPC 主程序,可以将 NFS 视为 RPC 下的一个子程序。

    查询 nfs-utils 和 rpcbind 包是否安装:

rpm -qa nfs-utils rpcbind

如果没有安装,可以用 yum 命令进行安装

yum install -y nfs-utils rpcbind

(3)启动服务并检查

服务端要启动 rpcbind 和 NFS 服务且需按顺序启动,客户端要启动 rpcbind 服务不启动 NFS 服务。

systemctl start rpcbind.service
systemctl start nfs-server		# 如果失败,可以换成 systemctl start nfs.service

查看系统中启用的端口:

netstat -lnt

查看 NFS 向 RPC 注册的端口信息:

rpcinfo -p
RPC 主程序的三个进程含义
rpc.mountedNFS 挂载程序,客户端是否能够登入
nfsdNFS 主程序,管理客户端能够取得的权限
rpc.rqutod管理共享配额

将 NFS 与 RPC 服务加入开机自动启动

systemctl enable rpcbind.service
systemctl enable nfs-server			# 如果不能成功,可以使用 systemctl enable nfs.service

2.配置 NFS 服务

(1)创建共享目录 /data

mkdir -p /data

修改 /data 及子文件属主属组 nfsnobody

chown -R nfsnobody.nfsnobody /data		# 无效就直接 chmod 777 /data 或者尝试 nobody.nobody
ll 

(2)编辑 NFS 服务端配置文件

vi /etc/exports

# 内容为(ip 地址需要修改):/data 192.168.148.136/24(rw,sync,all_squash)
# 格式:[共享目录] [自身ip地址/类型] [共享参数设置]
# 共享参数说明:
# ro				目录可读
# rw				目录可读可写
# sync				将数据同步写入内存缓冲区与磁盘中
# async				将数据先写入内存缓冲区,有必要时才写入磁盘
# all_squash		将远程访问用户及组全映射成默认用户或用户组nfsnobody(或nobody)
# no_all_squash		与all_squash配置相反
# root_squash		将root用户及所属组映射成默认用户或用户组
# no_root_squash	与root_squash配置相反
# anonuid			将远程访问用户映射成指定用户及ID的用户
# anongid			将远程访问用户组映射成指定用户组ID的用户组

(3)重新加载 NFS 服务配置文件

exportfs -rv

(4)检查或挂载

showmount -e 192.168.148.136		# ip 地址需要修改

​ 将 /data 共享目录挂载到 /mnt 目录:

mount -t nfs 192.168.148.136:/data /mnt		# ip 地址需要修改
df -h

(5)NFS 开启防火墙配置

​ 将 NFS 服务的端口设置成固定端口,设置成功后需要重启 rpcbind、nfs 服务。

vim /etc/sysconfig/nfs

#内容为
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002                                                                         LOCKD_UDPPORT=30002                                                                         MOUNTD_PORT=30003                                                                           STATD_PORT=30004  

systemctl restart rpcbind.service
systemctl restart nfs-server		# 如果不能成功,可以使用 systemctl restart nfs.service

​ 配置防火墙开放的端口号,配置好后需要重启 iptables.service

dnf install iptables-services

# 关闭默认使用的防火墙
systemctl stop firewalld
systemctl mask firewalld

# 修改配置文件
vi /etc/sysconfig/iptables

# 内容为
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 30001:30004 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 30001:30004 -j ACCEPT

service iptables save		# 使配置生效
systemctl restart iptables.service	# 重启服务

3.NFS 客户端的部署

(1)安装 NFS 与 RPC 服务并启动

yum install -y nfs-utils rpcbind
systemctl start rpcbind.service

(2)查看挂载情况

showmount -e 192.168.148.136	# 服务器端的 ip 地址

(3)客户端挂载共享目录

mkdir /nfsclient
mount -t nfs 192.168.148.136:/data /nfsclient	# 服务器端 ip
df -h

(4)测试共享

​ 在客户端新建 123.txt 文件,在服务端的共享目录 /data 下也会出现

cd /nfsclient/
ll
touch 123.txt
ll

(5)mount 挂载性能优化(在客户端操作)

time dd if=/dev/zero of=/nfsclient/text-file bs=100k count=1000

​ 卸载原来的挂载

umount -lf -t nfs 192.168.148.136:/data /nfsclient/

​ 安全优加优化的挂载

time dd if=/dev/zero of=/nfsclient/text-file bs=100k count=1000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值