Назад | Перейти на главную страницу

ZFS Replace не может пометить новый диск

Я использую Ubuntu 18.04.3 и zfs 0.7.5-1ubuntu16.6. У меня вышел из строя диск, и я собираюсь его заменить. Раньше это работало нормально, проверяя, что плохой диск отключен, а затем набирали:

sudo zpool replace storage /dev/disk/by-partlabel/<disk> /dev/sdX

Когда я просто попытался сделать то же самое с новым диском, я получил следующую ошибку:

cannot label 'sdc': failed to detect device partitions on '/dev/sdc1': 19

На диске ничего нет, других разделов или чего-то еще, что я могу найти. Кто-нибудь еще сталкивался с этим раньше?

$ sudo zpool status
pool: storage
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Online the device using 'zpool online' or replace the device with
        'zpool replace'.
  scan: scrub repaired 640K in 16h17m with 0 errors on Sun Aug 11 16:41:23 2019
config:

        NAME                      STATE     READ WRITE CKSUM
        storage                   DEGRADED     0     0     0
          mirror-0                ONLINE       0     0     0
            zfs-f34f6853d16a5978  ONLINE       0     0     0
            zfs-f65775a49a6072bd  ONLINE       0     0     0
          mirror-1                DEGRADED     0     0     0
            14133798314445255825  OFFLINE      0     0     0  was /dev/disk/by-partlabel/zfs-2085c68dcdc7bffd
            zfs-f0b198c01e3a1f71  ONLINE       0     0     0
errors: No known data errors

$ sudo zpool replace storage /dev/disk/by-partlabel/zfs-2085c68dcdc7bffd /dev/sdc

cannot label 'sdc': failed to detect device partitions on '/dev/sdc1': 19

Вот результат dmesg когда я запускаю команду zpool для замены устройства:


 [18588.042150] GPT:disk_guids don't match.
 [18588.042153] GPT:partition_entry_array_crc32 values don't match: 0x96474c8a != 0xab54d286
 [18588.042153] GPT: Use GNU Parted to correct GPT errors.
 [18588.042163]  sdc: sdc1 sdc9
 [18588.042191] sdc: p1 start 2048+15628034048 is not zone aligned
 [18588.042192] sdc: p9 start 15628036096+16384 is not zone aligned
 [18588.535438]  sdc: sdc1 sdc9
 [18588.535481] sdc: p1 start 2048+15628034048 is not zone aligned
 [18588.535483] sdc: p9 start 15628036096+16384 is not zone aligned

Вот результат udevadm monitor при запуске команды zpool replace:

$ udevadm monitor
 monitor will print the received events for:
 UDEV - the event which udev sends out after rule processing
 KERNEL - the kernel uevent

 KERNEL[18157.755988] add      /kernel/slab/:0000016/cgroup/kmalloc-16(115:user.slice) (cgroup)
 UDEV  [18157.757240] add      /kernel/slab/:0000016/cgroup/kmalloc-16(115:user.slice) (cgroup)
 KERNEL[18159.954619] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)
 KERNEL[18159.955467] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)
 KERNEL[18160.550473] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)
 UDEV  [18160.552780] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)
 UDEV  [18160.665757] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)
 UDEV  [18160.685367] change   /devices/pci0000:00/0000:00:01.3/0000:03:00.1/ata5/host4/target4:0:0/4:0:0:0/block/sdc (block)

Я заметил одну вещь: разделы созданы, но файловая система не читает zfs после выполнения команды zpool replace:

 (parted) print
 Model: ATA ST8000AS0022-1WL (scsi)
 Disk /dev/sdc: 8002GB
 Sector size (logical/physical): 512B/4096B
 Partition Table: gpt
 Disk Flags:

 Number  Start   End     Size    File system  Name                  Flags
  1      1049kB  8002GB  8002GB               zfs-ea8ae52d141f3124
  9      8002GB  8002GB  8389kB