小编Ole*_*nko的帖子

zfs销毁后恢复数据

在 Debian 8.7 上,我有一个 zfs 池。(显然在 Linux 上使用 ZFS,而不是 Oracle 或 Solaris zfs)

需要将 ZFS 池从 2 个磁盘上的镜像扩展到 4 个磁盘上的 raidz。我做了备份(一份数据副本 - 这是我的第一个错误)

我认为zpool destroy在我删除所有数据集(卷)之前这不会起作用,所以我做到了zfs destroy(这是我的第二个错误)。

之后我发出'zpool destroy',重新分区所有4个磁盘,发现备份已损坏。

所以我开始了我的恢复冒险:ZFS 的第一个好处是它能够导入被破坏的池。之后zpool destroy yourPoolName您可以调用zpool import -D以查看已销毁池的列表。然后,您可以使用 imoprt 它,zpool import -D yourPoolName或者如果您销毁了多个具有相同名称的池,那么您可以通过 id 导入它,由zpool import -D.

zpool import -D需要在其原始位置进行分区。它必须精确到部门。我曾经用fdisk确切的开始和结束扇区号创建分区。我曾经cfdisk设置分区类型(因为它对用户更友好:))然后您应该调用partprobe以确保操作系统知道更改的分区。

zpool import -D像魅力一样工作,我的游泳池再次处于完美健康状态!.. 但后果是zfs destroy- 所有数据都丢失了。

ZFS 在事务中存储对文件和文件系统的更改,这些更改以事务组 (TXG) 的形式保存到磁盘。我的进一步研究表明,我必须回滚最后一个事务组。

有两种回滚 …

zfs data-recovery zfsonlinux

10
推荐指数
0
解决办法
7281
查看次数

标签 统计

data-recovery ×1

zfs ×1

zfsonlinux ×1