Задача:
Извлечь 2 харда из raid-10 на логическом уровне (т.е., не извлекая из сервака физически), чтобы собрать из них raid-1, перенести туда систему и подготовить всё что можно к ребуту, таким образом минимизировав время и количество даунтаймов.
В чем сложность?
В 5 серии адаптеков вопрос решался двумя командами:
1. Зафейлили диск: arcconf setstate 1 device 0 0 ddd
2. Перевели в статус Ready: arcconf setstate 1 device 0 0 rdy
3. Делаем с дисками, что хотим.
В 6 серии так не прокатывает. Вне зависимости от того, включен failover или нет, диски возвращаются в состояние Present, и с ними ничего нельзя поделать (думаю, ясно, что сам рейд будет Degraded, пока не пройдет Rebuild).
Попытка обратиться в официальную тех.поддержку была неудачна — ответ я получил, но возникло ощущение, что я использую домашнюю железку, а не сервер, который нельзя просто так дергать туда-сюда:
После того как вы провели команду «arcconf setstate 1 device 0 0 ddd», система была перезагружена? Если нет, то перезагрузите и инициализируете оба диска в БИОСе контроллера. Там сразу же можно и создать RAID-1.
Чтобы стереть мете-данные на диске под Arcconf диск можно инициализировать с командой «arcconf task». Например: arcconf task start 1 device 0 0 initialize
После этого диск должен быть доступным для создания других логических дисков.
Однако, если Вы выбрасываете из RAID-10 два диска, то он остаётся в статусе «Degraded». При ошибке одного из оставшийся в массиве дисков может рухнуть весь массив. Поэтому, возможно, просто сделайте бэкап всех данных, потом просто удалите массив RAID-10 и создавайте два отдельных RAID-1.
Я подумал и решил вопрос очередью экспериментов, после чего смог выполнить поставленную задачу.
Описание:
Имеем logical device с raid-10 на 4 дисках
Logical device segment information
--------------------------------------------------------
Group 0, Segment 0 : Present (0,0) J0VV3R8N
Group 0, Segment 1 : Present (0,1) J0VV3ZBN
Group 1, Segment 0 : Present (0,2) J0VV3YEN
Group 1, Segment 1 : Present (0,3) J0VX2WXN
Необходимо вытащить из него 2 харда (по одному из разных групп) и составить raid-1 из них
Решение:
1. Убеждаемся, что failover включен
arcconf failover 1 on
2. Фейлим 2 диска из разных групп
arcconf setstate 1 device 0 0 ddd
arcconf setstate 1 device 0 2 ddd
Диски станут Inconsistent в logicaldevice и Failed в physicaldevice
3. Переводим эти диски в статус ready
arcconf setstate 1 device 0 0 rdy
arcconf setstate 1 device 0 2 rdy
Диски станут Missing в logicaldevice и Ready в physicaldevice
4. Ждем до тех пор, пока failover не запустит rebuilding
Group 0, Segment 0 : Rebuilding (0,0) J0VV3R8N
Ребилдиться они будут по очереди, т.ч., как только видим у одного из них состояние Rebuilding, делаем пункт 5 сразу, затем для следующего.
5. Фейлим и очень быстро переходим к пункту 6
arcconf setstate 1 device 0 0 ddd
arcconf setstate 1 device 0 2 ddd
Диски станут Inconsistent в logicaldevice и Failed в physicaldevice
6. Переводим диски в статус Ready и очень быстро переходим к пункту 7
arcconf setstate 1 device 0 0 rdy
arcconf setstate 1 device 0 2 rdy
Диски станут Missing в logicaldevice и Ready в physicaldevice
7. Отключаем failover и очень быстро переходим к пункту 8
arcconf failover 1 off
8. Инициализируем диски
arcconf task start 1 device 0 0 initialize
arcconf task start 1 device 0 2 initialize
Ура, можем состряпать из них raid-1
arcconf CREATE 1 LOGICALDRIVE MAX 1 0 0 0 2
У читателя, возможно, возникнут вопросы, для чего мы провели 2 раза одни и те же действия и почему сразу не отключили failover.
Повторюсь, 6 серия адаптеков не даёт возможности спокойно вывести диски из рейда при отключенном failover после команды:
arcconf setstate 1 device 0 0 rdy
мы бы получили статус диска в logicaldrive Present, а статус рейда Degraded, при этом диск в physicaldrive был бы в статусе Online, а не Ready.
И почему же начиная с пункта 5 мы все делаем быстро? Все просто, контроллер через несколько секунд успевает опомниться и сменить статус
дисков, поэтому нужно успеть выполнить команды до того, как он это сделает.
Найти готовое решение не смог, пришлось изобретать свое, надеюсь, кому-то будет полезно — не один же я юзаю 6 серию адаптеков.
Автор: alterpub