Що станеться, якщо я змушу ZFS відключити гарячу запасну частину без дійсних реплік?


9

У мене є пул ZFS з 6 RAIDZ. Один з RAIDZ деградує, через втрату двох дисків в одному RAIDZ досить близько один до одного, що ZFS не змогла відновитись після першого відмови до виходу з ладу другого диска. Ось вихід із "zpool status" незабаром після перезавантаження:

  pool: pod2
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver in progress for 0h6m, 0.05% done, 237h17m to go
config:

        NAME                                                 STATE     READ WRITE CKSUM
        pod2                                                 DEGRADED     0     0 29.3K
          raidz1-0                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F165XG    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1660X    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1678R    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F1689F    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16AW9    ONLINE       0     0     0
          raidz1-1                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16C6E    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16C9F    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16FCD    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F16JDQ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17M6V    ONLINE       0     0     0
          raidz1-2                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17MSZ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17MXE    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17XKB    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17XMW    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F17ZHY    ONLINE       0     0     0
          raidz1-3                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18BM4    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18BRF    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_W1F18XLP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09880    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F098BE    ONLINE       0     0     0
          raidz1-4                                           DEGRADED     0     0 58.7K
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09B0M    ONLINE       0     0     0
            spare-1                                          DEGRADED     0     0     0
              disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09BEN  UNAVAIL      0     0     0  cannot open
              disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49M01  ONLINE       0     0     0  837K resilvered
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0D6LC    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CWD1    ONLINE       0     0     0
            spare-4                                          DEGRADED     0     0     0
              disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F09C8G  UNAVAIL      0     0     0  cannot open
              disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F4A7ZE  ONLINE       0     0     0  830K resilvered
          raidz1-5                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-1CH_Z1F2KNQP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BML0    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPV4    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BPZP    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ78    ONLINE       0     0     0
          raidz1-6                                           ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQ9G    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQDF    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BQFQ    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0CW1A    ONLINE       0     0     0
            disk/by-id/scsi-SATA_ST3000DM001-9YN_Z1F0BV7M    ONLINE       0     0     0
        spares
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49M01      INUSE     currently in use
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F4A7ZE      INUSE     currently in use
          disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F49MB1      AVAIL   
          disk/by-id/scsi-SATA_ST3000DM001-1ER_Z5001SS2      AVAIL   
          disk/by-id/scsi-SATA_ST3000DM001-1ER_Z5001R0F      AVAIL   

errors: 37062187 data errors, use '-v' for a list

Коли перший диск вийшов з ладу, я замінив його гарячим запасним, і він почав перезавантажувати. Перш ніж завершити resilver, другий диск вийшов з ладу, тому я замінив другий диск іншим гарячим запасом. З цього моменту він почне повторно реалізовувати, зробіть приблизно 50%, а потім почне обробляти пам'ять до тих пір, поки не з'їде все це і не призведе до краху ОС.

Оновлення оперативної пам’яті на сервері на даний момент не є простим варіантом, і мені незрозуміло, що це може гарантувати рішення. Я розумію, що на цьому етапі буде втрата даних, але якщо я зможу пожертвувати вмістом цього RAIDZ, щоб зберегти решту пулу, це цілком прийнятний результат. Я перебуваю в режимі резервного копіювання вмісту цього сервера на інший сервер, але проблема споживання пам’яті змушує перезавантажувати (або збої) кожні 48 годин або близько того, що перериває мою резервну копію rsync, а перезапуск rsync потребує часу (це може відновіть, як тільки з’ясує, де він зупинився, але це займе дуже багато часу).

Я думаю, що ZFS намагається розібратися з двома операціями із заміни запасних, лежить в основі проблеми споживання пам’яті, тому я хочу видалити один із гарячих запасних частин, щоб ZFS могла працювати над одною. Однак, коли я намагаюся від'єднати один із запасних частин, я отримую "не вдається відключити / dev / disk / by-id / scsi-SATA_ST3000DM001-1CH_W1F49M01: немає дійсних реплік". Можливо, я можу використати параметр -f для примусової операції, але мені незрозуміло, яким саме буде результат цього, тому я хотів дізнатися, чи є хтось вклад, перш ніж йти вперед.

Якщо я можу перевести систему в стабільний стан, де вона може залишатися функціонуючою досить довго, щоб резервна копія завершилася, я планую зняти її для капітального ремонту, але при сучасних умовах вона застрягла в певному циклі відновлення.


Ви позначили це zfs-fuse. Це справді запобіжник ZFS? Будь ласка, надайте детальну інформацію про ОС.
ewwhite

Ви обмінюєте ставку ewwhite. Debian 6.0.6
jasongullickson

Скільки оперативної пам’яті має ця система? Як часто ви чистили масив?
Chris S

Чому ви використовували FUSE, а не реальну реалізацію ZFS? Особливо зважаючи на те, що тут багато обладнання. Я думаю, що цей масив виконаний ...
ewwhite

На той час, коли система була побудована, не було вбудованої програми ZFS для Linux.
jasongullickson

Відповіді:


1

Зараз ви можете від'єднати диски UNAVAIL, ZFS вже не використовує їх.

У вас є два невдалі диски в програмі RAIDZ-1. З великою ймовірністю ви переглядаєте деяку втрату даних, і повинні бути готові до відновлення з резервного копіювання.

В якості додаткового зауваження, мій досвід роботи з OpenSolaris / Solaris11 зарекомендував себе RAIDZ. Я б радив не використовувати його у будь-якому виробничому навантаженні.

Крім того, щоб підкріпити те, що сказав ewwhite, FUSE - це не найкращий варіант. Я скористався б можливістю перейти на щось більш стабільне (можливо, FreeBSD 10).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.