Я использую 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