配置NFS文件共享服务
2023-02-18 16:45:51 时间
NFS 网络文件系统,是一种使用于分布式文件系统的协议,功能是通过网络让不同的机器,不同的操作系统能够彼此分享各自的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中,在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样.
NFS服务器是通过读取/etc/exports
配置文件设定那个客户端可以访问那些NFS共享文件系统,如下我们提供了NFS的基本配置写法.
[共享目录] [允许谁来访问][权限] [可用主机名][权限] [其他主机权限]
/nfs 192.168.1.1(rw) localhost(rw) *(ro,sync)
/nfs 192.168.1.0/24(rw) localhost(rw) *(ro,sync)
/nfs 192.168.1.1(rw) 192.168.1.2(ro) 192.168.1.3(ro,sync)
NFS 服务端配置
1.在配置NFS共享文件之前,我们先来放行NFS的几个常用服务,并将防火墙默认设置为拒绝状态.
[root@localhost ~]# firewall-cmd --add-service=nfs
[root@localhost ~]# firewall-cmd --add-service=mountd
[root@localhost ~]# firewall-cmd --add-service=rpc-bind
[root@localhost ~]# firewall-cmd --add-service=nfs --permanent
[root@localhost ~]# firewall-cmd --add-service=mountd --permanent
[root@localhost ~]# firewall-cmd --add-service=rpc-bind --permanent
2.通过YUM仓库快速安装NFS相关的软件包.
[root@localhost ~]# yum install -y rpcbind nfs-utils*
Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
Nothing to do
3.创建需要共享的文件,并拷贝相关的文件内容,并设置SeLinux规则.
[root@localhost ~]# mkdir -p /public
[root@localhost ~]# chmod o+rw /public/
[root@localhost ~]# chcon -R -t public_content_t /public/
4.修改NFS主配置文件,并写入要访问的主机列表.
[root@localhost ~]# vim /etc/exports
/public 192.168.1.0/24(rw,sync)
#[共享目录] [允许谁来访问][权限] [可用主机名][权限] [其他主机权限]
#/nfs 192.168.1.1(rw) localhost(rw) *(ro,sync)
#/nfs 192.168.1.0/24(rw) localhost(rw) *(ro,sync)
5.重启NFS服务,和守护进程,并设置开机自启动.
[root@localhost ~]# systemctl restart nfs
[root@localhost ~]# systemctl restart rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl restart nfs-server
[root@localhost ~]# systemctl enable nfs-server
NFS客户端配置
1.通过YUM仓库快速安装NFS相关的软件包.
[root@localhost ~]# yum install -y rpcbind nfs-utils*
Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
Nothing to do
2.创建挂载点,并设置SeLinux规则.
[root@localhost ~]# mkdir -p /mnt/nfsmount
[root@localhost ~]# chcon -R -t public_content_t /mnt/nfsmount
3.手动挂载目录,可通过mount
命令来实现,并将配置文件写入到开机自启动列表.
# mount -t nfs -o 选项 服务主机:/服务器共享目录 /本地挂载没记录
[root@localhost ~]# mount -t nfs -o rw,sync 192.168.1.5:/public /mnt/nfsmount
[root@localhost ~]# df -hT |grep "public"
Filesystem Type Size Used Avail Use% Mounted on
192.168.1.5:/public nfs4 17G 1.9G 16G 12% /mnt/nfsmount
[root@localhost ~]# vim /etc/fstab
192.168.1.1:/public /mnt/nfsmount nfs default 0 0
4.NFS提供了查看NFS共享状态的一系列命令.
[root@localhost ~]# nfsstat #显示服务端与客户端状态
[root@localhost ~]# nfsstat -s #只显示服务端状态
[root@localhost ~]# nfsstat -c #只显示客户端状态
[root@localhost ~]# nfsstat -n #仅显示NFS与RPC信息
[root@localhost ~]# nfsstat -m #显示挂载信息
[root@localhost ~]# nfsstat -l #以列表信息显示信息
[root@localhost ~]# rpcinfo -m 127.0.0.1 #显示指定主机rpcbind操作列表
[root@localhost ~]# rpcinfo -p 127.0.0.1 #显示指定主机RPC注册信息
[root@localhost ~]# rpcinfo -s #显示所有RPC注册信息
[root@localhost ~]# showmount -e 127.0.0.1 #显示服务器可用资源
[root@localhost ~]# showmount -a 127.0.0.1 #查看所有客户链接信息
[root@localhost ~]# showmount -d 127.0.0.1 #只显示客户输出信息
[root@localhost ~]# exportfs -a #全部挂载或卸载配置文件中的内容
[root@localhost ~]# exportfs -r #重新加载配置文件中的信息
[root@localhost ~]# exportfs -u #停止单一目录的共享
[root@localhost ~]# exportfs -au #停止所有服务端的共享
[root@localhost ~]# exportfs -ra #重新共享所有目录
相关文章
- K8S嫁衣神功 - kustomize 的实用小技巧
- Dockerfile构建指南-怎样构建一个适用企业级的镜像
- CronJob 和 Job 的 Pod 退出保留时间
- 【活动】腾讯云「轻云之上,无尽想象」系列活动盛大来袭
- K8S 使用 TTL 控制器自动清理完成的 Job Pod
- k8sailor - 01 搭建 k3s 集群
- k8sailor - 03 连接 k3s 集群获取 deployment 信息
- k8sailor - 02 使用 cobra 管理命令与参数集群连接参数
- k8sailor 04-使用 gin 初始化一个 API Server
- k8sailor - 05 设计 RESTful API 和 HTTP 响应数据
- k8sailor - 06 使用 api/biz/dao 分层结构管理数据请求,获取 deployment 数据
- k8sailor - 07 初始化 vue3+vite
- gin 内部重定向时 middleware 不可用异常
- k8sailor - 08 使用 vue 获取后台 API 数据并展示
- k8sailor - 09 通过 deployment label 获取 pod 信息
- k8sailor - 10 使用 vue-router 进行路由管理
- k8sailor - 12 deployment 设置副本数量 与 参数的有效性验证
- k8sailor - 13 使用 informer 监听 k8s 变化并在本地缓存数据
- k8sailor - 16 创建 deployment
- k8sailor - 17 Pod 的运行状态 阶段(phase)与状态(status) 探究