?

Log in

Mon, Jun. 1st, 2015, 12:14 pm
SNMP на Adaptec Storage Manager

Имеем в наличии две Супермикры c 5805Z на борту. Уж очень неудобно мониторить их состояние физически, приходится держать __mixa__ в шаговой доступности от серваков. А сменные ленятся проверять состояние дисков при заступлении на дежурство.
У Адаптека есть замечательная утилита Adaptec Storage Manager, которая позволяла мониторить состояние контроллеров непосредственно на сервере (и вроде как через удалённого клиента). Также в ней имеется функционал SNMP-агента для SNMP-сервера Windows. Который на Windows Server 2012R почему-то из коробки не работает. При обращении к RFC1155-SMI::enterprises.795 SNMP-сервер просто падает.
ASM у адаптека более не поддерживается. Но появился новый продукт maxView Storage Manager, который официально 5805 не поддерживает, но в на форумах встречал упоминания, что нормально работает. Действительно, 5805 прекрасно завёлся на mVSM, здесь уже используется не standalone-клиент, а веб HTTPS-клиент (логин/пароль для входа по умолчанию - локальный администратор).
maxView Storage Manager также содержит SNMP-субагент, который тоже по умолчанию не работает. Разгадка нашлась в одном из манов к mVSM:

On Windows Server 2012 and Windows 8.x systems, the SNMP sub-agent does not have permission to open a socket over TCP/IP or UDP, preventing it from communicating with the maxView Storage Manager Agent. Use the following PowerShell scripts to allow the SNMP sub-agent to communicate with the maxView Agent and send trap notifications:
a) Outbound Rule for Port 34572:
$OutBound = @{
DisplayName = "Maxview Outbound Rule on TCP port 34572 for SNMP Service"
Direction = "Outbound"
InterfaceType = "Any"
Action = "Allow"
Protocol = "TCP"
Service = "snmp"
Program = "$($env:systemdrive)\WINDOWS\system32\snmp.exe"
Enabled = "TRUE"
RemotePort = "34572"
PolicyStore = "ConfigurableServiceStore"
}
New-NetFirewallRule @OutBound
b) Inbound Rule for Port 34572:
$InBound = @{
DisplayName = "Maxview Inbound Rule on TCP port 34572 for SNMP Service"
Direction = "Inbound"
InterfaceType = "Any"
Action = "Allow"
Protocol = "TCP"
Service = "snmp"
Program = "$($env:systemdrive)\WINDOWS\system32\snmp.exe"
Enabled = "TRUE"
RemotePort = "34572"
PolicyStore = "ConfigurableServiceStore"
}
New-NetFirewallRule @InBound

И как ни странно, SNMP после всего это заработал. Странно, потому что фаерволл был вообще отключён на машине.

P.S. А вот мониторинг контроллеров через стандартую адаптековскую утилиту arcconf и через SMTP-трапы - не очень удобный механизм.

Mon, Jun. 1st, 2015, 11:56 am
Восстановление пароля с eToken

Если пин-код был запомнен на компьютере в Крипто-Про, то можно восстановить:
для x64:
"c:\Program Files (x86)\Crypto Pro\CSP\csptest.exe" -passwd -showsaved -container RaUser-{имя контейнера}

для x32
"c:\Program Files\Crypto Pro\CSP\csptest.exe" -passwd -showsaved -container RaUser-{имя контейнера}

Запускать с правами админа, из под командной строки. После восстановления желательно сменить на стандартный - 1234567890 (если безопасность располагает), дабы больше не забывать.

pin-код на eToken
PIN-код для токенов: пароль с особыми правилами

Wed, Feb. 25th, 2015, 03:24 pm
Adaptec AIC-9405 на Windows Server 2012 R2 или установка свежей венды на старенький сторейдж

В сети имеется два IBM xSeries 306m, на которых исторически крутятся контроллеры домена с DHCP/DNS. Исторически - Windows Server 2008 R2. Понадобился домен с фишками 2012 R2 (репликация DHCP, Workplaces и т.п.). Однако поставить Windows Server 2012 R2 на это железо оказалось нетривиальной задачей, в ней отсутствуют драйвера на сторейдж Adaptec AIC-9405 (т.е. драйвера под этот контроллер для Win2012 вообще отсутствуют в природе). __mixa__ попробовал поставить на виндовый программный RAID, однако ничего дельного из этого не получилось - при выходе из строя одного винта мы получаем кирпич, который требует квалифицированного подхода для восстановления.

Если дров под винду нет, значит надо попробовать их изготовить. Взяли дрова от Win2k8 R2, попробовали натравить на Windows Server 2012 - фиг, они не подписаны под эту ОС. Не подписаны, значит подпишем под 6.2 и 6.3 (версии простого 2012 и R2).

Как самому подписывать драйвера - мануалов в инете навалом, когда нибудь впишу и сюда для памяти.

