【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

简介: 英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS在实际场景中有着不少的应用场景,比如分布式代码部署下,代码一致性的同步方案,K8S多容器内外挂载等情况,今天就来具体讲解一下怎么实现。

@TOC


背景

英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer
protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS在实际场景中有着不少的应用场景,比如分布式代码部署下,代码一致性的同步方案,K8S多容器内外挂载等情况,今天就来具体讲解一下怎么实现。

操作实现

卷的初始化及挂载

如果是一个新卷需要进行卷的初始化,操作如下。如果是已经激活挂载的设备,忽略本部分内容。

1. 查看磁盘挂载状态 df -h

在这里插入图片描述

2. 查看可用的卷信息 lsblk

在这里插入图片描述

3. 初始化新卷 sudo mkfs -t xfs /dev/nvme2n1

在这里插入图片描述

4. 挂载卷 sudo mount /dev/nvme2n1 /ceph

在这里插入图片描述

5. 如果需要卸载卷,卸载卷命令 umount -f /ceph

搭建NFS服务

1. 环境检查

先用rpm -qa命令查看所需安装包(nfs-utils、rpcbind)是否已经安装,如果显示如下信息,则表示环境已经安装,无需进行再次安装。

[root@ip-192-157-3-92 /]# rpm -qa | grep "rpcbind"
rpcbind-0.2.0-11.el6.x86_64
[root@ip-192-157-3-92 /]# rpm -qa | grep "nfs"
nfs-utils-1.2.3-39.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
nfs-utils-lib-1.1.5-6.el6.x86_64

2. 安装环境

如果没有安装NFS服务,则进行安装,NFS服务依赖于rpcbind。

yum -y install nfs-utils rpcbind

3. 然后配置ceph可被远程访问

其中*表示允许所有机器链接,也可以指定IP;rw表示操作的权限;sync表示数据同步的方式。如果需要细致配置,请参考nfs配置详情,这里不做主要描述。

[root@ip-192-157-3-92 /]# vi /etc/exports
/ceph     *(rw,sync,no_root_squash)

4. 启动NFS服务

依次启动rpcbind,nfs两个服务。

[root@ip-192-157-3-92 /]# service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@ip-192-157-3-92 /]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

5. 高可用配置

很多时候需要保持NFS的高可用,如果需要开机自动启动NFS服务,进行如下设置。

[root@ip-192-157-3-92 /]# chkconfig rpcbind on
[root@ip-192-157-3-92 /]# chkconfig nfs on

6. 放行一下NFS端口

经过上面的操作,就将新的一个卷挂载到了服务器上面,并针对于这个卷开启了一个NFS的服务。下面通过其他机器来远程挂载这个磁盘。如果云服务器挂载超时,需检查一下安全组放行一下NFS端口。

#先切换到另外一个机器B。在新的机器上面创建一个ceph目录, 然后创建一个ceph的目录,执行下面命令进行挂载
mkdir ceph
#192.157.3.92这个ip是机器A的ip
mount -t nfs 192.157.3.92:/ceph /ceph -o proto=tcp 
df -h

7. 验证配置结果

通过下面的案例来演示NFS的搭建使用效果,就可以看到NFS卷被成功挂载。

# 然后去机器A上面 创建文件夹 test
cd /ceph
mkdir test
# 再去机器B上面可以看到文件夹同步被显示。
cd /ceph
ls

总结

今天的内容就分享到这里,喜欢的话,给个关注,更多精彩,即将呈现。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
10天前
|
运维 监控 网络协议
|
16天前
|
Unix Linux 网络安全
NFS挂载服务
【10月更文挑战第14天】
26 2
|
22天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
29 1
|
29天前
|
Linux
linux开机挂载镜像
【10月更文挑战第1天】在 Linux 系统中,开机挂载镜像通常涉及几个关键步骤,包括创建挂载点、编辑配置文件以及重新加载配置
63 0
|
1月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
117 0
|
3月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
151 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
3月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
3月前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
31 0
|
3月前
|
存储 Linux Shell
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
【应用服务 App Service】App Service For Linux 中如何挂载一个共享文件夹呢? Mount Azure Storage Account File Share
|
3月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)