当前位置: 首页 > news >正文

最新最全的~教你如何搭建高可用Lustre双机集群

1.搭建双机lustre高可用集群:

1.环境说明:

主机名系统挂载情况IP地址Lustre集群名内存
mds001Centos7.9(共享磁盘)1个mgs,1个MDT,2个OST192.168.10.21/209.21global1G
mds002Centos7.9(共享磁盘)1个mgs,1个MDT,2个OST192.168.10.22/209.22global1G
clientCentos7.9192.168.10.411G

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.rpmLustre 补丁内核模块
    kmod-lustre-osd-ldiskfs-*.el7.x86_64.rpm基于 ldiskfs 的 Lustre 后端文件系统工具
    lustre-*.el7.x86_64.rpmLustre 软件命令行工具
    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文件系统的标识,必须唯一
    --servicenodemgs节点的IP地址,Lnet网络
    --mgsnodemgs节点的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_

分类目录&#xff1a;《深入浅出Pytorch函数》总目录 相关文章&#xff1a; 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…...

会员管理系统实战开发教程02-H5应用创建

低代码平台作为一个应用的快速生成工具&#xff0c;可以方便的进行一页多端的开发&#xff0c;可以在一个应用里生成三端的应用&#xff0c;也可以拆分成三个应用来制作。三端包括H5、小程序和PC管理后台。 上一篇我们介绍了PC管理后台的创建方法&#xff0c;本篇我们介绍一下…...

记一次由于整型参数错误导致的任意文件上传

当时误打误撞发现的&#xff0c;觉得挺奇葩的&#xff0c;记录下 一个正常的图片上传的点&#xff0c;文件类型白名单 但是比较巧的是当时刚对上面的id进行过注入测试&#xff0c;有一些遗留的测试 payload 没删&#xff0c;然后在测试上传的时候就发现.php的后缀可以上传了&a…...

spring之Spring Security - 实现身份验证与授权

Spring Security - 实现身份验证与授权 标题: Spring Security - 实现身份验证与授权摘要:引言:词汇解释:详细介绍:实现基本的身份验证与授权解释概念:代码示例:注意事项: 定制化认证与授权流程解释概念:代码示例:注意事项: 集成OAuth2认证解释概念:代码示例:注意事项: 总结:参…...

【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…...

【Linux】线程篇Ⅱ:

线程Ⅱ &#x1f517;接上篇【线程篇Ⅰ】五、线程库 和 线程 id六、同步与互斥 &#x1f517;接上篇【线程篇Ⅰ】 &#x1f449;【Linux】线程篇Ⅰ&#xff1a;线程和task_struct 执行流的理解、相关接口命令、线程异常、线程的私有和共享 五、线程库 和 线程 id 对于 Linux …...

浅尝OpenResty

文章目录 1. 写在前面2. 下载安装openresty2.1 下载Openresty2.2 设置nginx启动 3. 嵌入lua脚本4. 实践5. 小结 1. 写在前面 当一个域名中衍生出多个服务的时候&#xff0c;如果想要保持对外服务始终是一个域名&#xff0c;则需要通过nginx反向代理来实现。如果在转发的时候需…...

MySQL分页查询慢怎么办

今天看到一个问题。 MySQL分页查询慢怎么办&#xff1f; 第一反应是用limit限制返回的条数。 比如 select * from table order by idlimit 10, 100;实际上我们限制的只是返回的条数是100&#xff0c;并不是查询时就从第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神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现WOA-BP鲸鱼优化算法优化BP神经网络多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基本…...

【前端从0开始】JavaSript——循环控制语句

循环控制语句 while语句 While 循环会在指定条件为真时循环执行代码块。 While循环&#xff0c;先进行条件判断&#xff0c;再执行循环体的代码 while (条件表达式){循环体 }注意&#xff1a;当前循环中&#xff0c;如果不满足条件&#xff0c;一次都不会执行 var i 1; whi…...

【Elasticsearch】spring-boot-starter-data-elasticsearch的使用以及Elasticsearch集群的连接

更多有关博主写的往期Elasticsearch文章 标题地址【ElasticSearch 集群】Linux安装ElasticSearch集群&#xff08;图文解说详细版&#xff09;https://masiyi.blog.csdn.net/article/details/131109454基于SpringBootElasticSearch 的Java底层框架的实现https://masiyi.blog.c…...

Python学习笔记_进阶篇(四)_django知识(三)

本章内容&#xff1a; Django 发送邮件Django cookieDjango sessionDjango CSRF Django 发送邮件 我们常常会用到一些发送邮件的功能&#xff0c;比如有人提交了应聘的表单&#xff0c;可以向HR的邮箱发邮件&#xff0c;这样&#xff0c;HR不看网站就可以知道有人在网站上提…...

指针(初阶)

1. 指针是什么&#xff1f; 指针是什么&#xff1f; 指针理解的2个要点&#xff1a; 1. 指针是内存中一个最小单元的编号&#xff0c;也就是地址 2. 平时口语中说的指针&#xff0c;通常指的是指针变量&#xff0c;是用来存放内存地址的变量 总结&#xff1a;指针就是地址&…...

Flink内核源码解析--Flink中重要的工作组件和机制

Flink内核源码 1、掌握Flink应用程序抽象2、掌握Flink核心组件整体架构抽象3、掌握Flink Job三种运行模式4、理解Flink RPC网络通信框架Akka详解5、理解TaskManager为例子&#xff0c;分析Flink封装Akka Actor的方法和整个调用流程6、理解Flink高可用服务HighAvailabilityServ…...

Linux 压缩解压(归档管理):tar命令

计算机中的数据经常需要备份&#xff0c;tar是Unix/Linux中最常用的备份工具&#xff0c;此命令可以把一系列文件归档到一个大文件中&#xff0c;也可以把档案文件解开以恢复数据。 tar使用格式 tar [参数] 打包文件名 文件 tar命令很特殊&#xff0c;其参数前面可以使用“-”&…...

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、双主架构双主架构的工作方式如下&#xff1a;双主架构的优势包括&#xff1a;但是一般不用这种架构&#xff0c;原因是&#xff1a; 3、主从复制主从复制的工作方式如下&#xff1a;主从复制的优势包括&#xff1a;主从复制的缺点 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…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...