среда, 22 ноября 2017 г.

Установка драйвера RAID Adaptec 5405 на VMware ESXi 5.5

Долгое время бился над проблемой нестабильной работы ESXi в кластере vSphere на серверах Supermicro с raid-контроллером Adaptec 5405. Ни с того ни с сего отваливалось управление гипервизором после перезагрузки, попытка зайти через web приводила к 503 ошибке. Выяснил что падает служба hostd, перешерстил весь интернет как это можно исправить, перепробовал все найденые варианты - ничего не помогало, либо помогало временно и после перезагрузки происходило все то же самое. Самым быстрым временным решением оказался сброс сервера к параметрам по умолчанию, с последующим введением его обратно в кластер (все VM перед этим надо, естественно, не забыть мигрировать на другие сервера) и настройкой.
На днях случайно обнаружил после каких действий происходит данная проблема - все начинается после включения драйвера iSCSI. Последующая перезагрузка приводит к падению hostd (а бывает все падает и сразу после включения). Так как виртуалки лежат на внешних iSCSI-хранилищах - нет возможности драйвер не включать, в связи с этим было принято решение попытаться найти драйвер от производителя и попробовать его поставить вместо родного системного.

1. Драйвер нашелся по адресу https://storage.microsemi.com/en-us/support/raid/sas_raid/sas-5405/
2. Распаковал его и vib из архива закинул на локальный датастор сервера
3. Зашел на сервер по ssh и выполнил команду esxcli software vib install –v /path/async-driver.vib
4. Перезагрузил сервер.

пятница, 25 августа 2017 г.

Решение ошибки Host CPU is incompatible with the virtual machine’s requirements at CPUID level 0x1 register ‘eax’ при попытке миграции виртуальной машины в ESXI 5.5

При добавлении более новых серверов в кластер vSphere бывает что попытка мигрировать с помощью vMotion виртуальную машину с одного хоста на другой приводит к ошибке Host CPU is incompatible with the virtual machine's requirements at CPUID level 0x1 register 'eax'

Это происходит из за того что процессоры у старых и новых серверов немного различаются по набору поддерживаемых инструкций. Решить эту проблему можно с помощью функции EVC, но с определенными оговорками - процессоры на хостах должны иметь одинаковый набор инструкций и быть близкими друг к другу по функциям и инструкциям. В идеале один тип CPU или же одно поколение и один и тот же набор инструкций (например, линейка Intel Xeon 54XX). Это главное и главный подводный камень. Частота и другие параметры CPU не важны. Также важна основная архитектура и производитель, например, совместить хосты с Intel и AMD CPU не получится.

Переходим в настройки нашего кластера и идем в пункт vMware EVC. Кликаем по пункту Change EVC Mode и выбираем вашу архитектуру, в моем случае это Intel. Я выбрал Intel Westmere Gen.


Перед включением EVC необходимо выключить виртуальные машины на том хосте, который будет выравниваться по функциям. Обычно хост с более новыми CPU выравнивается под более старые CPU другого хоста.

После применения EVC можно мигрировать машины между хостами в кластер.

По окончании процесса перемещения нужно отключить EVC Mode.

среда, 23 августа 2017 г.

Перезагрузка компьютера через RDP

Бывает что при подключении через RDP на удаленной машине нет возможности завершить работу или перезагрузить компьютер, есть только возможность завершить сеанс. Пара способов решения этой задачи:

1. Закрыть все открытые окна и нажать Alt + F4

2. Открыть Пуск > Выполнить и выполнить команду shutdown -r -f -t 5

четверг, 27 апреля 2017 г.

Решение проблемы обновления Elastix 2.5

В один прекрасный момент после установки последней версии Elastix 2.5 перестали устанавливаться аддоны и обновляться система, а так же yum в консоли начал ругаться на mirrorlist. Решение нашлось простое - надо подправить файлик /etc/yum.repos.d/CentOS-Base.repo приведя его к следующему виду:

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://vault.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://vault.centos.org/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=redhat-logos php53*

#released updates
enabled=1

[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://vault.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://vault.centos.org/5.11/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=redhat-logos php53*

#additional packages that may be useful
enabled=1

[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://vault.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/5.11/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=redhat-logos php53*

#additional packages that extend functionality of existing packages
enabled=1

[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://vault.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=redhat-logos php53*

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://vault.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://vault.centos.org/5.11/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=redhat-logos php53*

четверг, 6 апреля 2017 г.

Расширение раздела жесткого диска на FreeBSD 10

На виртуальном сервере, построенном на FreeBSD 10.1, начало заканчиваться место, решил увеличить размер раздела. Для этого средствами vmware увеличил размер виртуального диска с 200 до 250 гигабайт в настройках виртуальной машины. После чего пришлось чуть поколдовать в консоли самого сервера.

1. Смотрим разделы нашего диска (у меня один диск /dev/da0)

gpart show da0

=>   0   -------     da0 BSD (250G)
-------     -------    1   freebsd-ufs (512M)
-------     -------    2   freebsd-ufs (196G)

-------     -------    3   freebsd-swap (4G)
-------     -------    - free -    (46G)
Стоит проверить не поврежден ли диск, это можно сделать с помощью "gpart list da0", если видим "state: CORRUPT" исправляем с помощью "gpart recover da0"

2. Основной проблемой является третий раздел со swap. Из за него не выйдет увеличить раздел 2. Можно конечно создать вслед за разделом подкачки еще один раздел, но мне такой вариант не подходит, поэтому первым делом перегружаю сервер в single user

3. Деактивирую swap

swapoff -a

4. Удаляю временно swap da0p3, чтобы затем расширить da0p2 (freebsd-ufs)

gpart delete -i 3 da0

5. Расширяю da0p2

gpart resize -i 2 -s 246G da0

6. Создаю swap

gpart add -t freebsd-swap da0

7. Расширяю логический диск da0p2

growfs /dev da0p2

8. Смотрим что получилось

gpart show da0

=>   0   -------     da0 BSD (250G)
-------     -------    1   freebsd-ufs (512M)
-------     -------    2   freebsd-ufs (246G)

-------     -------    3   freebsd-swap (4G)

На этом расширение диска завершено. Совет - делайте бэкапы, никто не застрахован от потери данных при таких манипуляциях с дисками.

понедельник, 23 января 2017 г.

Автоматизация установки списков отзыва и сертификатов с помощью Certmgr.exe



С помощью небольшой утилиты certmgr.exe можно настроить автоматизацию установки списков отзыва (crl) и сертификатов.

Синтаксис:
certmgr.exe [-add | -del | -put] [options] [-s[-r registryLocation]] [sourceStorename] [-s[-r registryLocation]] [destinationStorename]

Параметры:
-add Добавление сертификатов, списков CTL и CRL в хранилище сертификатов.
-all Добавляет все записи при использовании с параметром -add. Удаляет все записи при использовании с параметром -del. Отображает все записи при использовании без параметров -add и -del Параметр -all не может быть использован с параметром -put.
-c Добавляет сертификаты при использовании с параметром -add. Удаляет сертификаты при использовании с параметром -del. Сохраняет сертификаты при использовании с параметром -put Отображает сертификаты при использовании без параметра -add, -del или -put.
-CRL При использовании с параметром -add добавляет списки отзыва сертификатов (CRL). При использовании с параметром -del удаляет списки отзыва сертификатов (CRL). Сохраняет CRL при использовании с параметром -put. Отображает списки отзыва сертификатов при использовании без параметра -add, -del или -put.
-CTL При использовании с параметром -add добавляет списки доверия сертификатов (CTL). При использовании с параметром -del удаляет списки доверия сертификатов (CTLs). Сохраняет CTL при использовании с параметром -put. Отображает списки доверия сертификатов при использовании без параметра -add, -del или -put.
-del Удаление сертификатов, списков CTL и CRL из хранилища сертификатов.
-e тип_шифрования = Указывает тип шифрования сертификата. Значение по умолчанию — X509_ASN_ENCODING.
-f dwFlags Задает флаг открытого хранилища. Это параметр dwFlags, передаваемый методу CertOpenStore. По умолчанию используется значение CERT_SYSTEM_STORE_CURRENT_USER Этот параметр обрабатывается, только если задан параметр -y.
-h[elp] Отображает синтаксис команд и параметров программы.
-n имя Задает общее имя добавляемого, удаляемого или сохраняемого сертификата. Этот параметр может применяться только для сертификатов, его нельзя задавать для списков CTL и CRL.
-put Сохранение сертификатов X.509, списков CTL и CRL из хранилища сертификатов в файл. Файл сохранен в формате X.509. Чтобы сохранить файл в формате PKCS #7, можно использовать параметр -7 с параметром -put. За параметром /put должен следовать параметр -c, -CTL или -CRL Параметр /all не может быть использован с параметром -put.
-r расположение Указывает расположение системного хранилища в реестре. Этот параметр обрабатывается, только если задан параметр -s. расположение должно быть одним из следующих:currentUser означает, что хранилище сертификатов находится в разделе HKEY_CURRENT_USER. Это значение по умолчанию. localMachine означает, что хранилище сертификатов находится в разделе HKEY_LOCAL_MACHINE.
-s Означает, что хранилище сертификатов является системным. Если этот параметр не задан, хранилище считается StoreFile.
-sha1 Хэш sha1 Задает хэш SHA1 добавляемого, удаляемого или сохраняемого сертификата.
-v Включает отображение подробных сведений о сертификатах, списках CTL, CRL. Этот параметр несовместим с параметрами -add, -del или -put.
-y поставщик Задает имя поставщика хранилища.
-7 Сохраняет итоговое хранилище как объект PKCS #7.

Пример "Установить сертификат vld-dc-1.cer на локальный компьютер, в хранилище "Промежуточные центры сертификации"

certmgr.exe -add -c vld-dc-1.cer -s -r localMachine CA.