最新最全的~教你如何搭建高可用Lustre双机集群
1.搭建双机lustre高可用集群:
1.环境说明:
| 主机名 | 系统 | 挂载情况 | IP地址 | Lustre集群名 | 内存 |
|---|---|---|---|---|---|
| mds001 | Centos7.9 | (共享磁盘)1个mgs,1个MDT,2个OST | 192.168.10.21/209.21 | global | 1G |
| mds002 | Centos7.9 | (共享磁盘)1个mgs,1个MDT,2个OST | 192.168.10.22/209.22 | global | 1G |
| client | Centos7.9 | 无 | 192.168.10.41 | 无 | 1G |
mds01,mds02作为mds的同时 也做oss,做5个共享盘:1个mgs,2个mdt,2个ost,搭建一套高可用的lustre服务集群
2.两个虚拟机使用共享磁盘:
-
前提:两台虚拟机没有拍摄快照
-
在mds001主机中:
-
添加五块5G的硬盘
SCSI > 创建新虚拟磁盘 > 指定磁盘容量 ,立即分配所有磁盘空间,将虚拟磁盘存储为单个文件
-
-
在mds001和mds002的虚拟机目录下,找个后缀名为vmx的文件,在文件末尾添加一下内容:
scsi1.sharedBus = "virtual" disk.locking = "false" diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.dataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0" disk.EnableUUID = "TRUE" -
重启两台虚拟机发现,添加成功
[root@mds001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk sdc 8:32 0 5G 0 disk sdd 8:48 0 5G 0 disk sde 8:64 0 5G 0 disk sdf 8:80 0 5G 0 disk sr0 11:0 1 9.5G 0 rom /mnt/cdrom
3.安装和配置Lustre:
-
两台主机都需要下载OSS服务器所需要的包:E2fsprogs包只是在Ext4的原版RPM包基础上增加了对Lustre⽀持
mkdir ~/e2fsprogs && cd ~/e2fsprogs wget -c -r -nd https://downloads.whamcloud.com/public/e2fsprogs/1.44.5.wc1/el7/RPMS/x86_64/ rm -rf index.html* unknown.gif *.gif sha256sum -
全部rpm安装:
[root@mds001 e2fsprogs]# cd ~/e2fsprogs && rpm -Uvh * 准备中... ################################# [100%] 正在升级/安装... 1:libcom_err-1.42.12.wc1-4.el7.cent################################# [ 8%] 2:e2fsprogs-libs-1.42.12.wc1-4.el7.################################# [ 15%] 3:libcom_err-devel-1.42.12.wc1-4.el################################# [ 23%] 4:libss-1.42.12.wc1-4.el7.centos ################################# [ 31%] 5:e2fsprogs-1.42.12.wc1-4.el7.cento################################# [ 38%] 6:libss-devel-1.42.12.wc1-4.el7.cen################################# [ 46%] 7:e2fsprogs-devel-1.42.12.wc1-4.el7################################# [ 54%] 8:e2fsprogs-static-1.42.12.wc1-4.el################################# [ 62%] 9:e2fsprogs-debuginfo-1.42.12.wc1-4################################# [ 69%] 正在清理/删除... 10:e2fsprogs-1.42.9-19.el7 ################################# [ 77%] 11:e2fsprogs-libs-1.42.9-19.el7 ################################# [ 85%] 12:libss-1.42.9-19.el7 ################################# [ 92%] 13:libcom_err-1.42.9-19.el7 ################################# [100%] -
两台主机都需要下载MDS服务器所需要的包:
wget命令参数 说明 -c 断点续传 -r 递归下载 -nd 不分层,所有文件下载到当前目录下 rpm包 说明 kernel-*.el7_lustre.x86_64.rpm 带 Lustre 补丁的 Linux 内核 kmod-lustre-*.el7.x86_64.rpm Lustre 补丁内核模块 kmod-lustre-osd-ldiskfs-*.el7.x86_64.rpm 基于 ldiskfs 的 Lustre 后端文件系统工具 lustre-*.el7.x86_64.rpm Lustre 软件命令行工具 lustre-osd-ldiskfs-mount-*.el7.x86_64.rpm 基于ldiskfs 的 mount.lustre和mkfs。lustre相关帮助文档 mkdir ~/lustre2.12.1 && cd ~/lustre2.12.1 yum install -y wget wget \ https://downloads.whamcloud.com/public/lustre/lustre-2.12.1/el7/server/RPMS/x86_64/kernel-3.10.0-957.10.1.el7_lustre.x86_64.rpm \ https://downloads.whamcloud.com/public/lustre/lustre-2.12.1/el7/server/RPMS/x86_64/kmod-lustre-2.12.1-1.el7.x86_64.rpm \ https://downloads.whamcloud.com/public/lustre/lustre-2.12.1/el7/server/RPMS/x86_64/kmod-lustre-osd-ldiskfs-2.12.1-1.el7.x86_64.rpm \ https://downloads.whamcloud.com/public/lustre/lustre-2.12.1/el7/server/RPMS/x86_64/lustre-2.12.1-1.el7.x86_64.rpm \ https://downloads.whamcloud.com/public/lustre/lustre-2.12.1/el7/server/RPMS/x86_64/lustre-osd-ldiskfs-mount-2.12.1-1.el7.x86_64.rpm -
安装依赖(否则报错error: Failed dependencies:):
yum clean all && yum repolist yum install -y linux-firmware dracut selinux-policy-targeted kexec-tools libyaml perl -
全部rpm安装:(如果无法安装就强行安装)
cd ~/lustre2.12.1 && rpm -ivh *.rpm --force -
重启服务器:
init 6 -
检查内核:
[root@master ~]# uname -r 3.10.0-957.el7_lustre.x86_64 -
加载Lustre模块(此为临时加载,重启失效):
[root@master ~]# modprobe lustre && lsmod | grep lustre lustre 758679 0 lmv 177987 1 lustre mdc 232938 1 lustre lov 314581 1 lustre ptlrpc 2264705 7 fid,fld,lmv,mdc,lov,osc,lustre obdclass 1962422 8 fid,fld,lmv,mdc,lov,osc,lustre,ptlrpc lnet 595941 6 lmv,osc,lustre,obdclass,ptlrpc,ksocklnd libcfs 421295 11 fid,fld,lmv,mdc,lov,osc,lnet,lustre,obdclass,ptlrpc,ksocklnd -
查看lustre版本:
[root@mds001 ~]# modinfo lustre filename: /lib/modules/3.10.0-957.10.1.el7_lustre.x86_64/extra/lustre/fs/lustre.ko license: GPL version: 2.12.1 description: Lustre Client File System author: OpenSFS, Inc. <http://www.lustre.org/> retpoline: Y rhelversion: 7.6 srcversion: E50D950B04B4044ABCBCFA3 depends: obdclass,ptlrpc,libcfs,lnet,lmv,mdc,lov vermagic: 3.10.0-957.10.1.el7_lustre.x86_64 SMP mod_unload modversions -
只有在某个节点挂载上了,才表明MGS,MDT或者是OST被创建了
-
五个硬盘都在mds001服务器上格式化,因为是共享硬盘,所以在mds002服务器上可以查看到格式化类型:
格式化参数 说明 --fsname 设置Lustre集群的名称,Lustre文件系统的标识,必须唯一 --servicenode mgs节点的IP地址,Lnet网络 --mgsnode mgs节点的IP地址,Lnet网络 --mgs 将分区格式化为MGS,MGS(ManaGe Server)是⽤来记录整个Lustre状态的服务 --mdt 将分区格式化为MDT,MDT(MetaData Target)是存放Lustre元数据服务的设备 --ost 将分区格式化为OST,OST(Object Storage Target)则是存储Lustre数据的设备 --index 设置设备的在lustre集群中的标签值,如:--mdt --index=1,LABEL="global-MDT0001",在同集群具有唯一性 --reformat 跳过检查,防止格式化操作清除已有的数据 --replace 替换 # 关于MDT和OST,--index的值要从0开始ÿ
相关文章:
最新最全的~教你如何搭建高可用Lustre双机集群
1.搭建双机lustre高可用集群: 1.环境说明: 主机名系统挂载情况IP地址Lustre集群名内存mds001Centos7.9(共享磁盘)1个mgs,1个MDT,2个OST192.168.10.21/209.21global1Gmds002Centos7.9(共享磁盘)1个mgs,1个MDT,2个OST192.168.10.22/209.22global1GclientCentos7.9无19…...
深入浅出Pytorch函数——torch.nn.init.uniform_
分类目录:《深入浅出Pytorch函数》总目录 相关文章: 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...
会员管理系统实战开发教程02-H5应用创建
低代码平台作为一个应用的快速生成工具,可以方便的进行一页多端的开发,可以在一个应用里生成三端的应用,也可以拆分成三个应用来制作。三端包括H5、小程序和PC管理后台。 上一篇我们介绍了PC管理后台的创建方法,本篇我们介绍一下…...
记一次由于整型参数错误导致的任意文件上传
当时误打误撞发现的,觉得挺奇葩的,记录下 一个正常的图片上传的点,文件类型白名单 但是比较巧的是当时刚对上面的id进行过注入测试,有一些遗留的测试 payload 没删,然后在测试上传的时候就发现.php的后缀可以上传了&a…...
spring之Spring Security - 实现身份验证与授权
Spring Security - 实现身份验证与授权 标题: Spring Security - 实现身份验证与授权摘要:引言:词汇解释:详细介绍:实现基本的身份验证与授权解释概念:代码示例:注意事项: 定制化认证与授权流程解释概念:代码示例:注意事项: 集成OAuth2认证解释概念:代码示例:注意事项: 总结:参…...
【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:Uni…...
【Linux】线程篇Ⅱ:
线程Ⅱ 🔗接上篇【线程篇Ⅰ】五、线程库 和 线程 id六、同步与互斥 🔗接上篇【线程篇Ⅰ】 👉【Linux】线程篇Ⅰ:线程和task_struct 执行流的理解、相关接口命令、线程异常、线程的私有和共享 五、线程库 和 线程 id 对于 Linux …...
浅尝OpenResty
文章目录 1. 写在前面2. 下载安装openresty2.1 下载Openresty2.2 设置nginx启动 3. 嵌入lua脚本4. 实践5. 小结 1. 写在前面 当一个域名中衍生出多个服务的时候,如果想要保持对外服务始终是一个域名,则需要通过nginx反向代理来实现。如果在转发的时候需…...
MySQL分页查询慢怎么办
今天看到一个问题。 MySQL分页查询慢怎么办? 第一反应是用limit限制返回的条数。 比如 select * from table order by idlimit 10, 100;实际上我们限制的只是返回的条数是100,并不是查询时就从第10条开始获取数据。 所以实际上MySQL会从第0条开始查询&a…...
mongodb集群
端口192.168.115.3 192.168.115.4 1192.168.115.5 下载MongoDB软件包版本为4.2.14并安装 rpm -ih --force --nodeps *.rpm 2创建文件夹mkdir -p /opt/local/mongo-cluster/conf 3.在目录里创建配置文件cd /opt/local/mongo-cluster/conf …...
回归预测 | MATLAB实现WOA-BP鲸鱼优化算法优化BP神经网络多输入单输出回归预测(多指标,多图)
回归预测 | MATLAB实现WOA-BP鲸鱼优化算法优化BP神经网络多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现WOA-BP鲸鱼优化算法优化BP神经网络多输入单输出回归预测(多指标,多图)效果一览基本…...
【前端从0开始】JavaSript——循环控制语句
循环控制语句 while语句 While 循环会在指定条件为真时循环执行代码块。 While循环,先进行条件判断,再执行循环体的代码 while (条件表达式){循环体 }注意:当前循环中,如果不满足条件,一次都不会执行 var i 1; whi…...
【Elasticsearch】spring-boot-starter-data-elasticsearch的使用以及Elasticsearch集群的连接
更多有关博主写的往期Elasticsearch文章 标题地址【ElasticSearch 集群】Linux安装ElasticSearch集群(图文解说详细版)https://masiyi.blog.csdn.net/article/details/131109454基于SpringBootElasticSearch 的Java底层框架的实现https://masiyi.blog.c…...
Python学习笔记_进阶篇(四)_django知识(三)
本章内容: Django 发送邮件Django cookieDjango sessionDjango CSRF Django 发送邮件 我们常常会用到一些发送邮件的功能,比如有人提交了应聘的表单,可以向HR的邮箱发邮件,这样,HR不看网站就可以知道有人在网站上提…...
指针(初阶)
1. 指针是什么? 指针是什么? 指针理解的2个要点: 1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 总结:指针就是地址&…...
Flink内核源码解析--Flink中重要的工作组件和机制
Flink内核源码 1、掌握Flink应用程序抽象2、掌握Flink核心组件整体架构抽象3、掌握Flink Job三种运行模式4、理解Flink RPC网络通信框架Akka详解5、理解TaskManager为例子,分析Flink封装Akka Actor的方法和整个调用流程6、理解Flink高可用服务HighAvailabilityServ…...
Linux 压缩解压(归档管理):tar命令
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。 tar使用格式 tar [参数] 打包文件名 文件 tar命令很特殊,其参数前面可以使用“-”&…...
spring boot集成mqtt协议发送和订阅数据
maven的pom.xml引入包 <!--mqtt--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration</artifactId><version>2.3.6.RELEASE</version></dependency><dependency…...
【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)
文章目录 1、为什么对数据库做优化2、双主架构双主架构的工作方式如下:双主架构的优势包括:但是一般不用这种架构,原因是: 3、主从复制主从复制的工作方式如下:主从复制的优势包括:主从复制的缺点 4、冷热分…...
el-table 实现动态表头 静态内容 根据数据显示动态输入框
直接放代码了 <el-table:data"form.tableDataA"borderstripestyle"width: 100%; margin-top: 20px"><el-table-columnv-for"(category, categoryIndex) in form.tableDataA":key"categoryIndex":label"category.name&qu…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