Берём подписанный драйвер, проверяем его работу в Windows Server 2012 R2 (естественно в Test Mode, как раз здесь пригодилась Михина установка на программный RAID). Работает. Теперь следующая задача - заставить это работать при установке Windows. Грузимся с дистрибутива, заботливо нажав F8 и выбрав отключение проверки самоподписанных драйверов. Загружаем установщик, пытаемся выбрать подсунутый драйвер с флешки, а вот фиг - цифровая подпись недействительна.

Путём нехитрого гугления нашёл следующее обсуждение: Unsigned drivers from software in windows installation?. Оказалось, что отключение проверки самоподписанных драйверов влияет только на образ WinPE, который стартует с диска, а установка ОС, следующая после, эту опцию игнорирует. Для решения этой проблемы следует интегрировать самоподписанные драйверы в дистрибутив, а точнее в два WIM-файла - sources\boot.wim и sources\install.wim, а ещё точнее в нужные образы внутри этих WIM-файлов.
dism /Mount-Wim /WimFile:d:\boot.wim /index:2 /MountDir:D:\boot
dism /image:"d:\boot" /add-driver /driver:"d:\adp\adp94xx.inf" /forceunsigned
dism /Unmount-Wim /MountDir:d:\boot /commit

dism /Mount-Wim /WimFile:d:\install.wim /index:2 /MountDir:D:\install
dism /image:"d:\install" /add-driver /driver:"d:\adp\adp94xx.inf" /forceunsigned
dism /Unmount-Wim /MountDir:d:\install /commit

Образ № 2 в boot.wim - собственно установщик ОС.
Образ № 2 в install.wim - образ Windows Server Standard with Gui

После сборки дистрибутива грузимся с него (IBM xSeries 306m, оказывается, ещё и не умеет грузиться с USB 3.0 флешек, пришлось поискать 8-гиговую USB 2.0 флешку), предварительно нажав F8 и выбрав отключение проверки самоподписанных драйверов. Установщик обнаруживает необходимый сторейдж, ставим туда ОС. Перезагружаемся уже со сторейджа, опять не забыв отключить проверку драйверов. Доустанавливаем ОС. Включаем Test Mode навсегда:
bcdedit.exe /set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe /set TESTSIGNING ON

Импортируем сертификат драйвера в хранилища Local Machine - Trusted Publishers и Trusted Root Certification Authorities. За этот этап не уверен, может он вообще не нужен (но однажды у меня без него что-то не заработало).

Перезагружаемся и радуемся работе Windows Server 2012 R2 на старом, но ещё вполне мощном железе.

Tue, Jan. 13th, 2015, 10:47 pm
Альфа-банк и соцопросы

Альфа-банк регулярно присылает всякие новости на электропочту. Иногда что-то интересное, иногда - нет. Бывают среди писем и соцопросы - маленькие (на полдюжины вопросов). Однако сегодняшний соцопрос меня убил...
"Заполнение анкеты займет у Вас не более 15 минут."
Ну, решил ответить. Вопросов было было несколько десятков. Вариантов - ещё больше. Но больше всего убило то, что сервер постоянно отваливался и радовал 503ей ошибкой. После его прохождения оказалось, что я на него убил аж два с половиной часа времени. Наверное я один, кто его прошёл вообще.
Ну что ж, пусть он будет очередным гвоздём в крышку Альфы. Осталось забрать исполнительный лист в суде, выбить с Альфы последние отсуженные деньги и... прощай, Альфа.

Когда то ты была действительно крутым банком.

Fri, Dec. 26th, 2014, 04:27 pm
IPv6, windows firewall и CIFS

Собрали однажды с __mixa__ три маршрутизируемых IPv6 сетки. Помня, как WinNT работает с маршрутизируемыми сетками, прописал заранее политику "Windows Firewall: Allow inbound file and printer sharing exception" с нужными IPv6 сетками. Проверять не стали. Через несколько месяцев понадобилось перекинуть файлы через CIFS - ан нет: "Network path not found". Ни по IPv4, ни по IPv6 не работает. Напряженное гугление привело только к необходимости отключения IPv6 (вообще, или ISATAP, 6to4, Teredo) в частности. Отключение не помогло, помогло другое - Troubleshoot problems апплета Windows Network Diagnostics явно указал, что на удалённой машине закрыт 445 порт. Действительно, отключение фаерволла помогло. Однако, куда копать? Совершенно случайно вспомнил про описанную выше политику, убрал оттуда IPv6 и помогло. Оказалось, что данная политика не совместима с IPv6, хотя самая ОС Windows 8.1 по заверению Microsoft полностью поддерживает IPv6. Пришлось вручную прописывать правила для маршрутизируемых IPv6 сетей в Windows Firewall.

Fri, Dec. 26th, 2014, 04:04 pm
Реестр нехороших сайтов

В свете последних событий с зобаном экстремистких сайтов, когда в A записи "нехорошего" домена попали адреса mail.ru и vk.com, отметил, что очень хорошо - быть присоединённым по BGP. У всех наших аплинков транзитный траффик не фильтруется, что в принципе вполне логично. Ну и что где-то кого-то зацепило узнали только из форумов.

