3

Попытка восстановить зеркало в пуле 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)

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

1 ответ1

2

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

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

[...]

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

Обоснование состоит в том, что подключение диска со слишком большой скоростью сдвига приведет к такой потрясающе низкой производительности (в любом случае, для ротационных носителей), что пользователи будут несчастны. Я сделал это, мое 500G (наполовину заполненное 1TB дисков) зеркало заняло 24 часа для восстановления, когда должно было быть 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 , но ваша производительность может снизиться. Альтернативой было бы воссоздать пул с правильно выровненными дисками или не смешивать и не сопоставлять размеры секторов (что означает использование разных дисков).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .