URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93504
[ Назад ]

Исходное сообщение
"Проблема с atacontrol и RAID1"

Отправлено Romkins , 22-Июн-12 12:49 
день добрый. на сервере 8.0-RELEASE. название RAID контроллера в точности сказать не могу, ядро не отобразило название. на сервере умер диск, atacontrol честно сказал, что один диск каюк OFFLINE. остановил сервер. вынул. поставил новый диск, сам контроллер в биосе сказал, что да, новый диск, массив Degraded. грузимся.
вуаля

ad4: 476940MB <SAMSUNG HD502HJ 1AJ100E4> at ata2-master SATA150
ad6: 476940MB <Hitachi HUA722050CLA330 JP2OA3EA> at ata3-master SATA150
ar0: writing of LSILogic v3 MegaRAID metadata is NOT supported yet
ar0: 476772MB <LSILogic v3 MegaRAID RAID1> status: READY
ar0: disk0 READY (master) using ad4 at ata2-master
ar0: disk1 READY (mirror) using ad6 at ata3-master

новый диск это хитачи, он пустой. бздя считает, что массив у нас в рабочем состоянии. слава богу, что я на стал грузиться с ar0, а то было бы весело.

atacontrol status ar0
ar0: ATA RAID1 status: READY
subdisks:
   0 ad4  ONLINE
   1 ad6  ONLINE

далее по инструкции
atacontrol detach ata3

atacontrol status ar0
ar0: ATA RAID1 status: DEGRADED
subdisks:
   0 ad4  ONLINE
   1 ---- MISSING

atacontrol attach ata3
Master:  ad6 <Hitachi HUA722050CLA330/JP2OA3EA> SATA revision 2.x
Slave:       no device present

atacontrol status ar0
ar0: ATA RAID1 status: DEGRADED
subdisks:
   0 ad4  ONLINE
   1 ad6  ONLINE


atacontrol addspare ar0 ad6
atacontrol: ioctl(IOCATARAIDADDSPARE): Device not configured

