我的Debian服务器在Linux上运行ZFS。 今天,由于软件升级,我不得不重启两次。 第一次重启是因为ZFS从0.6.4-1.2-1更新到0.6.5.2-2-wheezy,当我之后访问我的主目录在池中时,这很好。 最后一次重新启动后,zpool无法导入池:
# zpool import pool: storage id: 4490463110120864267 state: FAULTED status: The pool metadata is corrupted. action: The pool cannot be imported due to damaged devices or data. see: http://zfsonlinux.org/msg/ZFS-8000-72 config: storage FAULTED corrupted data logs sda3 ONLINE # zpool import storage cannot import 'storage': I/O error Destroy and re-create the pool from a backup source. # zpool import -F storage cannot import 'storage': one or more devices is currently unavailable
我错过了我的完整池,应该这样读:
storage mirror scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1 scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1
我如何告诉zpool使用数据分区? 我害怕试图将磁盘附加到这个池或一个新的池,因为我担心磁盘resp。 他们的元数据将被清除。
编辑/更新:
鉴于事实,在正常的重新启动期间zpool损失发生,我希望至lesszpool出口发生。 即使它已经closures不干净,我更喜欢做副本的救援工作。 所以我给我的系统添加了一个大硬盘(作为设备sdb添加 – 感谢udev),并使用两个与发生故障的驱动器上zfs分区大小相同的分区进行格式化。 因为这是一个镜像池,我将两个旧分区复制到新分区:
dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2132687-part1 /dev/sdb1 bs=104800 dd if=/dev/disk/by-id/scsi-SATA_WDC_WD30EFRX-68_WD-WMC1T2194187-part1 /dev/sdb2 bs=104800
现在我有一个两个相同的镜子系统。
# zpool import pool: storage id: 4490463110120864267 state: ONLINE status: Some supported features are not enabled on the pool. action: The pool can be imported using its name or numeric identifier, though some features will not be available without an explicit zpool upgrade'. config: storage ONLINE mirror-0 ONLINE sdb1 ONLINE ata-WDC_WD30EFRX-68AX9N0_WD-WMC1T2194187-part1 ONLINE logs sda3 ONLINE # zpool import storage #
万岁!
我同时备份数据两次,恢复到一个完整的新的zpool进行中。
由于您在原始池创build中指定了/ dev / disk / by-id,池可能无法find您的磁盘。 请注意您的slog设备是如何识别的
有一个池导入标志-d ,它允许您将导入过程指向特定的目录以查询设备。 好的build议在这里 。
尝试:
zpool import -F -d /dev/disk/by-id storage