Мониторинг состояния диска SSD Intel DC S3500

После установки на сервер диска SSD Intel DC S3500 необходимо было подключить его к системе мониторинга.

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

Чтобы разобраться с параметрами нужно взять спецификацию на диск. Она нашлась по адресу http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-dc-s3500-spec.pdf

Как видно из спецификации для параметров мониторинга подходит несколько атрибутов:
Continue reading Мониторинг состояния диска SSD Intel DC S3500

Проверка что в sudoers все скрипты для Zabbix существуют

zabbix_agentd который используется для мониторинга сероверов, может запускать скрипты. Для большинства из этих скриптов необходимы права root. Это обеспечивается через su в файле конфигурации агента и sudoers.
Но иногда при конфигурировании множества серверов (zabbix-agentd) сталкиваешься с тем, что некоторые скрипты которые там перечислены отсутствуют на диске. Это приведёт к тому что скрипт не будет выполняться. А чтобы по-быстрому проверить я набросал скрипт который проверяет все ли скрипты или программы есть на диске и пишет имена отсутствующих. По правде говоря скрипт не обрабатывает файлы с Cmnd_Alias и файлы вложенные в каталог /etc/sudoers.d/

cat /etc/sudoers | grep -i "zabbix ALL=NOPASSWD:" | cut -d ':' -f2- | sed 's/[,]\+/\n/g' | sed -e 's/^[ \t]\+//g;s/^\(\/[^ ]*\).*$/\1/g' | while read FN ; do [ ! -e "${FN}" ] && echo "${FN} - not exists" ; done

Continue reading Проверка что в sudoers все скрипты для Zabbix существуют

Разбираемся с томами Bacula/Bareos

Много лет подряд схема именования томов в Bacula/Bareos приводила меня в полное недоумение. Я не мог понять почему свежеустановленная система резервного копирования создаёт тома в строгом соответствии с настройками прописанными в секция pool, а через какое-то время “слетает с катушек” и начинает записывать данные в старые файлы. Оказалось причина в в том, что Bacula изначально была заточена под ленточные накопители. Агалогично она поступает и с дисками: тома на дисках воспринимаются как ленты. Следствие этой особенности в том, что если Bacula создала том (файл на жёстком диске) то она НИКОГДА не удаляет его с диска. У каждого пула и задания есть параметр Volume Retention который задаёт время по истечении которого файлы попавшие в этот том бакула считает удалёнными. Если установлена опция AutoPrune = yes то bacula удалит записи из каталога (SQL). А если установлена опция ActionOnPurge = Truncate то урежет размер файла до нуля.
Continue reading Разбираемся с томами Bacula/Bareos

Отключение APM в дисках подключённых через RAID контроллер

Некоторые жёсткие диски, не только ноутбучные 2.5″ но и например 3.5″ вполне серверные модели WDC WD2002FYPS-02W3B0, имеют отвратительную особенность парковать головы. Для ноутбучных дисков это вероятно оправдано и сделано чтобы исключить повреждение дисков при возможных ударах ноутбука, компьютер то мобильный. А вот для 3.5″ дисков это сделано вроде бы как для экономии электрической энергии. Но ресурс механизма парковок ограничен и через некоторое время это приводит к его износу и поломке диска. Чтобы предотвратить износ механизма принудительной парковкой головок нужно отключить APM диска.
Отключить APM в дисках можно с помощью утилиты hdparm.

hdparm -B 255 /dev/sda

Однако она не работает если диск подключён в RAID контроллер. В этом случае RAID контроллер отдаёт в систему блочное устройство без уточнения из каких дисков оно собрано. Тоесть система обращаясь к блочному устройству представленному RAID контроллером не обращается конкретно к какому-то диску. Поэтому функционал физического доступа к порту диска через имя блочного устройства ограничен.
Continue reading Отключение APM в дисках подключённых через RAID контроллер

Удаление списка ожидающих заданий bacula

Случается, что на сторадже заканчивается место до того как bacula соберётся удалять старые файлы. В результате вы получаете одно оповещение, что задача не была выполнена и второе от мониторинга, что закончилось место. Если задача одна-две, это не проблема. Удалили руками и всё в порядке. Но ситуация меняется когда задач много и тем более вы не среагировали за период более чем один цикл бэкапа. Очередь закупоривается и пока она не будет выполнена целиком новые задания не будут выполнены. Данный скрипт позволяет по очереди удалить все задания начиная с последнего по очереди, чтобы дойдя до первого не стартовало следующее за ним.

