January 11th, 2010

404

Гребанный LSI

Хелп (если это можно так назвать):

        usage :
         cmd -physUnsetHsp|-physSetHsp -aX  pd[c0:t0,c1:t1...]
        **********************************************************************
         where :
           cmd : name of the utility
           -physUnsetHsp : make the specified hotspare drive as ready
           -physSetHsp : make the specified drive hotspare
           -aX : adapter number X(max 12 adapters). X=0..11
           pd[c0:t0,c1:t1..] : specifies the physical drives
                                 c0,c1...channel numbers(Valid values 0..3)
                                 For SATA-8X adapters-
                                 If Port Multiplier Enabled(Valid values 0..7)
                                 t0,t1...target numbers
                                 (0..15 for 8-ld fw, 0..255 for 40-ld fw)


А теперь вопрос: как вы думаете, как выглядит синтаксис команды "вкл хотспаре" для устройства, которое определяется как Channel 0 Targed ID 2?

Подумайте прежде чем отвечать...

Я перепробовал


megarc.bin -physSetHsp -a0 pd c0:t2
megarc.bin -physSetHsp -a0 pdc0:t2
megarc.bin -physSetHsp -a0 pd[c0:t2]
megarc.bin -physSetHsp -a0 pd [c0:t2]
megarc.bin -physSetHsp -a0 pd0:2
megarc.bin -physSetHsp -a0 pd 0:2
Collapse )
20 минут моей жизни. Суки.
404

К вопросу об 'in'

http://www.arachnoid.com/linux/shell_programming.html

Упоминаются строковые операторы #%...

Дано

$pattern, $text.

Нужно проверить, есть ли $pattern в $text.

pattern="ringo"
text1="Shinigami ga ringo daisuki da"
text2="Death angel love apples"
testing1=${text1#*$pattern}
testing2=${text2#*$pattern}

if test "$testing1" = "$text1"
then
   echo no, there is no $pattern in $text1
else
     echo yes, there is $pattern in $text1
fi

if test "$testing2" = "$text2"
then
     echo no, there is no $pattern in $text2
else
     echo yes, there is $pattern in $text2
fi
404

Монитор LSI-рейда

Если кому-то понадобится. Насколько я понимаю, у всех поделок а-ля LSI одинаковые по синтаксису командной строки мониторы с разными названиями. Те, которые я знаю:

megarc.bin
megaraid
cmdtool
raidmon

Ниже скрипт, который проверяет состояние рейда (в моём случае единственного, расширение до нескольких, я думаю, делается легко).

Что он делает:

1) Проверяет состояние рейда (обнаруживает ребилд, degradated)
2) Проверяет наличие хотспаре
3) Проверяет наличие неприкаянных винтов (которые в рейде есть, но не используются ни в массиве ни в hotspare), обычно такие появляются, если воткнуть винт и забыть его пометить как hotspare.

По итогам проверки:

В случае проблем: пишет на указанные емейлы (использует mail), пишет в syslog.
В случае отсутствия проблем пишет строчку с статусом в сислог.

У меня оно настроено в кроне раз в 10 минут (итого - в логе всегда фиксируется выполнение скрипта, если там записей скрипта нет, значит что-то отвалилось).

Запись об отсутствии проблем выглядит так:
Jan 11 20:43:52 srv root:  Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL (Hotspare ok)


Запись о проблеме выглядит так:
Jan 11 20:45:08 srv root: RAID failed
Jan 11 20:45:08 srv root:  Logical Drive : 0( Adapter: 0 ): Status: DEGRADED (___NO HOTSPARE___ disk found!)


После ребилда сообщение превращается в:

Jan 11 23:36:21 srv root:  Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL (___NO HOTSPARE___ disk found!)


Collapse )
404

хе

В связи с покупкой сана сервер баз данных теперь будет называться Oracle SQL Server.