Документация по ОС FreeBSD Воскресенье, 05.05.2024, 21:39
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

FreeBSD и RAID1 на ICH5R (SATA)
История началась с того, что перед организацией возникла задача поставить коммуникационный сервер. Слишком высоких требований по производительности не предъявлялось, и был выбран одноюнитовый сервер Entry p115.
 
Итак, имеем сервер следующей конфигурации:
 
- MB Tyan Tomcat i875PF (S5105)
- CPU Intel Prescott Pentium4 3.0 GHz / 1Mb / 800 MHz
- RAM 2*DDR 512Mb PC3200 Kingston
- HDD 2 * 80 GB WD Caviar 7200 SATA 8Mb (WD800JD)
- CDROM 52x TEAC
- Case 1U, rack mount.
 
Поскольку современный винчестер - "не то место где нужно хранить информацию" (с) не помню чей, то для обеспечения надежности систему будем ставить на RAID1 (т.е. mirror).
 
В качестве операционной системы была выбрана FreeBSD 5.3R, как одна из лучших систем для Internet сервера, и последняя версия с большим спектром поддерживаемого оборудования и стабильная в работе. В версии 5.3 особенно радовала нормальная поддержка SATA и конкретно стоящего на нашей материнке южника ICH5R. На этом южнике стоит остановиться особо. Часто в руководстве к материнкам использующим этот чип (а в буклетах - так вообще всегда), говориться, что он "RAID 0 или 1", но при детальном рассмотрении оказывается что оно "The Intel(R) RAID feature is available in Win2000 and WinXP". Т.е. он то конечно raid, но не полностью аппаратный, часть функций реализуется на программном уровне. Несмотря на создание RAID1 в BIOS'е контроллера, при установке системы видим 2 диска. В общем, поставить систему в лоб, на raid, как на один диск, созданный в BIOS'е полностью аппаратного контроллера как Adaptec или HighPoint у Вас не получится.
 
Но способ установки есть, хотя и чуть менее простой.
 
Выбирая между atacontrol, vinum или ccd я остановился на первом
 
Итак, установка пошагово:
 
1.При загрузке машины нажимаем + для входа в Array Configuration Utiliry
 
2. Выбираем Create RAID Volume
 
3. RAID Level: RAID1 (Mirroring)
 
4. Нажимаем кнопочку и ждем пока RAID1 будет собираться.
 
Поокончанииработы утилиты, вставляем диск с FreeBSD 5.3 и загружаемся с него
 
Выбираем стандартную установку и ставим систему по минимуму и, что называется "абы поставить". Эта система все равно ставиться на 5 минут. Дело в том, что при выборе дисков мы, к сожалению, увидим только ad4 и ad6 - рейда не видим. Ставимся на любой диск, не имеет значения, и после установки и перезагрузки (уже с HDD) набираем заветную команду:
 
# atacontrol
create RAID1 ad4 ad6
 ar0 created
 
- создано устройство ar0 - собственно RAID1 из дисков ad4 и ad6
 
Собственно ради этого и нужна была черновая установка системы
 
Конечно, проще было бы загрузиться с rescue-диска (со второго диска комплекта.), но его чаще всего нет под рукой.
 
Теперь можно перегрузиться и по настоящему поставить FreeBSD по вкусу. Ставить нужно на ar0 (этот пункт появиться в fdisk при установке), диски ad4 и ad6 не трогаем. Установка FreeBSD на наш RAID ничем не отличается от установки на обычный жесткий диск. Об установке написано достаточно много, тут все зависит от Ваших потребностей. Поэтому этот вопрос не затрагиваем, а сразу к вкусненькому. J
 
Итак, система живет на рейде ar0. Что мы можем с ним делать?
 
Посмотреть ATA устройства можно так:
 
# atacontrol list
 
ATA channel 0:
Master: no device present
Slave: no device present
 
ATA channel 1:
Master: acd0 ATA/ATAPI revision 0
Slave: no device present
 
ATA channel 2:
Master: ad4 Serial ATA v1.0
Slave: no device present
 
ATA channel 3:
Master: : ad6 Serial ATA v1.0
Slave: no device present
 
проверить состояние рейда можно командой:
 
# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: READY
 
и вообще man atacontrol - очень полезно J, к примеру здесь:
 
Проверка функционирования RAID 1
 
Проверить работу RAID1 в действии довольно просто и очень стоит попробовать поиграться с этим до того как сервер станет боевым, с полезной нагрузкой.
 
# atacontrol list
 
ATA channel 0:
Master: no device present
Slave: no device present
 
ATA channel 1:
Master: acd0 ATA/ATAPI revision 0
Slave: no device present
 
ATA channel 2:
Master: ad4 Serial ATA v1.0
Slave: no device present
 
ATA channel 3:
Master: ad6 Serial ATA v1.0
Slave: no device present
 
# atacontrol status ar0
 
ar0: ATA RAID1 subdisks: ad4 ad6 status: READY
 
пока все нормально
 
Моделируем вылет одного из дисков - отсоединяем любой из дисков рейда, например ad6. Для этого диск отсоединяем, или можно дать команду atacontrol detach
 
# atacontrol detach 3
 
Диск выключен физически, с остановкой шпинделя, и через некоторое время мы увидим в окне первого терминала предупреждение
 
ad6: deleted from ar0 disk1
ar0: WARNING - mirror lost
ad6: WARNING - removed from configuration
 
проверяем состояние ar0
 
# atacontrol status ar0
 
ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED
 
система заметила нарушение работы рейда
 
# atacontrol list
 
ATA channel 0:
Master: no device present
Slave: no device present
 
ATA channel 1:
Master: acd0 ATA/ATAPI revision 0
Slave: no device present
 
ATA channel 2:
Master: ad4 Serial ATA v1.0
Slave: no device present
 
ATA channel 3:
Master: ad6 no device present
Slave: no device present
 
Естественно, диска ad6 нет - мы его выключили
 
Подключаем винт назад (можно дать команду atacontrol attach)
 
# atacontrol attach 3
Master: ad6 Serial ATA v1.0
Slave: no device present
 
А в системной консоли:
 
ad6: 76319MB [155061/16/63] at ata3-master SATA150
 
# atacontrol status ar0
 
ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED
 
При этом винт появился физически, но он не в рейде
 
# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 DOWN status: DEGRADED
 
- один из винтов DOWN, несмотря на то, что физически он поднялся. Тут дело в логике работы raid - произошел развал зеркала - винт ad6 был исключен из состава рейда. В контейнере ar0 остался один из двух работающих винтов - ad4. Несмотря на подключение винта ad6 назад, он уже не входит в состав контейнера ar0, и его нужно туда внести
 
# atacontrol addspare ar0 ad6
 
В системной консоли:
 
ad6: inserted into ar0 disk1 as spare
 
проверим
 
# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
 
Осталось восстановить зеркалирование
 
# atacontrol rebuild ar0
 
Процесс запустился в фоновом режиме и можно посмотреть его текущее состояние
 
# atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 1% completed
...
 
Через час
 
atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: READY
 
- зеркало восстановлено J
 
Для контроля состояния RAIDа можно вписать в crontab:
 
0 8 * * * root atacontrol status ar0 | mail -s "server1 RAID status" mymail@mydomain.com
 
.... И каждое утро, приходя на работу, Вы будете получать письмо от сервера о статусе
 
atacontrol - программа управления драйвером устройства ATA созданная Soren Schmidt, появилась в составе FreeBSD с версии 4.
 
 
Автор: Николай Солонин
Категория: Работа с железом | Добавил: oleg (13.11.2007)
Просмотров: 1286 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024