Як перевірити / відновити масив RAID1?


0

В даний час я використовую програмний масив RAID-1 на Linux, який базується на жорсткому диску та SSD. У мене є сильне відчуття, що SSD виходить з ладу.

Я хотів би перевірити, наскільки погано поводиться SSD. Я запустив перевірку масиву, echo check > /sys/block/md1/md/sync_actionі, коли він закінчився, я ознайомився зі змістом /sys/block/md1/md/mismatch_cnt. Я провів її 3 рази поспіль і отримав 3 різні результати: 256, 128 і 384. Що мене спантеличує, що другий запуск дав нижчий результат, ніж перший. Чи була виправлена ​​невідповідність?

Чи є спосіб я отримати більш детальну інформацію про виявлені невідповідності? Можливо, буде цікаво перевірити, чи змінюються блоки невідповідності чи це завжди те саме. Я також хотів би ознайомитись із вмістом блоків невідповідностей, щоб побачити, чи можу я сказати, який з них правильний. (Наприклад, якщо SSD занулює деякі блоки, він не може перечитати.)

Більше того, я бачу, є можливість для repairмасиву MD. Але я дещо підозрілий: як ядро ​​може здогадатися, який із блоків невідповідності є правильним?


Я не знаю відповіді на питання, але налаштування RAID1 працює зі швидкістю найповільнішого компонента. Це не швидше, ніж біг тільки на HD.
Крістофер Заручник

2
@ChristopherHostage Це не вірно для продуктивності читання, якщо я налаштовую масив на зчитування SSD, а не на жорсткий диск, що я можу зробити, використовуючи опцію "в основному записувати", коли додаю жорсткий диск.
користувач2233709

Ага. "Пишіть-в основному" був для мене новим терміном ... Погугливши це, я привела мене до наступного посилання, де також згадується використаний інструмент. Акуратний. tansi.org/hybrid
Крістофер Заручник

Відповіді:


0

Ну… Читання вихідного коду process_checksфункції у drivers/md/raid1.cфайлі з Linux 4.9.88, якщо я читаю правильно:

  1. Неможливо зробити операції перевірки чи ремонту багатослівними щодо того, де виявляються невідповідності.
  2. Якщо в процесі перевірки чи ремонту відбулася помилка читання, блоку, що вийшов з ладу, буде переписано.
  3. Якщо невідповідність виявлена ​​під час операції ремонту, вона буде виправлена ​​шляхом копіювання блоку з "первинного" (першого невдалого) блоку в інший.

Отже, не здогадується, який із блоків невідповідності є правильним; він просто сприймає перше як правильне. (Як я читав, навіть якщо є 3 компоненти, а 2-й та 3-й містять однаковий вміст.)

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