27 мар. 2014 г.

WSUS + virtual machines deployed from template

В случае развертывания windows-серверов в виртуальной среде (думаю, в любой, не только в VMWare vSphere) появляется неприятная проблема при работе с локальным сервером обновлений WSUS, а именно - пропадание этих серверов из назначенных групп. Тем более неприятным это становится, когда вместо исчезновения сервера из той или иной группы происходит "побег" из, к примеру, группы первичного тестирования обновлений в группу особо критичных ресурсов. Корень зла - как раз в механизме развертывания ОС из шаблона.
Если с SID мастер vSphere умеет работать при создании новой виртуальной машины из шаблона, то про параметр SusClientId он не в курсе. А как раз именно этот параметр является основным в базе данных сервера WSUS. В случае неуникального SusClientID сервер обновлений не добавляет новых строк в свою базу данных, а обновляет имя сервера при каждом обращении каждого из "собратьев", что и порождает проблему.
Решение: 
  1. остановить службу Update Service: net stop wuauserv
  2. удалить в реестре ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\SusClientId
  3. запустить службу: net start wuauserv 
  4. обновить информацию на сервере обновлений: wuauclt /resetauthorization /reportnow

25 мар. 2014 г.

Debian Sid Fails to initramfs when root on lvm2

Сделав в очередной раз на рабочем десктопе с Debian Sid aptitude dist-upgrade, получил выпадение загрузчика в initramfs shell с ошибкой нахождения устройства, на котором находится корневой раздел. Диски на рабочей станции разбиты следующим образом: отдельный /boot раздел, все остальные разделы, включая корневой - внутри lvm-группы Debian.
Таким образом, GRUB отработал успешно, но не смог смонтировать корень и продолжить загрузку основной системы.
Далее выяснилось, что проблема заключается в том, что вышеуказанная lvm-группа не активируется при старте, поэтому ее логические тома для загрузчика и ядра не видны. Если в командной строке шелла написать lvm vgchange -ay Debian, а затем выйти из шелла через Ctrl+D, загрузка системы продолжится и пройдет успешно.
Поиски в этих ваших интернетах навели сразу на два дебиановских бага - первый, посвежее, связан с "недосовместимостью" lvm2 и systemd, второй, постарше, с некорректной работой одного из скриптов initramfs (опять же связанный с lvm2).
Так что если у вас аналогичная проблема, но вы уже используете systemd - скорее всего, поможет обновление пакета lvm2 до версии 2.02.104-1 (на момент написания доступна уже версия  2.02.104-2).
В случае использования sysvinit (или upstart, кто вас знает) обозначенная проблема затрагивает initramfs (см. второй баг) и на момент написания еще не решена. Суть бага - некорректная обработка имен lvm-разделов в случае использования UUID в grub.cfg. Таким образом, временное решение - отключение использования UUID в /etc/default/grub:
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
GRUB_DISABLE_LINUX_UUID=true
После этого grub-mkconfig && update-grub решают проблему с загрузкой ОС.

4 мар. 2014 г.

Zabbix Template for linux disks monitoring (iostat)

Озадачили меня сбором расширенной статистики работы дисковой подсистемы сервера баз данных (Debian 7 + PosgreSQL 9.1). Начал было раздумывать над новым шаблоном в Zabbix и источниках данных для его элементов, как попался на глаза отличный и практический готовый к употреблению шаблон, скрипты сбора и парсинга данных (на базе iostat) и описание пользовательских параметров для всего этого счастья. Автор - вот, статья по сабжу - вот. Комментарии также рекомендованы к прочтению.
После минимальной адаптации к своей системе все импортировалось и заработало. Автору большое спасибо, всем остальным - рекомендую.