Тлеушев Нурлан Мухамедьевич
Raid-1, что чинить сначала: "maintenance" или "last Erred"?

Lib.ru/Современная: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Помощь]
  • Оставить комментарий
  • © Copyright Тлеушев Нурлан Мухамедьевич (tnm_2004@mail.ru)
  • Размещен: 07/06/2010, изменен: 07/06/2010. 10k. Статистика.
  • Справочник: IT-технологии
  • Оценка: 7.40*8  Ваша оценка:
  • Аннотация:
    Иногда кто-то не помнит, а кто-то не знает как надо поступить в случае если у вас "сломался" RAID-1 (зеркало). Надеюсь это руководство чем-то поможет.


  • Solaris Volume Manager (svm, former Solstice Disk Suite)

      

    RAID-1, что чинить сначала: "Maintenance" или "Last Erred"?

      
       Данная статья никоим образом не является панацеей от всех бед, также не стоит ее рассматривать как замену документации по Solaris Volume manager. В статье описаны часто задаваемые вопросы "как чинить" и "с чего начать".
      
       Рассмотрим ситуации:
        -- нормальный вывод metastat, ошибок нет (Пример 1)
        -- одна половинка в состоянии "Maintenance" (Пример 2, см.Таблицу 1)
        -- одна половинка в состоянии"Maintenance", вторая в состоянии "Last Erred" (Пример 3, см. Таблицу 1)
        -- обе половинки в состоянии "Maintenance" (см. Таблицу 1)
      
       Примечание 1:
       В приведенных примерах имя зеркального тома обозначено десятком (например, d10), имена зеркальных половинок обозначены следующими за десятком цифрами (например, d11 - первая половинка, d12 - вторая половинка)
      
       Пример 1 - нормальный вывод команды metastat для зеркала d40, ошибок нет (у всех половинок статус "Okay"):
       d40: Mirror
       Submirror 0: d41
       State: Okay
       Submirror 1: d42
       State: Okay
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 33240834 blocks (15 GB)
      
       d41: Submirror of d40
       State: Okay
       Size: 33240834 blocks (15 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c0t0d0s7 0 No Okay Yes
      
       d42: Submirror of d40
       State: Okay
       Size: 33240834 blocks (15 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c0t1d0s7 0 No Okay Yes
       Действий не требуется.
      
       Пример 2 -вывод команды metastat для зеркала d30, ошибка на одной из половинок:
      
       d30: Mirror
       Submirror 0: d31
       State: Okay
       Submirror 1: d32
       State: Needs maintenance
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 61412160 blocks (29 GB)
      
       d31: Submirror of d30
       State: Okay
       Size: 61412160 blocks (29 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c1t0d0s3 0 No Okay Yes
      
      
       d32: Submirror of d30
       State: Needs maintenance
       Invoke: metareplace d30 c1t2d0s3 <new device>
       Size: 61412160 blocks (29 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c1t2d0s3 0 No Maintenance Yes
      
       Рассмотрим подробнее: одна половинка находится в состоянии"Maintenance".
       Смотрим Таблицу 1 и принимаем правильное решение по ситуации.
      
      
       Пример 3 - вывод команды metastat для зеркала d60, ошибки есть:
      
       d60: Mirror
       Submirror 0: d61
       State: Needs maintenance
       Submirror 1: d62
       State: Needs maintenance
       Pass: 1
       Read option: roundrobin (default)
       Write option: parallel (default)
       Size: 70994286 blocks (33 GB)
      
       d61: Submirror of d60
       State: Needs maintenance
       Invoke: after replacing "Maintenance" components:
       metareplace d60 c0t8d0s7 <new device>
       Size: 70994286 blocks (33 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c0t8d0s7 0 No Last Erred Yes
      
      
       d62: Submirror of d60
       State: Needs maintenance
       Invoke: metareplace d60 c0t9d0s7 <new device>
       Size: 70994286 blocks (33 GB)
       Stripe 0:
       Device Start_Block Dbase State Reloc Hot Spare
       c0t9d0s7 0 No Maintenance Yes
      
       Рассмотрим подробнее Пример 3: на первый взгляд, обе половинки находятся в состоянии"Maintenance", однако, не нужно паниковать, давайте изучим весь листинг.
       Обращаем внимание на столбик State. Теперь мы видим, что одна половинка Maintenance, а вторая Last Erred.
       Далее смотрим Таблицу 1 и принимаем правильное решение по ситуации.
      
       Таблица 1.

    Keyword

    Статус

    Meaning

    Action

    Необходимые действия

       Last Erred
       The submirror has errors, and data for the mirror has potentially been corrupted.
      
       Зеркальная половина имеет ошибки и вся информация на зеркале, потенциально, может быть утеряна.
       Fix submirrors in the
       "Maintenance" state first, then
       fix the submirror in the "Last Erred" state. See "How to Enable a Slice in a Submirror (DiskSuite Tool)" on page 149, or "How to Replace a Slice in a Submirror (DiskSuite Tool)" on page 150. After fixing the error, validate the data.
      
       Сначала чиним половинки, находящиеся в состоянии "Maintenance", затем, те, что в состоянии "Last Erred"
       Maintenance
       The submirror has an error.
      
       Зеркальная половина сломана.
       Repair the submirror. You can fix submirrors in the "Errored" state in any order. See "How to Enable a Slice in a Submirror (DiskSuite Tool)" on page 149, or "How to Replace a Slice in a Submirror (DiskSuite Tool)" on page 150.
      
       Чиним половинки, находящиеся в состоянии "Maintenance" или "Errored" в любом порядке, затем, те, что в состоянии "Last Erred"
      
       Для разрешения проблемы мы должны сначала вставить новый диск в свободный трей и запустить команду из строки "Invoke" для замены сбойного диска на новый согласно Таблицы 1. Однако, такое возможно лишь на тех машинах, где есть свободный дисковый трей. На остальных же машинах придется установить новый диск в тот же трей, где был сбойный диск. Теперь даем такую команду:
       metareplace d60 c0t9d0s7 <new device>
       Зачастую диски могу оказаться исправными, и тогда ничего переставлять не нужно. Мы даем такую команду:
       metareplace -e d60 c0t9d0s7
       тем самым разрешая использовать в зеркале "старый" компонент.
       Но вы должны быть уверенны, что диск исправен, иначе, в лучшем случае вы останетесь в прежней ситуации, а в худшем - потеряете все данные.
       Следующая команда поможет вам узнать диагностическую информацию о дисках:
       iostat -E (или iostat -En)
      
       В ситуации, когда обе половинки в состоянии "Maintenance", можно попробовать выполнить команду:
       metasync (например metasync d60)
       если не помогло, то следовать инструкции из Таблицы1.
      
       Примечание (касательно реплик svm - metadb):
       1. на машинах с количеством дисков до четырех включительно можно устанавливать по три реплики на каждый из дисков.
       2. на машинах, где стоит более четырех НЖМД нужно ставить не более, чем по одной реплике на каждый диск.

  • Оставить комментарий
  • © Copyright Тлеушев Нурлан Мухамедьевич (tnm_2004@mail.ru)
  • Обновлено: 07/06/2010. 10k. Статистика.
  • Справочник: IT-технологии
  • Оценка: 7.40*8  Ваша оценка:

    Связаться с программистом сайта.