Power cycle server что это
Перейти к содержимому

Power cycle server что это

  • автор:

Power Cycle your Dedicated Server

Leaseweb cannot be held accountable for any data loss during a server power cycle. A power cycle does not shut down applications gracefully and could result in data loss.

In case power port control is unavailable, such as with Supermicro MicroCloud based servers, IPMI will be used to perform a system power off / power on cycle.

Perform the following steps to power cycle a Dedicated/Bare Metal server:

    In the Dedicated Server Overview page, or in the Action menu at the top of the server overview page, select Power OperationsPower Cycle

The Power Cycle Dedicated Server dialog box displays:

If you choose to schedule a Hardware Scan job, it will be performed immediately after the power cycle, the progress is visible at the ActivitiesJobs page. This takes only a couple of minutes. Afterwards, the server will attempt to boot normally into the main OS.
After the Hardware Scan, the information in the Hardware Details page will be updated.

FAQ about Power cycle your server

«I’m trying to reboot our box but it looks like it’s not booting at all. We tried to use rescue mode (lswrescue) then restart but main box is not starting as there nothing in the kern.log»

If your server does not respond after a power cycle, you can use Remote Management to view the screen and access the server with your keyboard and mouse.

Alternatively, you can start your server in rescue mode, which is a Live OS that runs independently of the server’s main OS, to access the files on disks and make changes or backups if necessary.

To restore the server to its original state as it was when it was first delivered, you can initiate a reinstall. Please note: during a reinstall all existing data on your server will be wiped, and cannot be recovered. If you want to save any of the data, please backup before installing.

If you encounter an issue which you are unable to resolve, you can always contact support.

«I just ran a hardware scan during Power Cycle, where can the resulting file be found?»

On the Server Detail page, the Hardware Scan information can be found under Details -> Hardware Details.

«The facility to reboot my server has gone, how do I do it now?»

The option to reboot / power cycle your server should not disappear. If this happens please contact support.

«How do I request Leaseweb to reboot our servers for us?»

Manual reboots / power cycles performed by Leaseweb can be requested by contacting support. Please note that the request may take up to 24h to be performed, depending on our Service Level Agreement (SLA). Power cycles performed through the Customer Portal happen almost instantly.

Использование IPMI

IPMI (Intelligent Platform Management Interface) — специальный интерфейс для удаленного администрирования выделенного сервера.

Основные функции IPMI:

  • мониторинг,
  • удаленное управление,
  • переустановка операционной системы,
  • выключение, включение и перезагрузка,
  • журналирование и инвентаризация, независимо от работы сервера.

Так как IPMI представляет собой отдельное программно-аппаратное устройство, возможно его функционирование независимо от того, включен в данный момент сервер или выключен.

Для подключения к IPMI нужны:

  • имя пользователя и пароль,
  • браузер,
  • Java (если у Вас не установлен пакет Java – скачайте с официального сайта.

Вход в IPMI и управление состоянием сервера

Диалоговое окно входа IPMI

  1. В адресной строке браузера введите IP-адрес IPMI.
  2. В диалоговом окне входа введите имя пользователя и пароль.
  3. Выберите Remote ControlPower Control.

Здесь вы можете выполнить такие операции:

  • Reset Server – «жесткая» перезагрузка сервера. Рекомендуется использовать только в тех случаях, когда сервер не отвечает и выполнить штатную перезагрузку из ОС невозможно.
  • PowerOffServerImmediate – немедленное отключение питания сервера. Без корректного завершения работы ОС.
  • Power Off Server — Orderly Shutdown — штатное выключение сервера. Работа ОС завершается корректно.
  • Power On Server — включение сервера.
  • Power Cycle Server – штатная перезагрузка сервера.

Подключение к консоли сервера

Внимание! Рекомендуется использовать только опытным пользователям!

  1. Для подключения к консоли установите Java Runtime.
  2. Выберите Remote ControlConsole Redirection.

Console Redirection

При запуске консоли может появиться окно подтверждения запуска. Поставьте галочку возле пункта «I accept the risk and want to run this application». Затем нажмите Run:

Окно подтверждения запуска

Подключение образа

При работе с консолью может подключить ISO-образ оптического диска. Сервер будет воспринимать его как внешний USB-привод с диском. С данного диска возможна загрузка. Чтобы запустить образ нажмите Virtual media Virtual Storage manager.

Запуск образа

В открывшемся окне:

  1. Выберите вкладку CDROM&ISO.
  2. Выберите тип подключаемого образа ISO File.
  3. Укажите путь к файлу образа на вашем компьютере.
  4. Подключите файл образа к серверу нажав Plug in.
  5. Закройте Virtual Storage manager нажав на OK.

Virtual Storage Manager

Виртуальная клавиатура

Не все сочетания клавиш можно ввести с обычной клавиатуры. Они могут совпадать с теми, которые используются в ОС на Вашем локальном компьютере.

Поэтому в консоли управления можно использовать Макросы (часто используемые сочетания клавиш). Выберите MacroMacro – выберите нужную комбинацию.

Результат выбора сочетания будет таким же, как и при нажатии данной комбинации на реальной клавиатуре, подключенной к серверу.

Сочетания клавиш

Если встроенных макросов (сочетаний клавиш) недостаточно – Вы можете использовать виртуальную клавиатуру:

Виртуальная клавиатура

Вместо браузера рекомендуется использовать специальную утилиту IPMI View от SuperMicro. Данная утилита более удобна в использовании.

Возможные проблемы

ВНИМАНИЕ: Если Вы не можете подключиться к KVM через IPMI и получаете ошибку (Connection error или другую) при работе в web-интерфейсе или консоли — напишите в тех. поддержку. Мы перезапустим IPMI модуль.

500 Internal Server Error

Данная ошибка может возникнуть при подключении через незащищенный протокол http. Измените протокол на https в адресной строке и повторите вход в IPMI.

Java Application Blocked

При первом использовании консоли IPMI на компьютере, может появиться оповещение о блокировке от Java Runtime:

Оповещение о блокировке

Это срабатывание системы безопасности Java. Добавьте адрес IPMI в исключения для нормального запуска консоли. Для настройки Java запустите Configure Java (по умолчанию Пуск-Программы-Java). В настройках откройте вкладку Security

Вкладка Security в настройках

Нажмите кнопку Add site list напротив списка с прокруткой, а затем Add. Прокрутите список в самый низ. Новое поле для добавления будет в конце списка.

Add site list

Введите в поле адрес вашего IPMI.

Например, http://IP_IPMI или https://IP_IPMI, где IP_IPMI это IP-адрес вашего IPMI).

При подключении через протокол http всплывёт предупреждение:

Предупреждение при подключении

Нажмите Continue!

Если данный материал не смог в полной мере ответить на Ваши вопросы, специалисты из техподдержки всегда будут рады помочь. Самый простой способ связаться с ними – создать тикет.

Как перезагрузить сервер?

Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится.

Новые системы инициализации (собственно, не стесняемся — остался только systemd) дают некий таймаут (обычно 120 или 180 секунд) на сохранение данных, после чего завершают процесс силком. Помимо остановки демонов, отмонтируются файловые системы (то есть скидываются все блочные кеши), останавливаются iscsi target’ы (тоже с скидыванием кеша), и т.д. и т.п. При том, что время шатдауна получается неопределённо долгим, оно всё таки конечно. Плюс, есть хоть какая-то надежда на правильное завершение всех демонов, скидывание файловых кешей и т. д.

Таким образом, на здоровой системе правильный ответ на вопрос «как перезагрузиться» — выполнить команду reboot. В ряде случаев — даже единственный правильный (поправка: если в графическом интерфейсе сделать «reboot», то desktop environment будет думать, что это ребут аварийный — для перезагрузки из графического режима надо использовать «reboot» в интерфейсе DE).

Что может пойти не так при «обычном ребуте»? Ну, во-первых, какой-то из процессов-демонов может начать «тупить» — см выше.

  • fallocate /fs/swap -l 1G;mkswap /fs/swap; swapon /fs/swap
  • dd if=/dev/sda of=/fs/image; kpartx /fs/image
  • losetup —find —show /fs/image

Чем это чревато? Неотмонтированной файловой системой. Systemd в этой ситуации пытается-пытается, да и бросает (неотмонтированную файловую систему). То есть reboot в этой ситуации будет ОЧЕНЬ долгим, но всё-таки пройдёт. Но это если umount вернёт ошибку.

А бывает так, что umount не может завершить операцию из-за того, что что-то не доступно. Например, файл на nfs-сервере. Если какой-то процесс обратится к такому файлу, то его завершить нельзя (даже с помощью kill -9). И в этой ситуации ‘reboot’ просто завесит сервер. Опять же, наиболее типовые места у systemd „прикрыты“, но вероятность наткнуться на TASK_UNINTERRUPTIBLE (‘D’ в ps aux) всё равно можно.
Что делать? Можно перезагрузиться без синхронизации файловых систем и завершения чего-либо reboot -f. Но он тоже может повиснуть. Про причины ниже, а пока про последствия: все процессы не остановлены и умирают мгновенно, tcp сессии не закрыты, дисковые кеши не сброшены. Однако, ядро всё-таки выполняет какие-то движения в районе ребута (и, возможно, часть кешей будет сброшена). Главное же — в процессе ребута будет задействована большая часть ядра. И это означает, что если ядру поплохело, то мы можем и не вернуться обратно.

Вторая, крайне неприятная ситуация: проблемы с файловой системой на / (в корне). Любая попытка сделать ls, grep, и даже ‘reboot’ вызывает либо зависание консоли, либо ошибку. По той же категории проходят проблемы с libc (включая её удаление), когда на попытку ‘reboot’ говорят о проблеме линковки и отказываются что-то делать. Или, мы достигли лимита на число pid’ов и все они в ‘D’ стейт. или ещё какая-то гадость того же калибра, идущая по категории „серверу плохо“.

Бывает так, что на сервер осталась открыта только одна консоль (а вторая уже не открывается). Почему? Потому что кто-то что-то подхимичил с драйвером дисков. Или рейд-контроллером. Или ещё чем-то, после чего от ‘/’ остаются только воспоминания в дисковом кеше. Это означает, что у нас есть только команды bash’а (встроенные), которые выполняются без запуска новых процессов.

Существует метод перезагрузки, который не требует выполнения каких-либо исполняемых файлов (т.е. чтения с отсутствующего диска). Это (от рута): echo b >/proc/sysrq-trigger . Файл sysrq-trigger позволяет „нажать“ любую кнопку из SysRq комбинаций (аварийные кнопки ядра). В том числе и SysRq-b, то есть аварийный „reboot“. Часто бывает так, что после нажатия enter даже не успевает появиться перевод строки — сервер уже в ребуте до того, как syscall вернулся. Это самое сильное из софтового, что есть для ребута.
Замечание: кажующееся правильным в этой ситуации „sync, reboot“, т.е. SysRq-s, SysRq-B это ошибка, т.к. после SysRq-S, ядро может попытаться начать общаться с пустым множеством, и, потенциально, упасть в панику или отломать вам последнюю из доступных консолей. Если делается аварийный ребут — он должен быть аварийным

ipt_sysrq

Это всё работает, если у вас есть консоль на сервер. А если логин виснет и открытой консоли нет? Есть модуль ipt_SYSRQ, позволяющий выполнить sysrq запросы по получению определённого сетевого пакета (точнее, по правилу iptables). Работает целиком в ядре, т.е. от FS не зависит. К нему же прилагается команда send_sysrq.

сторож для сторожа

Можно было бы подумать, что на этом „всё“, но бывают ещё более неприятные зависания. Например, зависла сетевая карта. И обычный reboot (в т.ч. через sysrq) не помогает. Вторым примером таких плохой ситуации бывает зависание enclosure, которая залипла на плохом диске и игнорирует все bus reset. Перезагрузка вроде бы всё сбрасывает, а диски недоступны.

В этом случае нам нужен power cycle (включить/выключить). Физически бегать к серверу не интересно, так что можно посмотреть на возможности современных серверов: IPMI. Это встренный микрокомпьютер, позволяющий управлять „большим“ компьютером. Он обычно называется IPMI, DRAC, iLO, etc.

Интресующая нас команда: ipmitool chassis power cycle. Она более требовательна к работоспособности системы (должны быть загружены модули ядра, сам ipmitool должен успешно запуститься, ipmi должен быть рабочим и т.д.). Но зато она позволяет передёрнуть по питанию всех. Точнее, почти всех — если у сервера есть jbod’ы, то до них эта команда не доходит. Но, всё-таки, это очень добротный и хороший ребут.

Если ядру совсем поплохело, то команду можно выполнить и удалённо (ipmitool -H ipmi.server.local chassis power cycle)

Ещё одна сложная ситуация — когда завис ipmi. Если система при этом более-менее жива, то можно „перезагрузить ipmi“: ipmitool mc reboot hard . После этого можно будет сделать power cycle для шасси. Звучит странно, но я несколько раз в жизни „вытаскивал“ сервер в нормальный ребут именно такой последовательностью. (После mc reboot hard надо дать пару минут на загрузку BMC).

Следующая точка „боли“ — это зависающие блоки питания. Да, такое бывает. Баги в прошивке блоков питания исправляют, их нужно прошивать. Разумеется, любые мягкие ребуты (такие как ipmi power cycle) в этой ситуации не работают. Нужно либо физически тыкать кабель, либо передёргивать питание удалённо. В этой ситуации помогает IP-розетка.

Выглядит это примерно так (фрагмент панели управления для servers.com/servers.ru):

Очевидно, в этих условиях ребут пройдёт по очёнь жёсткому сценарию, но точно пройдёт.

IPMI FAQ

IPMI в практическом смысле представляет из себя аппаратный интерфейс для мониторинга и управления сервером. Сам интерфейс независим от состояния системы и её типа/версии, работает при наличии питания на БП, даже если сервер выключен. Связь с внешним миром осуществляется через отдельный сетевой порт, который никак не связан с 2-мя основными сетевыми картами. Фактически, у нас IPMI интерфейсы находится в отдельном коммутаторе, хотя и выходит в сеть через основные каналы дата-центра.

Основными функциями для наших клиентов являются встроенный KVM и управление питанием. Вам не нужно обращаться в техническую поддержку для перезагрузки сервера в случае зависания, Вы можете в любой момент самостоятельно переставить ОС на абсолютно любую, просто скачав ISO образ на свой ПК. Кроме того, Вы можете отслеживать основные параметры системы с помощью датчиков (температуры, напряжения и состояния вентиляторов). Мы предоставляем нашим клиентам полный административный доступ к IPMI. Кроме перечисленного выше ,Вы можете настроить отправку уведомлений о состоянии сервера через SMTP, создать дополнительныеаккаунты для вашего персонала с ограниченными правами доступа к IPMI, или настроить авторизацию с помощью вашего AD.

Встроенный KVM в нашем случае является основным достоинством IPMI. Во многих дата-центрах при аренде серверов KVM предоставляется только по запросу и за его использование часто берут почасовую оплату. У нас Вы получаете постоянный доступ ко всем функциям IPMI без доплат. Клиент KVM представляет из себя кроссплатформенное JAVA приложение, запускаемое из браузера. Для запуска KVM необходимо кликнуть по окну экрана сервера на первой странице IPMI, или использовать раздел меню Remote Control — Сonsole Redirection. Вывод в данное окно полностью соответствует выводу на монитор, окно может быть черным. Черное окно означает, что система, с целью энергосбережения, активировала режим отключения монитора. При запуске будет выдано стандартное предупреждение безопасности JAVA приложения.

После запуска KVM Вы можете послать ОС сервера стандартные сочетания клавиш через меню Marco-Marco. Для вывода экранной клавиатуры используйте меню Virtual Media-Virtual Keyboard. А вот на разделе Virtual Media – Virtual Storage стоит остановиться подробнее.

IPMI Virtual Storage позволяет Вам подключить к удаленной машине Ваш локальный жесткий диск целиком, подключить USB накопитель или IMA образ накопителя. Для Виртуальных CD/DVD реализованы следующие функции: подключения локального приводаоптических дисков или ISO образа диска с вашего HDD. Для подключения диска целиком необходимо выбрать подклюаемый диск/привод, в случае подключения образа после выбора соответствующего пункта,необходимо указать путь к файлу (кнопка Open Image). После выбора источника нажать кнопку Plug In, для извлечения источника – Plug Out. После подключения источника в BIOS появится соответствующая загрузочная опция. BIOS предоставляемых серверов не защищен паролем, Вы можете настроить его по вашему усмотрению. Для установки ОС с виртуального привода, его необходимо поставить первым в очереди загрузки, затем сохранить изменения и выйти (Exit – Save Changes and Reset). После данных операций система начнет загрузку в порядке установленной в BIOS очереди – с Вашего виртуального привода. Альтернативный вариант выбора загрузочного устройства для разовой загрузки с него находится в разделе EXIT. После строки Boot Override идёт список возможных загрузочных устройств, для выбора и начала загрузки достаточно выбрать необходимое устройство и нажать Enter. Большинство версий Windows/*nix систем определят виртуальный привод как локальный и не потребуют установки каких-либо дополнительных драйверов. Кроме того, в окне KVM продублирована функция управления питанием сервера (раздел меню Power Control). Небольшое пояснение относительно Set Power Off и Software Shutdown: Set Power Off отключит питание сервера, Software Shutdown передаст в ОС сигнал нажатия кнопки питания, и ОС сможет обработать его в соответствии со своими настройками.

Мониторинг состояния сервера

Раздел Server Health состоит из двух пунктов:

  • Event log содержит информацию о прошедших событиях (например, отключение вентелятора охлаждения, перепад питания или перегрев);
  • Sensor Readings выводит текущую информацию с датчиков.

Раздел поможет при внезапных отключениях/зависаниях сервера, хотя за 2 года работы мы еще ни разу не фиксировали проблем с отклонением аппаратных параметров машин/перегревом.

Перед настройкой отправки уведомлений рекомендуется выполнить настройку почтового сервера в разделе IPMI Configuration – SMTP. Список настраиваемых параметров не требует дополнительных пояснений. Для настройки уведомлений Вам необходимо зайти в раздел Configuration – Alerts, выбрать любую ненастроенную строку и нажать Modify. Если SMTP Вы уже настроили – достаточно просто указать email адрес, куда отправлять сообщения. Для большей информативности или Вашего удобства можете дополнительно заполнить поля Subjects и Message. После настройки выберите строку из общего списка и нажмите Send Test Alert для проверки настроек. Для изменения времени в IPMI Вы можете использовать раздел Configuration – Date and Time, выбрать в нём часовой пояс, выбрать любой NTP сервер или указать время локально.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *