Можно ли изменить размер сектора раздела для пула zid raidz в linux?


9

Я переносил пул zfs raidz в linux на новые диски через виртуальные устройства, которые были редкими файлами. Я использовал разделы на дисках, так как диски имеют разные размеры 1.9T каждый. Последний диск, который нужно добавить, - это диск 4 ТБ, и я разделил его, как и остальные, с разделом 1,9 ТБ, чтобы добавить в пул. Он использует таблицу разделов GPT. Когда я пытаюсь заменить последний файл с разделом 1.9T на диске 4T, я получаю следующее

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

Как я могу изменить размер сектора раздела на 512, как и у других, или в случае сбоя можно изменить другие устройства пула на 4024? Видимо, все размеры логического сектора 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

Поскольку я перераспределил диск, который содержал оригинальное 4-е файловое устройство, которое я пытаюсь заменить, но оно не сработало, я воссоздал файл устройства, так что в настоящее время он восстанавливается.

вывод состояния 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)

Вы не можете вместо этого zfs прикрепить zfs_raid <файл> <устройство> и после синхронизации zfs отсоединить zfs_raid <file>
BitsOfNix

не будет ли присоединение 5-го устройства необратимо расширять массив? или может быть вы имеете ввиду что-то вроде добавления запасного?
Барримак

Не добавляя запасной диск или не добавляя новый диск, выполняя zpool присоединить пул old_device new_device, это отразит old_device на new_device, затем вы отсоедините old_device от своего зеркала после восстановления: docs.oracle.com/cd/E26502_01/html/E29007/ gayrd.html # scrolltoc <- информация о прикреплении / отсоединении и различиях между добавлением и прикреплением.
BitsOfNix

Это выглядело многообещающе, к сожалению, вернуло «не могу подключить / dev / sdd1 к /zfs_jbod/zfs_raid/zfs.2: можно подключать только к зеркалам и дискам верхнего уровня»
barrymac

Не могли бы вы вывести свой текущий статус zpool zfs_raid, чтобы увидеть макет рейда?
BitsOfNix

Ответы:


4

Я нашел нужный вариант! в настоящее время пул повторно переносит новый раздел после выполнения следующей команды:

 zpool replace  -o ashift=9 zfs_raid <virtual device> /dev/sdd1

Хотя это возможно, это не рекомендуется, потому что вы получаете ужасную производительность, заставляя диск 4k типа записываться как 512b. Я усвоил трудный путь, который нужно добавить

-o ashift=12 

при создании пула, чтобы избежать необходимости его повторного создания позже, поскольку в настоящее время невозможно выполнить «миграцию» до размера сектора 4 КБ.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.