Материал из Joonte Wiki
Версия от 20:49, 1 октября 2019; Alex Keda (обсуждение | вклад)
Может быть вызван скрипт, ему передётся два параметра - действие, и путь к файлу с настройками, вида
#!/bin/sh SettingsID="47" SettingsTemplateID="DS" SettingsServersGroupID="24" SettingsIsActive="1" SettingsIsDefault="1" ....
т.е. обычный шелл-скрипт с набором переменных
1. в разделе
Дополнения → Мастера настройки → Прочее → Группы серверов
создаём группу выделенных серверов
2. в разделе
Дополнения → Мастера настройки → Прочее → Сервера
создаём управляющий сервер, с шаблоном "Выделенный сервер" в настройках выбираем систему управления - "Скрипты", в строку "Внешний скрипт" вписываем путь до скрипта, например
DS/server.manage.sh
создаём соответствующую директорию и скрипт на сервере:
mkdir hosts/__HOSTNAME__/scripts/DS vim hosts/__HOSTNAME__/scripts/DS/server.manage.sh
делаем его исполняемым, проставляем права и владельца:
chmod 500 hosts/__HOSTNAME__/scripts/DS/server.manage.sh chown BillingUser hosts/__HOSTNAME__/scripts/DS/server.manage.sh
пример содержимого скрипта
#!/bin/sh # что делаем action=$1 # переменные . $2 switch=`echo $SchemeSwitch | awk '{print $1}'` port=`echo $SchemeSwitch | awk '{print $2}'` # в настройках забит адрес ilo как http://1.2.3.4/ ILO=`echo $SchemeILOaddr | awk -F / '{print $3}'` # сервер создаётся или включается if [ $action = "Create" -o $action = "Active" ] then # включаем порт /путь/к/скрипту/управления/интерфейсом/manage.interfaces.pl $action $switch $port # ждём секунд 30, пока просрётся сеть sleep 30 # включаем сам сервер через IPMI/lo100 ipmitool -I lanplus -H $ILO -U $SchemeILOuser -P $SchemeILOpass chassis power on exit 0; fi # удаление или выключение if [ $action = "Delete" -o $action = "Suspend" ] then # вЫключаем сам сервер через IPMI/lo100, пробуем кнопку нажать ipmitool -I lanplus -H $ILO -U $SchemeILOuser -P $SchemeILOpass chassis power soft # ждём минуту. обычно, более чем достаточно sleep 60 # жётско гасим сервер ipmitool -I lanplus -H $ILO -U $SchemeILOuser -P $SchemeILOpass chassis power off # вЫключаем порт /путь/к/скрипту/управления/интерфейсом/manage.interfaces.pl $action $switch $port exit 0; fi # непонятно что передали... /путь/к/скрипту/управления/интерфейсом/manage.interfaces.pl $action $switch $port
обратите внимание, что файл с настройками (который передаётся вторым параметром) удалется после того как сприт был вызван и отработал