[NAS存储]ZFSmirror磁盘分区损坏后的恢复
精选评测好文
ZFSmirror磁盘分区损坏后的恢复创作立场声明:ZFSmirror磁盘分区损坏后的恢复本人致力于搭建出一套稳定、开放的个人云方案。ZFSmirror磁盘分区损坏后的恢复长期的摸索沉淀下一些经验。再此分享出来。供大家参考。
笔者最初使用PVE搭建了一套虚拟环境来跑nas服务以及其他self host服务。有两块4T HDD直连在TrueNas虚拟机上。但是PVE上始终未能实现对机器上N卡的直通。ZFSmirror磁盘分区损坏后的恢复遂转向ESXI。转换后顺利实现了显卡直通。回过头来想把那两块硬盘重新挂载上来。这时候发现事情没有想象的那么简单。
首先TrueNas中没有导入现有zpool的功能。只有新建zpool的功能。而新建意味着对硬盘的格式化。ZFSmirror磁盘分区损坏后的恢复另外在探索过程中我曾经尝试用ESXI的数据存储功能将mirror的其中一块磁盘直接纳入到存储空间中。但是由于zfs磁盘有特殊的结构。且ESXI的数据存储也不是解决这种问题的。更要命的是数据存储纳入硬盘时会破坏分区结构。于是这块硬盘就被破坏了。
查阅zfs的文档。发现应该直接使用zpool import不带任何参数进行直接导入。但为保证安全首先需要把硬盘克隆出一个镜像。然后在镜像上进行操作。测试成功后再进行原盘的操作。下面记录一下我的操作过程:
1.安装ddrescue。此处需注意大坑。ddrescue有两个版本。一个是个人(Kurt Garloff)开发的dd_rescue(apt install ddrescue)。目的是加强dd命令。另一个就是GNU ddrescure(apt install gddrescue)。这个工具才是广泛使用的ddrescue命令。另外TrueNas scale的系统是定制的debian。使用的下载源都是TrueNas公司的源地址。不想在这种定制系统上改太多东西。以免发生意想不到的问题。所以我使用另一台ubuntu主机进行备份操作。那么安装命令是:
apt install gddrescue
2.运行fdisk -l查看硬盘信息。信息中用硬盘的名称和文件系统格式锁定到了待拷贝的硬盘以及需要拷入信息的硬盘。下图中可以确定出我们要从/dev/sdb 拷贝到/dev/sdc
3.运行命令ddrescue。进行全盘拷贝。
ddrescue -f -r3 /dev/sdb /dev/sdc mapfile
-f表示覆盖原数据。-r3表示遇到错误时重试3次。mapfile是ddrescue在拷贝过程中使用的记录文件。用来支持断点续传功能。如果不指定则会自动在当前目录创建。ZFSmirror磁盘分区损坏后的恢复单次运行不用太过注意。但如果要多次运行拷贝则需要区分和不同拷贝对应的mapfile。4T的硬盘需要拷贝6到8小时。下图是拷贝中的样子:
ddrescue克隆执行中
4.克隆完硬盘后。ZFSmirror磁盘分区损坏后的恢复将原盘(一块完好的且克隆过的硬盘和一块先前分区被破坏了的硬盘)通过RDM方式直通到TrueNas中。发现已经可以直接在TrueNas的 import功能识别了。当
时没截图。现在已经导入进去就看不到了。
选择pool
但是存储池的状态是DEGRADED(降级)。因为有一块盘是坏的。
降级状态的pool
从存储池状态的报告上可以看到。ZFSmirror磁盘分区损坏后的恢复系统甚至可以识别出那块破坏了分区的硬盘曾经在存储池中的id。
5.既然第二块盘不能用。那么我们就把它从池中释放出来。执行后可以看到。只剩下了一块完好的硬盘。
zpool detach aquar_pool 5776694313143636179
去掉了损坏盘的pool
6.由于被破坏的硬盘仅仅是分区出了问题。硬件本身无问题。所以下一步我们直接重新将有问题的磁盘加入存储池中。让zfs把它当作一个新设备进行数据同步。
zpool attach aquar_pool 94a30883-6ea1-11eb-9c12-ff7f90a40b7e /dev/sda
这条命令的意义是将刚才释放的硬盘(/dev/sda)添加进存储池aquar_pool中。这块磁盘以目前池中那块完好的磁盘(94a30883-6ea1-11eb-9c12-ff7f90a40b7e)为基础进行数据恢复。
挂载了新盘的pool
执行后即可看到存储池的状态变为ONLINE。ZFSmirror磁盘分区损坏后的恢复并提示有设备正在恢复数据。sda的硬盘也出现在了mirror的列表中。不知为何。使用fdisk -l查出来的硬盘id值无法被zpool识别。实际上我也发现第一块完好的硬盘在fdisk -l中的id值与zfs显示的也不一样。而这两个值显然都对应着sdb这块硬盘。
7.接下来等待zfs自行将数据恢复即可。根据status的提示目前改存储池提供的可能是降级服务。为了避免意想不到的问题。我们还是先等待池恢复健康再做其他操作。
TrueNas显示zfs正在恢复
后记:其实zfs在迁移之前是需要先将池离线。将设备导出(export)。再把硬盘插入别的机器中。在目标机器上直接zpool import就可以完成导入了。我由于没看文档。走了很多弯路。不过也了解了如何在硬盘损坏的情况下将存储池恢复的方法。
ZFSmirror磁盘分区损坏后的恢复
其他人还看了
杀疯了!两千元档,N5105、双M2、4盘位、8G内存,绿联DX4600使用体验与评测
郑重声明:本文“[NAS存储]ZFSmirror磁盘分区损坏后的恢复”,https://nmgjrty.com/cunchusb_228686.html内容,由生火人提供发布,请自行判断内容优劣。
- 全部评论(0)
- 内存卡怎么选?详解TF、SD卡参数标准带你避坑!
- 包括物理黑群迁移、升级、硬解等
- 绿联DX4600
- 杀疯了!两千元档,N5105、双M2、4盘位、8G内存,绿联DX4600使用体验与评测
- 群晖安装迅雷下载套件
- DX4600
- ESXI丨VMwareWorkstationPro
- 非专业对ikuai和openwrt软交换性能测试
- 遇强越强的绿联私有云DX4600,可兼顾性能与易用
- 秒速快传、稳定可靠,奥睿科快闪u盘体验
- 不许有人不知道!2022年多次复购和新拔草成功的10件品质好物
- C快闪U盘更适合你,小巧而高速
- NAS的(unraid)
- N5105软路由跑不满25G,软路由还是要自己配还能兼容HTPC和客厅游戏机
- 为什么我们需要docker
- 初上手及购买建议
最新更新
推荐阅读
猜你喜欢
- [NAS存储]docke安装typecho导航主题webstack
- [NAS存储]群晖硬盘架修复手记
- [NAS存储]ZFSmirror磁盘分区损坏后的恢复
- [NAS存储]网络存储篇
- 4K摄影伴侣,同价位最具性价比的雷克沙1800XSD卡
- 京东百元补贴给力!5毛1G的三星EVO高速存储卡
- 海康威视X304金属64GU盘
- 下载器实现硬链接搭建教程
- 希捷计划2026年推50TB机械硬盘:两大绝技 速度翻倍
- 用个10年没问题,影驰战将SSD耐久性折磨测试(3/5最终更新)
- 2022年固态硬盘主控产能缺口高达3成,28nm制程最吃紧
- 傲腾内存价格流出:每GB最低35元,最高容量512GB
- 三星量产eMRAM存储器:比eFlash快1000倍,功耗更低
- 将Windows电脑作为伪NAS,共享视频给局域网内的手机/平板/电视观看
- 为radarr/sonarr设置一个实用的前端页面:JellySeerr项目安装与使用