собственно у меня однажды такое уже было, какими-то правдами и не правдами я решил эту проблему, но на этот раз решил подойти правильно, спросить у умных людей, а то в серверной сидеть и морозить гениталии часами не хочется ;((
спасибо



Содержание

Сообщения в этом обсуждении
"Проблема с atacontrol и RAID1"
Отправлено lavr , 22-Июн-12 16:16 
>[оверквотинг удален]
>  subdisks:
>    0 ad4  ONLINE
>    1 ad6  ONLINE
> atacontrol addspare ar0 ad6
> atacontrol: ioctl(IOCATARAIDADDSPARE): Device not configured
> собственно у меня однажды такое уже было, какими-то правдами и не правдами
> я решил эту проблему, но на этот раз решил подойти правильно,
> спросить у умных людей, а то в серверной сидеть и морозить
> гениталии часами не хочется ;((
> спасибо

изначально зеркало в BIOS'е создавали?

у вас:
> ar0: writing of LSILogic v3 MegaRAID metadata is NOT supported yet

если один диск целый, то можно не париться, а создать используя atacontrol
ar заново, предварительно удалив старые метаданные (удалив тем самым старый ar).


"Проблема с atacontrol и RAID1"
Отправлено Аноним , 22-Июн-12 22:15 
> если один диск целый, то можно не париться, а создать используя atacontrol
> ar заново, предварительно удалив старые метаданные (удалив тем самым старый ar).

зачем этот анахронизм вообще сдался? тот же gmirror много менее проблемнее...


"Проблема с atacontrol и RAID1"
Отправлено Romkins , 23-Июн-12 04:12 
>> если один диск целый, то можно не париться, а создать используя atacontrol
>> ar заново, предварительно удалив старые метаданные (удалив тем самым старый ar).
> зачем этот анахронизм вообще сдался? тот же gmirror много менее проблемнее...

всё может быть, если мне придётся создавать массив с нуля. то можно и через gmirror, мне главное, чтобы данные не потерялись


"Проблема с atacontrol и RAID1"
Отправлено Romkins , 23-Июн-12 04:11 
>[оверквотинг удален]
>> собственно у меня однажды такое уже было, какими-то правдами и не правдами
>> я решил эту проблему, но на этот раз решил подойти правильно,
>> спросить у умных людей, а то в серверной сидеть и морозить
>> гениталии часами не хочется ;((
>> спасибо
> изначально зеркало в BIOS'е создавали?
> у вас:
>> ar0: writing of LSILogic v3 MegaRAID metadata is NOT supported yet
> если один диск целый, то можно не париться, а создать используя atacontrol
> ar заново, предварительно удалив старые метаданные (удалив тем самым старый ar).

Массив создавал не я тогда, поэтому не в курсе ;(

вопрос конечно глупый, я могу удалить массив, но при создании мне нужно быть уверенным, что данные не потеряются, т.е. нужно быть уверенным, что при создании исходные данные для массива будут браться не с пустого диска.

atacontrol create RAID1 ad4 ad6 первый диск это src, а второй dst? или в данной команде вообще такое не подразумевается?


"Проблема с atacontrol и RAID1"
Отправлено lavr , 23-Июн-12 13:10 
>[оверквотинг удален]
>> изначально зеркало в BIOS'е создавали?
>> у вас:
>>> ar0: writing of LSILogic v3 MegaRAID metadata is NOT supported yet
>> если один диск целый, то можно не париться, а создать используя atacontrol
>> ar заново, предварительно удалив старые метаданные (удалив тем самым старый ar).
> Массив создавал не я тогда, поэтому не в курсе ;(
> вопрос конечно глупый, я могу удалить массив, но при создании мне нужно
> быть уверенным, что данные не потеряются, т.е. нужно быть уверенным, что
> при создании исходные данные для массива будут браться не с пустого
> диска.

ataraid - драйвер поддерживает фейковые ATA RAID контроллеры.

fake-raid - это НЕполноценные RAID контроллеры, обычно они позволяют создавать
RAID1, RAID0+1, SPAN и JBOD варианты рейдов.
Что означает НЕполноценный - то что работа рейда поддерживается программно, рейд-драйвером
для конкретного контроллера.
Начнем с самого начала, допустим имеем один из дешевых fake-raid контроллеров:

- Adaptec HostRAID
или
- JMicron
или
- LSI Logic V3 MegaRAID

эти контроллеры позволяют создавать зеркало через BIOS, допустим мы выбрали в BIOS
два диска, объединили в RAID1 (зеркало) и создали его.
Что на самом деле произошло? В особом безопасном месте на диске были созданы
метаданные которые описывают созданный посредством BIOS фейкового рейд контроллера.

Далее мы хотим установить FreeBSD на созданный рейд, если драйвер ataraid поддерживает
наш фейк-рейд контроллер (man ataraid), то при установке драйвер FreeBSD должен
увидеть, прочитать и понять метаданные рейда который создан через BIOS.
Если все Ok, то FreeBSD прочитает метаданные и позволит установить систему на
устройство /dev/arX - устройство arX и есть рейд.
Далее всю работу с рейдом будет производить драйвер OS FreeBSD, отсюда понятие
фейк или программный рейд в отличие от hardware raid (hw raid)

Однако подобные рейды можно создавать используя утилиту atacontrol, как для
fake-raid'ов, так и для самых обычных контроллеров и это более правильный подход.
Почему?
Потому что драйвер ataraid для одних фейк-рейд контроллеров умеет ТОЛЬКО читать
метаданные рейда, а для других и ЧИТАТЬ и ПИСАТЬ в область метаданных.
Что это значит, то что одними фейк-рейд контроллерами мы можем управлять прямо из
OS (запись метаданных), а другими не можем управлять используя atacontrol (только
чтение метаданных)
Вот почему из двух вариантов создания фейк-рейда:
1) BIOS fake-raid контроллера
2) atacontrol

самый удачный способ - используя atacontrol (не используя BIOS fake-raid контроллера)
он позволяет нам управлять нашим arX рейдом.
  
> atacontrol create RAID1 ad4 ad6 первый диск это src, а второй dst?
> или в данной команде вообще такое не подразумевается?

да, собственно man atacontrol

     create    Create a type ATA RAID.  The type can be RAID0 (stripe), RAID1
               (mirror), RAID0+1, SPAN or JBOD.  In case the RAID has a RAID0
               component, the interleave must be specified in number of sec-
               tors.  The RAID will be created of the individual disks named
               disk0 ... diskN.

в рабочем рейде термины src и dst могут быть изменены, если мы удалим первый
диск и вместо него вставим новый.

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

прим: ранее было упоминание про gmirror - он на мой взгляд удобней и практичней,
но вопрос был про ataraid/atacontrol и ответ соответственно.


"Проблема с atacontrol и RAID1"
Отправлено Romkins , 26-Июн-12 11:23 
спасибо за столь исчерпывающий ответ. а не получится так, что я создаю массив в ОС, ну хотя он сейчас для ОС выглядит, как READY, т.е. живой, а биос считает что это не правда и будет так же продолжать считать и думать, что массив DEGRADED? может быть мне имеет смысл ребилдить массив из биоса? поди уж ОС увидит его?

"Проблема с atacontrol и RAID1"
Отправлено lavr , 26-Июн-12 19:00 
> спасибо за столь исчерпывающий ответ. а не получится так, что я создаю
> массив в ОС, ну хотя он сейчас для ОС выглядит, как
> READY, т.е. живой, а биос считает что это не правда и
> будет так же продолжать считать и думать, что массив DEGRADED? может
> быть мне имеет смысл ребилдить массив из биоса? поди уж ОС
> увидит его?

если хочется правильно и надежно, следует сделать так:

- взять чистый диск или второй из зеркала:

a) если на втором уже зеркало аналогичное первому ничего не делаем до п.
b) если второй пустой - либо зеркалим на него данные с основного, либо
копируем на него первый используя dd (долго можно сделать побольше размер блока)

# dd if=/dev/первый of=/dev/второй bs=1M conv=noerror,sync

(имеем ввиду что процесс имеет продолжительность и за это время на первом уже
будут изменения, либо загрузиться в single-user mode и выполнить dd)

- имеем рабочий диск и его копию
- разваливаем софтверный массив
- выключаем
- перетыкаем копию в другой порт или вообще временно отключаем
- включаем питание, заходим в BIOS и разваливаем RAID если он был создан в BIOS,
пусть BIOS успокоится и мы вместе с ним. Копия на всякий пожарный у нас есть

- возвращаем второй диск на место или оставляем на другом порту и загружаемся
- наблюдаем что все хорошо
- теперь можем создать RAID исключительно используя atacontrol

Как бэ данные у нас должны быть НЕтронуты, за BIOS не ручаюсь, поэтому и сделали
копию и либо отключили, либо переткнули в другой порт

Те (то есть) как ранее было сказано, метаданные находятся в специальной области
диска и на рабочие данные не влияют, создание и удаление такого рейда - это создание
и удаление метаданных из специальной области диска.

прим: имейте ввиду что RAID через atacontrol будет иметь ограничения по размеру,
gmirror на мой взгляд существенно лучше, но это уже из другой оперы.


"Проблема с atacontrol и RAID1"
Отправлено Romkins , 26-Июл-12 06:26 
спасибо большое за помощь, всё получилось. сделал, как было раньше, через atacontrol. и как только развалил софтово массив создал его снова, получилось добавить диск, как spare и уже сделать rebuild.

"Проблема с atacontrol и RAID1"
Отправлено lavr , 26-Июл-12 11:28 
> спасибо большое за помощь, всё получилось. сделал, как было раньше, через atacontrol.
> и как только развалил софтово массив создал его снова, получилось добавить
> диск, как spare и уже сделать rebuild.

ну вот, оказывается не сложно

удачи