Wed, Dec. 17th, 2014, 09:41 am
Про курс

Вчера внезапно контрагенты нам отказали в продаже товара. Сослались на сложную экономическую ситуацию в стране. Ничего в этом не понял, ибо не специалист в экономике. Предложил им заложить 10% запаса на повышение курса, они отказались закладывать даже 50% запаса.
Вечером, когда евро торговался по цене на 20% превышающую курс ЦБ РФ всё как-то встало на свои места. А ещё вспомнилось, как однажды денежки по безналу через Сбербанк шли 30 суток. Как-то грустно всё...

Wed, Jul. 16th, 2014, 10:43 pm
Восстанавливаем поврежденную InnoDB

Zabbix оказался на редкость удобным инструментом для изучения проблем на сети, и вот в очередной раз ставим лабораторный опыт. Однако, так как делать бэкапы средствами Hyper-V мы пока не умеем, то логично ожидать падение виртуалки как раз под самое завершение эксперимента (почти месяц собирали инфу). Бэкапы, разумеется, в случае с заббиксом оказываются неактуальными (20 гигов каждый сутки трелевать напрягает).

Итак, понеслась:
- сначала починили файловую систему;
- убедились, что MySQL падает через несколько секунд после запуска;
- прописываем в my.cnf innodb_force_recovery = [1-6], где [1-6] - значения от 1 до 6, сначала ставим 1, запускаем MySQL, смотрим, не падает ли; если падает, ставим 2 и т.д. до 6. В моём случае заработало с innodb_force_recovery = 2, сразу ставить большие значения не рекомендуется.
- запускаем mysqlcheck(1), смотрим, на какой таблице падает мускуль (на mysqldump'е он тоже падал здесь), и для расширения кругозора идём смотреть error log мускуля (у меня было что-то вроде InnoDB: Error in pages 9815 and 11957 of index "PRIMARY" of table "zabbix"."trends_uint" broken FIL_PAGE_NEXT or FIL_PAGE_PREV links;
- используем Percona Data Recovery Tool for InnoDB для восстановления таблицы, об этом чуть подробней.

Так как мускуль у меня заботливо запускался с параметром innodb_file_per_table, то мне пришлось оперировать лишь с одним конкретным проблемным файлом. Очень хороший гайд по перконе здесь - Восстановление данных для Innodb таблиц (пост softsoft). Перкона на FreeBSD скомпилировалась почти сразу (понадобились gcc и databases/p5-DBD-mysql): в ./mysql-source делаем ./configure, генерим table_defs.h (как в гайде) и запускаем make в корне перконы. Структура таблицы у меня была, страницы успешно сдампились, склеились, сконвертировались и залились в базу.

Zabbix взлетел, эксперимент продолжается.

P.S. Ещё неплохая ссылка: Как восстановить базы MySQL InnoDB имея на руках только frm и ibd файлы.

Tue, Jul. 8th, 2014, 10:03 am
Получение SSL-сертификата в GeoTrust

Решили для внутренних нужд организации получить сертификат SSL (необходимо подключаться к сети с недоменных машин). Т.к. переходим с Masterhost на RU-CENTER, то выбирать пришлось из троицы - Geotrust True BusinessID, Thawte SSLWebServer и Symantec Secure Site.

Взяли то, что подешевле, им оказался Geotrust True BusinessID. Проверку домена и организации прошли быстро, а вот с верификацией номера телефона возникла проблема. Geotrust нашли нашу контору в yell.ru. Там оказался указан телефон нашей справки, справки для клиентов, а не для работников. Не удивительно, что справка послала Geotrust лесом, а именно к нашему пресс-секретарю, у которой очень специфичный рабочий день (за своим телефоном она находится не более часа во время рабочего дня). С большим трудом удалось договориться с пресс-секретарём, выделить этот час. Но оказалось, что служба верификации Geotrust работает тогда, когда наш офис вообще не работает. Ответ индусского саппорта поразил: "извините, мы не знаем, как выйти из этой ситуации". Вот уж действительно, неизвестно, как выйти...

И ведь не так богаты, чтобы покупать дешёвые вещи.

Tue, Jul. 8th, 2014, 09:29 am
Генерация Kerberos-тикетов для разных hostname от одного пользователя

Так как ман по Communigate Pro - это один самых ужасных манов, то напишу сюда, дабы не забыть.

tpass -princ service/domainName@REALMNAME -mapuser cgatepro -pass password -out keytab.data -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -kvno number

number - лучше указать число, которое на количество_доменов, точнее количество_выдаваемых_SPN больше последнего используемого kvno (возможно это конечно и чепуха, но на рабочей системе проверять как-то не хочется).

Также следует заметить, что клиентская винда помнит тикеты с текущим kvno и предыдущим kvno (в каких-то KBшках находил документальное подтверждение этому). Если пытаемся получить три тикета с разными kvno - то винда "забывает" первый сгенеренный тикет.

skipped back 10