Suse на сервере IBM и мониторинг raid контроллера adapctec

Из всех дистрибутивов линукса, которые IBM рекомендует для своих серверов программных и аппаратных у меня под рукой оказался только Suse 11.2. SuSE 11.3 уже есть, но под рукой он не оказался. Я установил Suse. Ничего особенного там нет. Что-то красивше чем обычно, что-то страшнее. Очень удобно было выставить по умолчанию грузить полноценный linux, но без GUI. Зачем мне на сервере GUI в обычном состоянии? А консольная команда startx даёт моментальный эффект запуска графики.
У меня в комплекте с сервером, а точнее с карточкой raid контроллера шло пару CD. «Support CD» и «Application CD». На которых в изобилии валялись pdf, readme и прочие источники знаний. А так же драйвера и утилиты в rpm. Что мне, как оказалось, и надо было. Я достаточно быстро освоил установку существующего rpm из командной строки:

rpm -i /полный/путь/к/файлу.rpm

Собственно, про это в доступной форме рассказывали pdf-ы про то как эти утилиты ставить.
Драйвер raid контроллера был suse известен сразу. Далее на повестке дня два программных продукта. Графическая утилита, в которой всё… графическое и консольная, которая всё показывает в текстовом виде. В графике можно наблюдать диски и их графический список. С иконками. Посмотреть на эту утилиту можно запросто непосредственно загрузившись с «Support CD». Кстати, там тоже линуксовая среда загружается. Разумеется, если любишь графические картинки, то неплохо бы иметь такое под рукой на боевом сервере — не будешь же перезагружаться с CD что бы посмотреть что за диск отключился и когда вернётся? А вот поставить это счастье себе с этого диска я не смог.
После установки графическая среда загрузилась, но отказалась находить контроллер. Всё хорошо, но контроллера нет. Текстовая отказалась запускаться по причине отсутствия библиотеки «libstdc++.so.5: cannot open shared object file: No such file or directory». Разбираясь как поставить эту библиотеку я наткнулся на замечательную статью, текст которой привожу полностью:

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

Для мониторинга контроллеров Adaptec можно использовать утилиту arcconf, входящую в состав Storage Manager'a.
Загрузить его можно по ссылке http://www.adaptec.com/en-US/downloads/
После установки, в случае Linux, rpm пакета появится директория /usr/StorMan/.

Команда для получения полной информации о контроллере:

   # /usr/StorMan/arcconf getconfig 1

если появится ошибка вида

   /usr/StorMan/arcconf: error while loading shared libraries:
    libstdc++.so.5: cannot open shared object file: No such file or directory

нужно выполнить команду

   # export LD_PRELOAD="/usr/StorMan/libstdc++.so.5"

Самой важной информацией является информация о состоянии логических дисков

   # /usr/StorMan/arcconf getconfig 1 ld

Результат выполнения команды:

   Controllers found: 1
   Logical device information
   Logical device number 0
   Logical device name :  tst
   RAID level : 5
   Status of logical device : Optimal
   Size : 14300150 MB
   ...

Ключевой информацией является строка

   Status of logical device : Optimal

Команда  для получения информации о состоянии физических дисков

   # /usr/StorMan/arcconf getconfig 1 ld

Дополнительную информацию о состоянии контроллера можно получить в лог файлах

   # cat /usr/StorMan/RaidEvtA.log

Ниже я приведу скрипт, который проверяет состояние логического диска и, если он
не в состоянии Optimal, отправляет e-mail

/usr/scripts/checkraid.pl

   #!/usr/bin/perl
   use Net::SMTP;
   $opt=`/usr/StorMan/arcconf getconfig 1 ld | grep "Status of logical device" | grep "Optimal" -c`;
   open (FH, ">> /var/log/raidcheck.log");
   if ($opt==0) {
      print (FH scalar(localtime));
      print (FH " Problem with RAID!\n");
      $date=`exec /bin/date '+%F %T'`;
      chomp($date);
      $smtp = Net::SMTP->new('mail.server-name.ru');
      $smtp->mail(' expe@server-name.ru ');
      $smtp->to('expe\@server-name.ru');
      $smtp->data();
      $smtp->datasend("To:expe\@server-name.ru \n");
      $smtp->datasend("Subject: raid problem");
      $smtp->datasend("\n");
      $smtp->datasend("\n");
      $smtp->datasend("[$date]Problem with raid on tst!");
      $smtp->datasend("\n");
      $smtp->dataend();
      $smtp->quit;
      print "Problem with raid!\n";
   } else {
      print (FH scalar(localtime));
      print (FH " Status of raid is optimal\n");
      print "Status of raid is optimal!\n";
   };
   close(FH);

07.08.2009 , Автор: ExpE , Источник: http://tips.compuserv.biz/index.php…

Собственно, после скачивания StorMan с сайта адаптека и его установки заработала и GUIёвая утилита, и консольная из пакета StorMan. Для сервера реально нужна консольная, благодаря которой время от времени можно будет по рассписанию проверять наличие дисков. И сразу могу похвастаться, что я всё-таки из своего raid 6 хищно извлёк два диска. И вставил обратно. И у меня всё зашибись:

hosting:~ # /usr/StorMan/arcconf getstatus 1
Controllers found: 1
Logical device Task:
Logical device : 0
Task ID : 101
Current operation : Rebuild
Status : In Progress
Priority : High
Percentage complete : 60

Command completed successfully.

Не, вы реально прочитали, что я из рабочей машины ДВА диска одновременно извлёк?

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.