proxmox系统替换zfs中的坏盘
平台正在用的一块zfs硬盘坏了,需要换一块新硬盘,过程中参考proxmox的官方文档以及一些相应的资料,整理了一下步骤如下。
# zfs系统替换硬盘的基本步骤
# 使用zpool status 命令查看zfs存储池情况
zpool status
1
可以看到第二个硬盘的相关分区出现了faulted,导致整个zfs出现了严重的io delay,zfs的状态为degraded
# 使用zpool offline 命令使坏盘脱机(可选)
zpool offline ata-WDC_WD2002FYPS-02W3B0_WD-WCAVY6902357-part3
1
结果如下图所示,报错分区状态变为offline。
# 更换硬盘并初始化
移除要替换的硬盘并插入新的硬盘。打开proxmox GUI 选择相应的node,打开disk界面,确认新硬盘被识别,并使用GPT进行初始化。 有些情况下可能需要关机后才能移除硬盘,这时如果重新启动时出现failed to import zfs名
的报错,那么解决方案如下:
- 开机进入boot选项后,按“e”键,进入编辑模式,在quiet前加入“rootdelay=35”,再按“ctrl+x”键进入。
- 进入系统后,可以修改grub在quiet前加入rootdelay=35,修改后长期有效
# 运行zpool replace命令
这里由于硬盘识别id实在太长了就不打了,仅附上proxmox wiki (opens new window)中的两种对应的替换方案。
- 直接更换设备,如果热插拔使得新旧设备id相同,则可以直接省略“new device”。
zpool replace -f
- 更换分区
sgdisk -R
sgdisk -G zpool replace -f
pve-efiboot-tool format
pve-efiboot-tool init
1
2
3
4
2
3
4
replacing的时间比较长,也不太好停止,可以使用zpool status查看相应进度。一般情况下,replace完了之后会直接online,如果没有如此就运行zpool online命令即可。 小插曲,我换的过程中一不留神用磁盘直接替换了对应分区,目前一切良好,看上去只要替换对象的存量比原来的大都不会出问题。
上次更新: 2024/03/11, 23:50:27