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

Linux学习19-moosefs部署与SBD共享磁盘

moosefs

简介

MooseFS 是一个分布式网络文件系统

它的核心设计思路是:
Master Server:管理整个集群的元数据(文件名、目录结构、文件分布在哪些 chunkserver上),常驻内存


Chunkserver:实际存储数据块的节点,数据被切分成固定大小的 chunk(默认 64MB),可以设置多个副本分散存储在不同 chunkserver 上


Metalogger:备份 Master 的元数据变更日志,Master 挂了可以用它恢复


Client:通过 FUSE 挂载 MooseFS 到本地目录,像访问普通文件系统一样读写


作用:把多台普通服务器的硬盘"拼"成一个超大容量的统一文件系统,同时提供高可用(多副本)和横向扩展能力

部署

新建四台rocy9虚拟机

四台虚拟机先配置yum源,sever1下载master,sever2下载chunkservers,sever3下载chunkserver和metalogger,sever4下载client

sever1启动master和cgi,sever2启动chunkserver,浏览器访问sever1的9425端口

sever2和sever3创建文件夹,提升权限

浏览器刷新页面

sever4

sever3启动metalogger

sever4上启动副本保护

先在sever1上分配通用标签

重新加载配置

sever4查看

这里如果出现挂载错误,之后虚拟机会无法启动,需要进入单用户模式注释掉新增的磁盘,重新启动

还可以添加标签

出现标签

整理了一份MooseFS常用命令速查手册
https://www.kdocs.cn/l/cpp5bQ7fVghU

与pacemaker高可用结合

新建sever5,作为chunkserver,sever1与sever5做好免密

可参照之前pacemaker的部署进行

sever1与sever5同步执行

先启用高可用仓库

下载

启动服务

写入密码

授权

设置

启动

设置开机自启

查看状态

若出现以下报错

执行该命令

设置策略

配置虚拟ip资源

查看

修改注释,每个sever

sever4新增一块磁盘

重新启动后下载

启动,设置开机自启

进入命令行

用新创建的磁盘创建一个 block backstore

查看

回到sever1,查找iscsi下载包

下载,sever5也需要下载

回到sever4,成功创建了一个 iSCSI Target(目标端),存储服务器现在有了一个对外提供存储服务的"入口"

查看

把刚才准备好的硬盘(my_disk / /dev/sdb)正式绑定(绑定为 LUN 0)

创建ACL指定可访问主机

退出

在sever1上编辑白名单,复制到sever5

重启使白名单生效,发起发现发现请求,返回结果与在sever4上设置的相同

sever5也成功

实现自动故障转移

sever1,挂载

复制文件

停止挂载

将硬盘分区挂载到 MooseFS 的数据存储目录

确保master状态正常

停止服务

停止挂载

sever5下载

启动服务

查看状态正常后关闭服务

创建资源

查看

创建 Pacemaker 资源来管理 MooseFS 的 Master 服务

查看(这里不正确,VIP,mfsdata,mfsmaster应该在同一个sever)

打包为资源组

查看(笔者中间把挂载的硬盘的名字搞错了,重新修改了一下)

SBD 共享磁盘隔离防脑裂

简介

SBD 全称 STONITH Block Device(也叫 STONITH 块设备),是 Linux HA 集群(Pacemaker/Corosync)中实现 Fencing(隔离) 机制的一种手段

Fencing 的作用就是:在接管之前,先把"疑似故障"的节点彻干掉重启或关机,确保停止后才能接管资源

部署

新建磁盘

这里注意需要mfsdata和sbd使用不同的盘

先关闭sever1,sever5,打开windows命令行

查看虚拟机存放目录

切入

新建文件夹(只需sever1)

创建一个1GB的磁盘作为共享

修改文件(sever1,sever5都需要)

末尾添加

虚拟机sever1,5启动

可能会报错,进入单用户模式禁用iscsi开机自启

进入后禁用iscsi,查看磁盘,出现共享

如果sever5没有出现新建的硬盘,直接去虚拟机添加新磁盘,使用已有磁盘

使用新建的磁盘

保存现有格式,添加

重新启动,成功添加

确保集群状态正常(iscsi需要启动才能挂载)

sbd配置

sever1,5安装sbd组件

加载且验证,出现/dev/watchdog即为成功

获取SBD磁盘持久by‑id路径,例如scsi-36000c29xxxxxxx(确保为新建盘的id,下文有查看方式)

仅在其中一个节点执行create初始化SBD头部

校验SBD头部信息,正常会输出header版本、timeout参数

启用 SBD stonith 隔离

pcs 一键配置 fence_sbd

先查看新建的盘的id

手动创建 stonith 资源
pcs stonith create sbd-fence fence_sbd \
devices="/dev/disk/by-id/scsi-36000c29xxxxxxx" \
op monitor interval=30s timeout=20s \
op start timeout=20s \
op stop timeout=20s

查看stonith配置

激活fence

最后重启

测试

http://www.cnnetsun.cn/news/4160651.html

相关文章:

  • 美赛实战解题逻辑链:从题目翻译到代码实现的五维建模方法论
  • 免训练AI模型Nori:表格数据缺失值填充与预测实战指南
  • 数学建模国赛零基础冲省二:策略、流程与三天实战指南
  • 3 分钟跑通 NBA 官方数据:nba_api 从查到用全解
  • 如何用 PyVISA 让 Python 自动操控 GPIB / USB / TCP/IP 测量仪器
  • untrunc:不重新编码修复损坏 MP4/MOV 视频文件
  • LlamaIndex 系列【4】入门案例(阿里云百炼适配)
  • Java求职Day51:Spring Boot整合与JVM调优实战
  • Arcface-PyTorch 完整实操:5 步搞定人脸识别模型训练与 LFW 评估
  • OpenAI暂停Astra训练警示:AI前沿训练中的网络风险与安全实践
  • 贪心算法与组合编码实战:从双数极值配对到卡牌状态压缩
  • 容度升维方法论(CDEM)深化——与六种经典方法论的对比、哲学根基与未来演化
  • 基于SpringBoot的毕业设计选题系统:从需求到部署的全栈实战
  • CLion中Makefile项目自动化构建:编译前清理与编译后复制配置指南
  • 车载安卓Framework开发核心技术与面试指南
  • HsMod炉石插件快速上手指南:三步安装,讲透加速、皮肤与Web面板
  • 5分钟同步上云:Nextcloud桌面客户端新手配置指南
  • 2026年7月辽源市新房价格深度分析报告
  • 稳态耦合智能体:从内在驱动到亲社会行为的AI架构革新
  • AI编程助手ABTest:行为驱动测试框架构建与评估实践
  • 从零到一 | CV转多模态大模型 | week22 | 实战项目-DocuMind-VL:基于 OCR 与 Qwen-VL 的文档多模态问答系统(二)
  • AI Native 时代, IC 人的自我修养
  • 2026年Java面试核心考点与云原生趋势解析
  • 从零安装 lm-sensors 硬件监控的完整实战
  • future/promise并发模型:从内存布局到跨语言实践
  • Marketch:从Sketch设计稿直接量出间距和CSS尺寸的顺手工具
  • RAG 评测体系完整指南
  • 边缘AI时事:PTZ摄像机的边缘算力是怎么来的?
  • Vue3 Ant Design 中后台模板教程:5分钟跑通 vue3-antd-admin
  • 重试机制应用