Migrowałem pulę ZFS z podniesdz na Linuksie na nowe dyski za pośrednictwem urządzeń wirtualnych, które były rzadkimi plikami. Użyłem partycji na dyskach, ponieważ dyski mają różne rozmiary po 1,9 T każda. Ostatnim dyskiem, który należy dodać, jest dysk 4 TB, a ja podzieliłem go na partycje, tak jak pozostałe, z partycją 1,9 T, aby dodać do puli. Korzysta z tablicy partycji GPT. Kiedy próbuję zastąpić ostatni plik partycją 1.9T na dysku 4T, otrzymuję następujące informacje
zpool replace -f zfs_raid /zfs_jbod/zfs_raid/zfs.2 /dev/sdd1
cannot replace /zfs_jbod/zfs_raid/zfs.2 with /dev/sdd1: devices have different sector alignment
Jak mogę zmienić rozmiar sektora partycji na 512 podobnie jak inne, a jeśli to niemożliwe, można zmienić inne urządzenia puli na 4024? Najwyraźniej logiczne rozmiary sektorów wynoszą 512
cat /sys/block/sdd/queue/hw_sector_size
Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes, 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Ponieważ partycjonowałem płytę zawierającą oryginalne urządzenie oparte na czwartym pliku, które próbuję wymienić, ale nie działało, odtworzyłem plik urządzenia, więc jest on w tej chwili resilverowany.
Wyjście statusu zpool:
NAME STATE READ WRITE CKSUM
zfs_raid DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
sda3 ONLINE 0 0 0
sdc2 ONLINE 0 0 0
sdb1 ONLINE 0 0 0
replacing-3 OFFLINE 0 0 0
/zfs_jbod/zfs_raid/zfs.2 OFFLINE 0 0 0
/mnt/butter2/zfs.4 ONLINE 0 0 0 (resilvering)
źródło
Odpowiedzi:
Znalazłem niezbędną opcję! pula obecnie wykonuje resilver nowej partycji po wydaniu następującego polecenia:
Chociaż jest to możliwe, nie jest wskazane, ponieważ osiąga się straszną wydajność, zmuszając dysk typu 4k do zapisu jako 512b. Nauczyłem się na własnej skórze, że należy dodać
podczas tworzenia puli, aby uniknąć konieczności jej późniejszego odtworzenia, ponieważ obecnie nie jest możliwa migracja do rozmiaru sektora 4k.
źródło