Как создать зеркало ZFS с дисками разных размеров секторов?

попытка восстановить зеркало в пуле ZFS:

louis@watson:~$ sudo zpool status
  pool: watson
 state: ONLINE
  scan: resilvered 1.55T in 7h22m with 0 errors on Fri Oct  6 03:19:16 2017
config:

NAME                                            STATE     READ WRITE CKSUM
watson                                          ONLINE       0     0     0
  mirror-0                                      ONLINE       0     0     0
    wwn-0x50014ee0ad3655a3                      ONLINE       0     0     0
    ata-Hitachi_HUA723020ALA640_MK0271YGJA5BSA  ONLINE       0     0     0
  wwn-0x50014ee058480994                        ONLINE       0     0     0

при попытке добавить диск появляется сообщение"устройства имеют разное выравнивание секторов":

louis@watson:~$ sudo zpool attach -f watson wwn-0x50014ee058480994 scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP
cannot attach scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP to wwn-0x50014ee058480994:
devices have different sector alignment

вот сектор репоты из новых и целевых дисков:

 louis@watson:~$ sudo hdparm -I /dev/disk/by-id/scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP | fgrep Sector
        Logical  Sector size:                   512 bytes
        Physical Sector size:                  4096 bytes
        Logical Sector-0 offset:                  0 bytes
 louis@watson:~$ sudo hdparm -I /dev/disk/by-id/wwn-0x50014ee058480994 | fgrep Sector
        Logical/Physical Sector size:           512 bytes
           *    SCT Long Sector Access (AC1)

как я могу смешать эти диски в одном пуле?

10
задан Louis
06.02.2023 2:38 Количество просмотров материала 2772
Распечатать страницу

1 ответ

Я предполагаю, что это относится к чек (детали скопированы из user DeHackEd):

основная цель-это своего рода команда" force", когда у вас есть пул, созданный с ashift=9, затем вы пытаетесь заменить/прикрепить диск с секторами 4k. ZFS это не нравится (и не зря), поэтому указание-o ashift=9 переопределяет определение размера сектора и заставляет ZFS принять его.

[...]

нет, требование заключается в том, что ashift_of(inserting_disk) <= ashift_of(existing_vdev). В противном случае EDOM будет возвращен и операция не будет продолжена. Значение inserting_disk считывается с самого диска, но может быть переопределено значением-o ashift=со значением, удовлетворяющим неравенству выше, чтобы ZFS приняла диск.

обоснование заключается в том, что присоединение диска со слишком большим ashift приведет к такой ошеломляющей плохой производительности (для вращающихся носителей в любом случае), что пользователи будут несчастный. Я сделал это, мое зеркало 500G (наполовину заполненное 1TB) заняло 24 часа в resilver, когда должно было быть 2 часа. Это было вызвано смешиванием 512 и 4096 байтовых секторных дисков.

[...]

наоборот. Пул имел ashift=9, но вставка диска с секторами 4k (ashift=12) приводит к неравенству 12 <= 9, которое является неправильным. Используя команда zpool ... - o ashift=9 делает его 9 <= 9 и ZFS принимает его.

таким образом, вы можете добавить диск с помощью sudo zpool attach -o ashift=9 -f watson wwn-0x50014ee058480994 scsi-SATA_ST2000DM001-1CH_Z1F2ZSLP, но производительность может пострадать. Альтернативой может быть повторное создание пула с правильно выровненными дисками или не смешивать и не сопоставлять размеры секторов (что означает использование разных дисков).

2
отвечен user121391 2023-02-07 10:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх