Знания сила :)

Ничто не дается даром в этом мире, и приобретение знания - труднейшая из всех задач, с какими человек может столкнуться. Карлос Кастанеда (Хуан Матус)

воскресенье, 8 апреля 2012 г.

Один UPS и два сервера

    Добрый день, в этой статье я расскажу как настроить выключение двух серверов подключенных к одному UPS, на одном у нас будет установлена операционная система Windows Server 2003 а на другом Ubuntu Server 10.04.4. в Качестве UPS у нас будет выступать Eaton Powerware 9125. На Windows Server будет установлена программа LanSafe 6.0.6.1, именно она будет управлять UPS. У нас задача стоит что бы программа при выключении сервера, выключала корректно сервер с Linux. Пожалуй начнем:
1.Создаем пользователя командой:
  useradd upsmon -d /usr/home/upsmon -m -s /bin/sh -c "UPS Monitoring"
Этой командой мы создали пользователя, прописали ему shell-оболочку и комментарий, для чего этот пользователь нужен, чтобы в последствии не забыть.
2.После чего переходим в среду пользователя upsmon:
  su -l upsmon
     Этой командой мы перешли в среду пользователя, это нам нужно что бы сгенерировать ключи и выставить если понадобится разрешения.
3.Генерируем открытый и закрытый ключи:
  ssh-keygen -t dsa -b 1024 -f $HOME/.ssh/id_dsa
      В параметрах мы указываем, алгоритм шифрования, длину ключа, куда сохранить. В нашей папке появляются два файла это id_dsa(закрытый ключ) и id_dsa.pub(открытый ключ). Закрытый ключ мы перемещаем на то устройство откуда мы будем подключаться к серверу а открытый прописываем в файл authorized_keys.
5.Создаем файлик authorized_keys:
nano /home/upsmon/.ssh/autorized_keys
      Этот файл нам нужен для того что бы прописать туда наш открытый ключ id_dsa.pub. Нажимаем "CTRL+R" прописываем путь к файлу с открытым ключом и нужная строчка появляется в файле authorized_keys.
6. Редактируем файл /etc/sudoers.
# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown
Cmnd_Alias REBOOT = /sbin/reboot
#В конец файла
# UPS remote command executor
upsmon ALL = NOPASSWD: SHUTDOWN, REBOOT
      Эти настройки нужны для того что бы учетная запись могла выключать сервер и перезагружать. Правьте его очень аккуратно лучше использовать через Visudo сразу можно и проверить его корректность.
На этом настройку Linux сервера мы закончим, переходим к нашему серверу с операционной системой Windows 2003 Server и настройки утилиты Lansafe.
6.Передаем закрытый ключ на сервер с Windows 2003Server 
  а) На сетевой ресурс; б) Putty; в) Утилита WinSCP
      Я лично сделал так, скопировал ключ на сетевой ресурс и потом забрал его, только предварительно нужно будет выставить права на файл иначе ничего не получится.
7. Конвертируем закрытый ключ с помощью утилиты puttygen, в результате получится файл с расширением *.ppk.
      Пробуем просто подключиться к серверу с помощью Putty и закрытого ключа, если все хорошо, то отключаемся, если подключится к серверу не удалось смотрим логи на ошибки и Google в помощь.
8.Отрываем блокнот, вставляем строчку с командой и сохраняем с расширением *.bat:
 C:\script\srv-bakup\plink.exe -ssh -P 22 -2 -i C:\script\srv-bakup\id_dsa.ppk upsmon@192.168.1.8 sudo shutdown -h now
9. Настройка LanSafe:
LanSafe-->Configuration-->Event Notification--> Power Failure --> Command--->Выбираем *.bat файл.
      После того как мы выбрали наш *.bat файл нужно нажать применить и протестировать, для этого есть специальная кнопка. Все должно работать.

Список литературы:
1. Журнал Системный администратор №85, 2009 Один UPS на двоих. FreeBSD в домене Windows. Рашид Ачилов.
2. http://www.opennet.ru/base/sec/ssh_intro.txt.html Теория и практика использования SSH.
3. http://www.lissyara.su/doc/man/safety/visudo/ Описание Visudo
4. http://ru.wikipedia.org/wiki/PuTTY Ссылка на Wiki

Комментариев нет:

Отправить комментарий