Архив метки: XenServer

Мониторинг XenServer 7.0 и статуса массива Smart Array с помощью Zabbix.

Имеем XenServer 7.0. Необходимо установить на него zabbix агент. Также хотелось бы видеть состояние RAID массива Smart Array. Ставим Zabbix агента.

adduser zabbix
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.1-1.el7.x86_64.rpm

Автоматический запуск агента при старте гипервизора.

chkconfig zabbix-agent on

Не забываем про фаерволл.

iptables -I INPUT -p tcp -m conntrack --ctstate NEW,RELATED,ESTABLISHED -m tcp --dport 10050 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10050 -m conntrack --ctstate ESTABLISHED -j ACCEPT
service iptables save

Для сборки утилиты показывающей состояние RAID контроллера HP необходимы дополнительные компоненты.
Подключаем репозитории.
Читать далее

XenServer — проблема подключения Windows 10.

Из под Windows 10 при попытке подключения к XenServer получаем неизвестную ошибку. SSL/TLS-соединение не может быть установлено. Заходим по ssh на хост и лечим (10.0.0.10 — IP адрес хоста):

service xapissl stop
mv /etc/xensource/xapi-ssl.pem /etc/xensource/xapi-ssl.pem.bak
/opt/xensource/libexec/generate_ssl_cert /etc/xensource/xapi-ssl.pem 10.0.0.10
service xapissl start
xe-toolstack-restart

Найдено здесь.

Мониторинг XenServer 6.5 и статуса массива Smart Array с помощью Zabbix.

Имеем XenServer 6.5. Необходимо установить на него zabbix агент. Также хотелось бы видеть состояние RAID массива Smart Array. Ставим Zabbix агента.

adduser zabbix
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/5/x86_64/zabbix-2.4.4-1.el5.x86_64.rpm
rpm -Uvh http://repo.zabbix.com/zabbix/2.4/rhel/5/x86_64/zabbix-agent-2.4.4-1.el5.x86_64.rpm

Автоматический запуск агента при старте гипервизора.

chkconfig zabbix-agent on

Не забываем про фаерволл.

iptables -I INPUT -p tcp -m conntrack --ctstate NEW,RELATED,ESTABLISHED -m tcp --dport 10050 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10050 -m conntrack --ctstate ESTABLISHED -j ACCEPT
service iptables save

Для сборки утилиты показывающей состояние RAID контроллера HP необходимы дополнительные компоненты. Устанавливаем.

yum --enablerepo=base,updates install openssl-devel gcc make --disablerepo=citrix

Скачиваем саму утилиту и собираем ее. Список поддерживаемого оборудования и сайт проекта здесь.

wget http://heanet.dl.sourceforge.net/project/cciss/cciss_vol_status/cciss_vol_status-1.11.tar.gz
tar xvf cciss_vol_status-1.11.tar.gz
cd cciss_vol_status-1.11/
./configure
make
make install
cd ..
rm -Rf cciss_vol_status-1.11*

