两块硬盘直接做了GlusterFS现在一块硬盘故障了,状态不佳,这个需要怎么更换硬盘

(0)
(0)
# 查看卷状态
gluster volume info cluster-vms-learning
gluster volume status cluster-vms-learning detail
Up(正常节点)Down(坏盘节点)gluster volume set cluster-vms-learning read-only on
# 格式:gluster volume remove-brick <卷名> <故障节点:/brick路径> force
gluster volume remove-brick cluster-vms-learning 172.96.10.XX:/vms/learning_brick force
force 是关键,因为 Brick 已经离线。# 示例:
mkfs.xfs /dev/sdX
mkdir -p /vms/learning_brick
mount /dev/sdX /vms/learning_brick
# 写入/etc/fstab,开机自动挂载
echo "/dev/sdX /vms/learning_brick xfs defaults 0 0" >> /etc/fstab
# 格式:gluster volume add-brick <卷名> replica 2 <新节点:/brick路径> force
gluster volume add-brick cluster-vms-learning replica 2 172.96.10.XX:/vms/learning_brick force
gluster volume status cluster-vms-learning detail
# 看状态是否从 "Syncing" 变成 "Up"
watch -n 5 gluster volume status cluster-vms-learning detail
Up。gluster volume set cluster-vms-learning read-only off
glusterfsd 用户要有读写权限)。dmesg | grep -i error
df -h /vms/learning_brick
(0)
暂无评论
更换 GlusterFS 中的硬盘,本质上是一个“替换 Brick”(Replace Brick)的过程。在处理前我先说明一下:根据你的描述,你很可能部署了一个 2 副本 (Replica 2) 的卷,虽然能容一台硬盘故障,但没有任何数据冗余。因此,在动手前务必备份所有重要数据,以防万一操作出现问题。
同时,由于不知道你的卷类型,以下是几种情况下通用的安全流程:
在操作前,强烈建议先备份数据。因为你的环境是两块硬盘直做的卷,这意味着它极大概率是一个 Replica 2 卷或一个 Distribute 卷,都属于无奇偶校验的类型。一旦操作失误或另一块盘也发生故障,可能会导致数据全部丢失。
完成备份后,就可以开始操作了。根据生产环境的要求、设备具体情况和个人偏好,有两种主流方法可以选。
方法一:替换Brick法(replace-brick):GlusterFS 官方推荐的标准方法。逻辑清晰,数据由系统自动同步,操作过程基本在线。
方法二:新建 + 删除法(add-brick & remove-brick):操作模式为“先加后减”。对集群总体压力较小,但对卷类型有限制,适合 Distribute 卷。
这是官方推荐的标准方法,逻辑清晰,操作过程基本在线。
定位故障Brick (Identify)
首先,确认故障Brick的具体位置和路径。
Offline 或异常的 Brick 信息(如 server1:/bricks/brick1)。开始自动替换 (Replace Brick)
使用 replace-brick 命令,让 GlusterFS 从这个故障Brick所在的副本组中,通过自愈 (Heal) 功能来同步数据。
<新Brick路径>指的是准备接入的新磁盘的挂载点路径。物理/系统层更换 (Replace Disk)
在服务器上安全移除故障硬盘,换上新硬盘,然后对硬盘进行分区、格式化(推荐 XFS 文件系统),并挂载到与故障Brick路径完全相同的位置(例如 /bricks/brick1)。你可能需要将挂载信息写入 /etc/fstab 以确保开机自动挂载,并确保目录权限正确:
监控数据同步 (Heal)
数据同步是后台自动进行的,你可以使用以下命令监控状态:
这是一种“先加后减”的策略,适合Distribute类型卷或希望手动控制数据迁移节奏的场景。
物理/系统层更换 (Replace Disk)
与方法一的操作一致。
将新Brick加入集群 (Add Brick)
先让新硬盘加入存储池(如果新硬盘在同一节点上,此步可简化,直接执行add-brick即可)。如果是不同节点,则需要 peer probe。你的环境是直连两块盘且在同一节点的情况,直接在卷中添加新Brick即可:
移除故障Brick (Remove Brick)
启动移除任务,数据将被迁移,可能耗时较长。
status 列显示为 completed 时,表示数据迁移完毕。提交更改并完成 (Commit)
确认迁移完成后,执行最终提交:
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论