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

Исходное сообщение
"фейковый raid freebsd 8.2"

Отправлено frontera , 31-Май-11 12:51 
Доброго всем, уважаемые!
столкнулся с такой проблемкой...
есть система frebsd 8.2 amd64 , мать intel s3420gplx
в контроллере размечено: диск0 = raid0 (номер массива 1)
диск 1+ диск 2 = raid1 (номер массива 0)
в противном случае отказывался стартовать систему, надо обязательно затолкать 1 хард стартапный в массив, ну да бог с ним...
ad4 = kingston ssd
ad6 = wdc
ad8 = wdc

в dmesg пишет, что ar0 состоит из ad6 ( он нормально стартанулся) и ad8 (и его геометрия отличается, ну да Бог с ним пока...)

после загрузки системы #atacontrol status ar0 выдает что массив состит из ad6 (он первый и главный в массиве) и ad4

чот я уже запутался...


Содержание

Сообщения в этом обсуждении
"фейковый raid freebsd 8.2"
Отправлено frontera , 31-Май-11 13:13 
www# atacontrol list
ATA channel 2:
    Master:  ad4 <KINGSTON SNV425S264GB/D100309a> SATA revision 2.x
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <WDC WD5003ABYX-01WERA0/01.01S01> SATA revision 2.x
    Slave:       no device present
ATA channel 4:
    Master:  ad8 <WDC WD5003ABYX-01WERA0/01.01S01> SATA revision 2.x
    Slave:       no device present
ATA channel 5:
    Master:      no device present
    Slave:       no device present
ATA channel 6:
    Master:      no device present
    Slave:       no device present
ATA channel 7:
    Master:      no device present
    Slave:       no device present


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


"фейковый raid freebsd 8.2"
Отправлено frontera , 31-Май-11 18:13 
Ну может хоть носом ткнете куда копать? как из ar0 выдрать ad4 и впердолить тудой ad8?


"фейковый raid freebsd 8.2"
Отправлено lavr , 31-Май-11 19:16 
> Ну может хоть носом ткнете куда копать? как из ar0 выдрать ad4
> и впердолить тудой ad8?

man atacontrol уже не катит?

# atacontrol delete ar0

перезагрузиться, после чего

# atacontrol create RAID1 ad6 ad8
...

другой вариант, поменяте местами ad4 и ad8 и тогда ad8 будет выступать в какчестве
диска из рейда. Правда, если у вас ad4 системный - с mbr и "/", то этот вариант не
подойдет, но ничто не мешает переткнуть ad4 в ata0(ad0/ad1) или в ata1(ad2/ad3),
а ad8 вместо ad4, после чего не забыть в BIOS правильно задать bootable HD.

Если вы наколбасили с созданием RAID1 в BIOS, то уж разберитесь:

1) fake-raid можно создавать через BIOS: RAID0 и RAID1
драйвер ATA должен его подцепить, если распознает метаданные созданного рейда через BIOS

2) fake-raid можно создавать без использования BIOS, используя atacontrol и тогда
этими рейдами можно управлять из OS, в отличие от тех что созданы через BIOS и
поддерживаются только на чтение метаданных, см. ataraid

man 4 ata
man 4 ataraid

там все расписано, про поддерживаемые Fake-Raid (по вендорам) и про то как они
подразделяются:
1) The ataraid driver can read the following metadata formats:
...
...
... перечисляются контроллеры

если RAID0/1 для этих контроллеров настраивать через BIOS, то управлять ими нельзя,
метаданные только на чтение

2) The ataraid driver can write the following metadata formats:
...
...
драйвер может писать метаданные, этими можно управлять через atacontrol в OS, если
RAID0/1 были созданы через BIOS

прим: смысл верхнего понятен?

В дополнение, чтобы разобрать RAID1 (зеркало), нужно удалить метаданные с диска[ов],
либо через atacontrol, либо через BIOS - как и чем, зависит от того как-где был
создан RAID1: через BIOS или через atacontrol. Данные на дисках после убиения RAID1,
не должны исчезнуть, драйвер будет видеть только диски по отдельности и никакого RAID'а


