【转】Proxmox系统替换zfs中的坏盘并重建/恢复阵列

平台正在用的一块zfs硬盘坏了,需要换一块新硬盘,过程中参考proxmox的官方文档以及一些相应的资料,整理了一下步骤如下。

欢迎大家批评指正


zfs系统替换硬盘的基本步骤

使用zpool status 命令查看zfs存储池情况

1
zpool status

可以看到第二个硬盘的相关分区出现了faulted,导致整个zfs出现了严重的io delay,zfs的状态为degraded

使用zpool offline 命令使坏盘脱机(可选)

1
zpool offline ata-WDC_WD2002FYPS-02W3B0_WD-WCAVY6573998-part3

结果如下图所示,报错分区状态变为offline。

更换硬盘并初始化

移除要替换的硬盘并插入新的硬盘。打开proxmox GUI 选择相应的node,打开disk界面,确认新硬盘被识别,并使用GPT进行初始化。

有些情况下可能需要关机后才能移除硬盘,这时如果重新启动时出现“failed to import zfs名”的报错,那么解决方案如下:
1.开机进入boot选项后,按“e”键,进入编辑模式,在quiet前加入“rootdelay=35”,再按“ctrl+x”键进入。
2.进入系统后,可以修改grub在quiet前加入rootdelay=35,修改后长期有效

运行zpool replace命令

这里由于硬盘识别id实在太长了就不打了,仅附上proxmox wiki中的两种对应的替换方案。

1.直接更换设备,如果热插拔使得新旧设备id相同,则可以直接省略“new device”。

1
zpool replace -f <pool<old device<new device>

2.更换分区

1
2
3
4
5
sgdisk <healthy bootable device-R <new device>
sgdisk -G <new device>
zpool replace -f <pool<old zfs partition<new zfs partition>
pve-efiboot-tool format <new disk‘s ESP>
pve-efiboot-tool init <new disk’s ESP>

replacing的时间比较长,也不太好停止,可以使用zpool status查看相应进度。一般情况下,replace完了之后会直接online,如果没有如此就运行zpool online命令即可。

小插曲,我换的过程中一不留神用磁盘直接替换了对应分区,目前一切良好,看上去只要替换对象的存量比原来的大都不会出问题。

posted on   剩余价值  阅读(4472)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示