Смотрим что с нашим массивом. В зависимости от модели контроллера/сервера/ОС параметр /dev/* может быть иным.

/usr/local/bin/cciss_vol_status /dev/cciss/c0d0

Правим: vi /etc/zabbix/zabbix_agentd.conf и добавляем.

# Smart Array RAID Volume 0 status
UserParameter=cciss_vol_status,/usr/local/bin/cciss_vol_status /dev/cciss/c0d0 | awk 'NR==1 {print $10}' | tr -d '\.'

На всякий случай.

chmod +s /usr/local/bin/cciss_vol_status

Добавляем — visudo.

zabbix ALL = NOPASSWD:/opt/xensource/bin/xe
zabbix ALL = NOPASSWD:/usr/local/bin/cciss_vol_status

Запускаем агент.

service zabbix-agent start

Пример шаблона для zabbix:


<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>2.0</version>
    <date>2015-10-02T07:40:04Z</date>
    <groups>
        <group>
            <name>Templates_Custom</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>mod_Smart_Array_RAID_Volume_0_status</template>
            <name>mod_Smart_Array_RAID_Volume_0_status</name>
            <description/>
            <groups>
                <group>
                    <name>Templates_Custom</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>HP_Smart_Array</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Smart Array RAID Volume 0 status</name>
                    <type>0</type>
                    <snmp_community/>
                    <multiplier>0</multiplier>
                    <snmp_oid/>
                    <key>cciss_vol_status</key>
                    <delay>300</delay>
                    <history>365</history>
                    <trends>365</trends>
                    <status>0</status>
                    <value_type>4</value_type>
                    <allowed_hosts/>
                    <units/>
                    <delta>0</delta>
                    <snmpv3_contextname/>
                    <snmpv3_securityname/>
                    <snmpv3_securitylevel>0</snmpv3_securitylevel>
                    <snmpv3_authprotocol>0</snmpv3_authprotocol>
                    <snmpv3_authpassphrase/>
                    <snmpv3_privprotocol>0</snmpv3_privprotocol>
                    <snmpv3_privpassphrase/>
                    <formula>1</formula>
                    <delay_flex/>
                    <params/>
                    <ipmi_sensor/>
                    <data_type>0</data_type>
                    <authtype>0</authtype>
                    <username/>
                    <password/>
                    <publickey/>
                    <privatekey/>
                    <port/>
                    <description/>
                    <inventory_link>0</inventory_link>
                    <applications>
                        <application>
                            <name>HP_Smart_Array</name>
                        </application>
                    </applications>
                    <valuemap/>
                    <logtimefmt/>
                </item>
            </items>
            <discovery_rules/>
            <macros/>
            <templates/>
            <screens/>
        </template>
    </templates>
    <triggers>
        <trigger>
            <expression>{mod_Smart_Array_RAID_Volume_0_status:cciss_vol_status.str(OK)}<>1</expression>
            <name>Smart_Array_RAID_Volume_0_status</name>
            <url/>
            <status>0</status>
            <priority>4</priority>
            <description/>
            <type>0</type>
            <dependencies/>
        </trigger>
    </triggers>
</zabbix_export>


Создание Local Storage в XenServer 6.5

Необходимо создать Local Storage в XenServer 6.5.

Смотрим что, где, почем.

# cat /proc/partitions
major minor  #blocks  name

   7        0      57216 loop0
 104        0  429926601 cciss/c0d0
 104        1    4193297 cciss/c0d0p1
 104        2    4193297 cciss/c0d0p2
 104        3  421536952 cciss/c0d0p3
  11        0    1048575 sr0
 253        0  421523456 dm-0

Создаем.

xe sr-create content-type=user type=ext device-config:device=/dev/cciss/c0d0p3 shared=false name-label="Local storage"

Информация найдена здесь и здесь.

Принудительная остановка зависшей виртуальной машины на XenServer.

Бывает, что виртуальная машина на XenServer зависает и штатными средствами погасить её не получается. В таких случаях приходится прибегать к командной строке.
Открываем консоль XenServer, смотрим список запущенных задач и отменяем зависшие (например, попытку штатной перезагрузки Async.VM.clean_reboot), перезапускаем Toolstack и принудительно выключаем зависшую виртуальную машину.

xe task-list
xe task-cancel uuid=[task uuid]
xe-toolstack-restart
xe vm-shutdown force=true uuid=[vm uuid]

FreeBSD 10.1 RELEASE и XenTools

Два варианта установки XenTools для FreeBSD 10.1 RELEASE.

Вариант 1.

portupgrade fetch extract
cd /usr/ports/sysutils/xe-guest-utilities
make install clean
echo 'xenguest_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/xenguest start

Вариант 2.

pkg install xe-guest-utilities
echo 'xenguest_enable="YES"' >> /etc/rc.conf
/usr/local/etc/rc.d/xenguest start

Мониторинг XenServer 6.2 с помощью Zabbix.

Добавляем zabbix пользователя.

adduser zabbix

Разрешение зависимостей.

yum --enablerepo=base install openssl-devel gcc make --disablerepo=citrix

Загружаем последнюю версию Zabbix.

mkdir /tmp/zabbix/
cd /tmp/zabbix/
wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.4/zabbix-2.2.4.tar.gz"

или

wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Development/2.3.1/zabbix-2.3.1.tar.gz"

Распаковываем.

tar xvfz zabbix-2.2.4.tar.gz

Собираем агента.

cd zabbix-2.2.4
./configure --enable-agent
make install

Добавляем в автозагрузку.

cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
chkconfig zabbix_agentd on

Настраиваем конфигурационный файл.

vi /usr/local/etc/zabbix_agentd.conf

Добавляем правила в фаервол

iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 10050 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10050 -m state --state ESTABLISHED -j ACCEPT
service iptables save

Запускаем агент.

/etc/init.d/zabbix_agentd start

Настройка доступа к отчетам.

vi /etc/sudoers

Удаляем «Defaults requiretty»
И добавляем в конец файла:

zabbix ALL = NOPASSWD: /opt/xensource/bin/xe

Очищаем темп.

rm -rf /tmp/zabbix/

Оптимизация FreeBSD для XenServer, ZFS в качестве корневой файловой системы.

Имеем FreeBSD 9.2 RELEASE установленную в XenServer 6.2 — корневая файловая система ZFS. Задача установить xen-tools для полной оптимизации системы.
Исправляем файл:

/usr/src/sys/kern/subr_autoconf.c

Комментируем строку 136 и 145.

/*      while (!TAILQ_EMPTY(&intr_config_hook_list)) { */
                if (msleep(&intr_config_hook_list, &intr_config_hook_lock,
                    0, "conifhk", WARNING_INTERVAL_SECS * hz) ==
                    EWOULDBLOCK) {
                        mtx_unlock(&intr_config_hook_lock);
                        warned++;
                        run_interrupt_driven_config_hooks_warning(warned);
                        mtx_lock(&intr_config_hook_lock);
                }
/*      } */

Читать далее