#!/bin/bash

for ID in `echo 'status dir running' | bconsole | sed -n '/Running Jobs:/,/^$/p' | sed -n '/^=\+$/,/^=\+$/p' | grep -v '^=\+$' | awk '/is waiting/{print $1}' | sed -e '1!G;h;$!d'` ; do
    if [[ ! ${ID} =~ ^[0-9]+$ ]] ; then
      echo "JobID \"${ID}\" is not a number! Skipping."
    else
      echo -e "Do you want to kill waiting job ${ID}"
      read -p 'Type YES if you really want to delete job: ' input
      if [[ ! ${input} =~ ^[Yy]$  ]] ; then
        echo -e "Skip job ${ID}.\n"
        continue
      else
        echo "cancel jobid=${ID}" | bconsole
      fi
    fi
done

Backup LV тома через snapshot

Лёгкий скрипт бэкапа тома на удалённый сервер.
Хочу подчеркнуть, что создание снимка (snapshot) на работающем read/write разделе не гарантирует целосность данных в создаваемом снимке. Кеш файловой системы оставшийся в памяти не отразится на snapshot и не попадёт в бэкап. Поэтому такой бэкап является упрощённой и быстрой возможностью сохранить максимум данных.

В скрипте три важных операции:

  • Создать снимок (snapshot) достаточного размера но не больше размера тома
  • Скопировать раздел в файл через сеть на другую машину на ходу немного сжимая
  • Удалить снимок

Continue reading Backup LV тома через snapshot

Western Digital HDD + RAID + Drive timeout

Есть у нас сторадж сервера в которых установлены 1TB диски Seagate Barracuda ES.2 ST31000340NS. Эти диски вставлены в RAID контроллеры 3Ware. Средний возраст дисков 3,7 лет. Около 40% дисков вышли из строя в течение гарантийного срока и были заменены продавцом на Certified repaired HDD. Все эти заменённые диски тоже вышли из сроя после окончания гарантийного срока и с ними умерло ещё 10% дисков. В сумме на сегодняшний день умерло около 50% дисков от общего количества установленного в стораджах. Расстроившись от качества дисков Seagate и исчерпав ремкомплект из таких же дисков мы решили попробовать другие диски. Взяли не Enterprise диски Western Digital WD10EZEX-00RKKA0. Дней через 10 диски начали непонятным образом «вываливаться» из массива перевода его в деградированное состояние. В логах серверов где стояли эти диски была примерно сходная ситуация.
Continue reading Western Digital HDD + RAID + Drive timeout

SeaMicro демонстрирует своё Know-How в аппаратном устройстве компьютеров.

Выходя из тени, SeaMicro хочет развеять один из мифов Силиконовой долины, о том что нельзя ввести никакие новшества в аппаратное устройство компьютеров. Сегодня данный стартап, речь идёт о SeaMicro, заявляет что создал сервер на 512-ти процессорах Intel Atom™ достигающий мощности суперкомпьютеров и потребляющий на 75% меньше мощности и занимающий меньший объём чем сорвременные серверы. Continue reading SeaMicro демонстрирует своё Know-How в аппаратном устройстве компьютеров.

Получение списка проблемных дисков.

Контролеры 3ware никак не контролируют SMART регистры дисков из массива. Поэтому появление неустранимого сбойного сектора может оказаться весьма неожиданным для владельца. Для меня было неожиданным увидеть 256 премещённых секторов. в одном из дисков. После проверки всех дисков всех серверов одного кластера оказалось что 5 дисков из 40-ка уже “поплыли”, причём в одном зеркале поплыли оба диска. Проверять массу дисков вручную накладно. Поэтому предлагаю вот такой скрипт:
Continue reading Получение списка проблемных дисков.

3ware i2c multiplexer

В RAID массиве больше чем 2 диска для их горячей замены нужно точно знать что вытягивать. Ситуация осложняется и тем что при создании массива контроллер почему-то “раскидывает” диски как ему хочется. Тоесть физическое подключение диска не соответствует логическому логическому номеру в массиве. Компания 3ware выпустила i2c мультиплексор который в паре с (в моём случае корпусом Supermicro SC836TQ) даёт возможность зажигать лампочки на выбраных дисках.
Continue reading 3ware i2c multiplexer