Як створити дзеркало ZFS з дисками різного сектора?


2

Спроба відремонтувати дзеркало в басейні 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)

Як я можу змішати ці накопичувачі в одному пулі?


Додайте його вручну, але ви втратите продуктивність.
DGoiko

Відповіді:


2

Я припускаю, що це стосується цієї перевірки (деталі скопійовані від користувача DeHackEd ):

Основна мета - це свого роду команда "сила", коли у вас є пул, створений з ashift = 9, ви намагаєтеся замінити / приєднати диск з 4k секторами. ZFS це не любить (і з поважних причин), тому вказуючи -o ashift = 9 переосмислює виявлення розміру сектора і змушує ZFS взяти його.

[...]

Ні, вимога полягає в тому, щоб ashift_of (inserting_disk) <= ashift_of (существующий_vdev). Якщо цього не зробити, це призведе до повернення EDOM, а операція не буде продовжена. Значення insert_disk зчитується з самого диска, але може бути замінено на -o ashift = значення зі значенням, що задовольняє наведеному вище нерівності, щоб змусити ZFS прийняти диск.

Обґрунтування полягає в тому, що приєднання диска з занадто великим швидким зміщенням призведе до такої приголомшливо поганої продуктивності (все одно для обертових носіїв), що користувачі будуть незадоволені. Я зробив це, моєму дзеркалі на 500 Г (наполовину заповнених 1 ТБ) дзеркало знадобилося 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, але продуктивність може постраждати. Альтернативою було б відтворити пул з правильно вирівняними дисками або не змішувати і не відповідати розмірам секторів (що означає використання різних дисків).


Чудова знахідка! Обіцяючий ... спробуємо, коли резервне копіювання завершено.
Луї

У вас виникли проблеми з резервною копією. Розум погляне на це? serverfault.com/questions/882591/…
Луї

Це працює! Повторне перебування здається повільним зі швидкістю 50 Мб / с. Але це застаріле поле з малою кількістю користувачів, тому безумовно виграш витрат / зусиль. :)
Луї

@ user121391 Отже, процес додавання 512 байт до існуючого 4096 байта повинен спрацювати нормально? У мене є 4-дзеркальний дзеркальний набір з швидким зміщенням 0 і пара 512 дисків, які індивідуально змонтовані з швидким зміщенням 0 (через "zpool get all"). Я хочу створити 4-диск набір 0/1 з цими. Чи буде це працювати досить добре?
MikeP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.