"фейковый raid freebsd 8.2"
Отправлено frontera , 01-Июн-11 14:34 
>[оверквотинг удален]
> драйвер может писать метаданные, этими можно управлять через atacontrol в OS, если
> RAID0/1 были созданы через BIOS
> прим: смысл верхнего понятен?
> В дополнение, чтобы разобрать RAID1 (зеркало), нужно удалить метаданные с диска[ов],
> либо через atacontrol, либо через BIOS - как и чем, зависит от
> того как-где был
> создан RAID1: через BIOS или через atacontrol. Данные на дисках после убиения
> RAID1,
> не должны исчезнуть, драйвер будет видеть только диски по отдельности и никакого
> RAID'а

Во! Спасибо, теперь все ясно, просто не совсем допонимал сможет ли atacontrol delete ar0 правильно прибить массив, и не грохнет ли он при этом чего-нить на ad4

собственно так и думалось сделать (прибить и собрать заново)
а потом еще бы и rebuild сделать...

а вот еще один глупый, наверно даже, вопрос, atacontrol detach - гасит сам ата порт? т.е. отстегивает хард.
просто не ясно было почему в массив хард добавить можно atacontrol addspare а вот выдернуть - нет....


"фейковый raid freebsd 8.2"
Отправлено lavr , 01-Июн-11 15:13 
>[оверквотинг удален]
>> В дополнение, чтобы разобрать RAID1 (зеркало), нужно удалить метаданные с диска[ов],
>> либо через atacontrol, либо через BIOS - как и чем, зависит от
>> того как-где был
>> создан RAID1: через BIOS или через atacontrol. Данные на дисках после убиения
>> RAID1,
>> не должны исчезнуть, драйвер будет видеть только диски по отдельности и никакого
>> RAID'а
> Во! Спасибо, теперь все ясно, просто не совсем допонимал сможет ли atacontrol
> delete ar0 правильно прибить массив, и не грохнет ли он при
> этом чего-нить на ad4

обязан грохнуть ТОЛЬКО метаданные от RAID0/1, все остальное должно остаться
в целости и сохранности.

atacontrol delete arX - правомочно для второй группы из man ataraid (write metadata)
или если RAID0/1 был создан через atacontrol
Для первой группы из man ataraid (read only), если RAID0/1 был создан через BIOS,
то и удалять метаданные через BIOS, в смысле вырубаем RAID0/1 и продолжаем работать
как с обычными дисками, все будет работать если в /etc/fstab arX заменить на ad6
в вашем случае.

> собственно так и думалось сделать (прибить и собрать заново)
> а потом еще бы и rebuild сделать...

что мешает?

> а вот еще один глупый, наверно даже, вопрос, atacontrol detach - гасит
> сам ата порт? т.е. отстегивает хард.
> просто не ясно было почему в массив хард добавить можно atacontrol addspare
> а вот выдернуть - нет....

снова man atacontrol:

addspare  Add a spare disk to an existing RAID - добавить запасной диск в существий
RAID. Соответственно диск уже подключен к контроллеру и известен ядру, те либо
подключен до boot, либо уже была выполнена команда atacontrol attach (после подключения
диска к каналу)

по спецификации SATA поддерживает hot-swap/hop-plug, драйвер тоже.
снова смотрим man atacontrol:

# atacontrol [attach|detach] channel

attach    Attach an ATA channel.  Devices on the channel are probed and
attached as is done on boot.

detach    Detach an ATA channel.  Devices on the channel are removed from
the kernel, and all outstanding transfers etc. are returned
back to the system marked as failed.

detach channel - отключаем канал, устройства на нем удаляются из ядра, после этой команды
можем отключить диск, после подключения - attach и иногда бывает необходимо выполнить
reinit, ньюансы связаны с различной реализацией контроллеров вендорами


"фейковый raid freebsd 8.2"
Отправлено frontera , 02-Июн-11 13:08 

> что мешает?

Очковалось ;)

Все, спасибо большое, все сделал :)