Перейти к содержимому

Как перезагрузить сервер через консоль

  • автор:

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

Способ перезагрузки Dedicated зависит от того, есть ли связь с удаленным сервером. В статье расскажем о двух основных методах: программном и аппаратном. Разберемся, как перезагрузить сервер, который идет на контакт (через консоль). И как перезапустить сервер, который не отвечает (через IPMI).

Reboot

Вам стоит перезагружать сервер, если:

  • завис терминал или визуальный интерфейс для работы с сервером;
  • работает с ошибками;
  • нужно войти в BIOS.

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

Различают программную и аппаратную перезагрузку.

Программная перезагрузка

Программная перезагрузка подойдет для решения локальных проблем. Например, когда несколько программ работает неверно или без обновления системы не будут закончены установка/удаление ПО. Программная перезагрузка выполняется вводом нескольких команд в консоли или командной строке. Однако этот метод сработает, только если сервер доступен.

Как перезагрузить Linux-сервер через консоль?

Чтобы запустить программную перезагрузку сервера через консоль, достаточно подключиться к серверу под root-пользователем и ввести одну из трех команд:

Подробнее в статье Как перезагрузить сервер Linux. Если вас интересует вопрос, как перезапустить сервер Windows, читайте дальше.

Как перезагрузить Windows-сервер через командную строку?

Windows-серверы перезагружаются аналогично серверам с Linux.

Подключитесь к серверу под root-пользователем и введите команду.

Также можно воспользоваться стандартной оболочкой PowerShell. Просто введите командлет.

Restart-Computer имя компьютера

Если программная перезагрузка пошла не по плану, попробуйте воспользоваться аппаратным способом.

Аппаратная перезагрузка

Аппаратная перезагрузка применяется, когда сервер находится вне зоны доступа. В этом случае можно прибегнуть в перезагрузке по питанию (физическому перезапуску оборудования). Для этого необязательно ехать в ДОЦ, можно удаленно воспользоваться IPMI. Этот интерфейс используется для доступа к питанию настройкам BIOS сервера. В нем вы можете управлять конфигурацией сервера.

Как перезагрузить сервер удаленно с помощью IPMI/KVM

Рассмотрим перезагрузку через IPMI на примере интерфейса renter.ru.

Чтобы перезагрузить сервер аппаратно, авторизуйтесь в личном кабинете. Перейдите в раздел “Товары/Услуги“ — “Выделенные серверы”. Выберите нужный сервер и нажмите Перейти.

Раздел Выделенные серверы

В новой вкладке откроется панель DCI. Перейдите в раздел “Серверы”, выделите зависший сервер или другой сервер, который хотите перезагрузить. Нажмите иконку KVM (“Перейти к интерфейсу IPMI S6560”):

DCI manager

В интерфейсе IPMI перейдите во вкладку “Remote Control”. В списке слева выберите пункт “Power Control”. Установите переключатель напротив Reset Control и нажмите Perform Action:

IPMI

Сервер будет перезагружен. Если аппаратная перезагрузка не решила проблем, обратитесь в техническую поддержку renter.ru.

Нужен надежный и недорогой выделенный сервер?

Выделенные серверы по низким ценам! Переходи и выбирай свой!

Как перезагрузить сервер Linux: пошаговая инструкция

В этой статье мы рассмотрим, как перезагрузить сервер Linux. Информация будет полезная для начинающих пользователей, которые только знакомятся с данной операционной системой.

Начнём с главного правила – перезагрузка линукс должна выполняться только при крайней необходимости! Кроме того, нельзя этого делать в процессе установки или удаления программ.

Когда может потребоваться перезагрузка сервера Linux

Почему же нужна весомая причина для перезапуска системы? Дело в том, что может нарушить работу серверного оборудования, привести к ошибкам и сбоям. Поэтому условно выделяют 5 ситуаций, когда в этом есть необходимость.

  • Зависание сервера. Например, если он не выполняет своих задач или сильно тормозит.
  • Неправильно работают программы.
  • Вы сменили операционную систему, в таких случаях всегда требуется перезагрузка линукс перед началом работы.
  • Вы работаете с BIOS. При этом неважно, если ли у вас физический доступ или вы запустили эмуляцию.
  • Запущена программа низкоуровневого копирования и восстановления данных.

В остальных случаях сначала нужно попытаться решить проблему другим способом.

Как перезагрузить Linux в графическом интерфейсе

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

В ubuntu перезагрузка выполняется нажатием на значок шестерёнки в правом верхнем углу. После этого появится меню, где нужно выбрать пункт «Выключение». Затем система выдаст ещё одно окно. Здесь нужно кликнуть по левому пункту «Перезагрузить».

В других дистрибутивах в главном меню нужно кликнуть на вкладку «Выход», а затем выбрать пункт «Перезагрузка».

Как перезапустить сервер удалённо

Многие IT-специалисты управляют серверами удалённо с помощью специальных программ. В них предусмотрены команды, которые запускают перезагрузку без необходимости лично находиться возле устройства.

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

ssh root@remote-server.com /sbin/reboot.

Как перезагрузить линукс через терминал

Существует несколько способов, среди которых можете выбрать тот, который кажется вам проще.

Наиболее популярная команда для linux «reboot»

Символ $ говорит о том, что для её ввода нужны права суперпользователя. Зато после ввода команды останется только нажать Enter.

Также часто используется команда перезагрузки linux «shutdown», которая характеризуется расширенным функционалом. Утилите нужно задать параметр -r и можно задать время.

shutdown -r now (Перезагрузить сейчас).

shutdown -r 12:00 (Выполнить перезагрузку в полдень).

shutdown -r +10 (Перезагрузить систему через 10 минут)

Следом система выдаст информацию о задании. Например, она будет выглядеть так, если задать время перезагрузки 1 минуту.

Чтобы отменить команду, нужно ввести shutdown -c, как указано в выделенной строке.

В системах инициализации совместимых с Init Scripts предусмотрено 6 уровне загрузки системы. 0 означает включение, а 6 – перезагрузку. Переключение между ними задаётся с помощью команды «init». А для её использования тоже нужны права суперпользователя.

Как перезагрузить линукс через службу системных сообщений D-Bus

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

Для этого в Linux предусмотрена встроенная утилита, которая обеспечивает взаимодействие программ друг с другом. Называется она D-Bus.

То есть обычные пользователи тоже могут ввести команду и отправить сервер на перезагрузку. Но эта команда довольно длинная.

/usr/bin/dbus-send —system —print-reply —

Этот способ актуален, если графическая оболочка не отвечает. При этом настройка выполняется через консоль. Процесс состоит из нескольких шагов.

  1. Запускаем терминал и вводим команду.

echo 1 > /proc/sys/kernel/sysrq

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

sudo nano /etc/sysctl.conf

  1. Вводим пароль суперпользователя.
  2. В самом конце файла добавляем ещё одну строчку.

  1. Нажимаем «Записать» для сохранения изменений и «Выход».
  2. Зажимаем одновременно клавиши Alt + SysRq + Код клавиши.

R — возвращает управление клавиатурой.

E — отправка сигнала SIGTERM всем процессам кроме init.

I – отправка сигнала SIGKILL всем процессам кроме init.

S – синхронизация файловых систем, информация сохраняется на жёстком диске.

U – монтаж файлов в режим только чтение;

B – запуск перезагрузки без учёта предупреждений.

Нужно нажать все 6 комбинаций в последовательности R E I S U B с интервалом приблизительно в секунду. Если перезагрузка требуется срочно, достаточно нажать комбинацию Alt + SysRq + B. Но в этом случае есть риск повреждения файловой системы и потери данных.

Кроме того, можно использовать только клавишу SysRq. Для этого предварительно нужно записать в файл /proc/sysrq-trigger код операции.

echo b > /proc/sysrq-trigger

Как выполнить перезагрузку в Recovery Mode

Recovery Mode – это режим восстановления.

В консоли выберите пункт «Продолжить нормальную загрузку», чтобы запустить загрузку операционной системы в обычном режиме.

Также можете выбрать «Перейти в командный интерпретатор суперпользователя». В этом случае откроется консоль в root. Для выбора нажмите клавишу «Enter».

Теперь введите команду «reboot», чтобы начать перезагрузку.

Что делать, если сервер не работает после перезагрузки

Если перезагрузить сервер не удалось, подключитесь через IP-KVM (консоль к выделенному серверу), чтобы посмотреть его состояние, или обратитесь в техподдержку.

Заключение

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

Но мы не рекомендуем все проблемы решать перезагрузкой. Для начала убедитесь, что она необходима. А при возникновении вопросов обращайтесь в техподдержку.

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

img

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

Существует программная (soft) и аппаратная (hard) перезагрузка. Программная является безопасной. После получения команды сервер дождется корректного завершения всех процессов прежде, чем остановиться и заново запуститься. Аппаратный перезапуск производится с помощью кратковременного отключения питания (действие аналогичное нажатию кнопки reset на компьютере). Сервер перезагрузится, но некоторые данные и файлы могут быть утеряны или повреждены. Поэтому аппаратная перезагрузка – это крайняя мера, когда другие возможности перезапуска VDS отсутствуют.

Программная перезагрузка

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

Программная перезагрузка сервера Linux

Программная перезагрузка сервера Linux - фото

Чтобы перезагрузить сервер Linux из консоли, необходимо подключение с правами root-пользователя и ввод команды shutdown -r now, reboot now или init 6.

Как перезапустить Ubuntu, Debian, CentOS

Как перезапустить Ubuntu, Debian, CentOS - фото

Базовая команда для перезапуска Linux-сервера, – shutdown -r. Вариации команды позволяют выбрать время перезагрузки. Например, shutdown -r now немедленно перезагружает сервер, а по команде shutdown -r 10:30 сервер перезапустится в 10:30.

Команда reboot – еще один универсальный инструмент. Преимущество команды в том, что сначала производится запись всех логов, закрытие незавершенных процессов и запись на диск через sync. Только после этого будет инициирован процесс перезагрузки.

6-уровневая система инициализации Init Scripts также позволяет осуществить перезапуск. Для этого выбирайте команду уровня 6 (init 6), а команду уровня 0 (init 0) – для выключения.

Программная перезагрузка сервера Windows

Программная перезагрузка сервера Windows - фото

Сервера на Windows имеют аналогичный способ перезапуска. Пользователь с административными привилегиями (администратор) должен ввести команду shutdown -r -t 0. Альтернативный вариант – воспользоваться PowerShell. В таком случае необходима команда Restart-Computer и имя компьютера.

Если программный перезапуск не сработал, следует воспользоваться аппаратной перезагрузкой.

Аппаратная перезагрузка сервера

Аппаратная перезагрузка сервера - фото

Если удаленный сервер по каким-то причинам не доступен, производится физический перезапуск оборудования (по питанию). Сделать это можно удаленно без посещения дата-центра. Для удаленного доступа к настройкам питания BIOS сервера и управления конфигурацией, используйте интерфейс IPMI.

Пошаговая инструкция для удаленного перезапуска питания с помощью IPMI/KVM: Авторизация в личном кабинете – Выбор нужно сервера в панели DCI – Кнопка KVM – Вкладка Remote Control (в интерфейсе IPMI) – Пункт меню Power Control/Reset Control/Perform Action.

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

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

Как перезагрузить сервер по SSH? - фото

Чтобы перезапустить удаленный сервер с операционной системы Windows, воспользуйтесь приложением PuTTY. Это популярный клиент для удаленного доступа без шифрованной передачи пакетов. После авторизации, введите в командной строке reboot. Сервер перезагрузится через 15 минут.

Если вы работаете на Linux, используйте скрипт /etc/init.d/ssh с параметром restart. Для остановки или запуска сервера, выбирайте команды stop и start соответственно.

Если перезагрузка прошла неудачно, проверить состояние сервера можно через интерфейс IP-KVM или панель управления в личном кабинете.

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

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):

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

Заключение

Краткая выжимка

Нормальная работа reboot
проблемы с софтом reboot -f
проблемы с ядром/маунтами/libc echo b>/proc/sysrq-trigger
проблемы с ядром/маунтами/libc и нет открытой консоли ipt_SYSRQ (надо подготовить заранее)
проблемы с ядром/железом ipmitool chassis power cycle
проблемы с ядром/железом без открытой консоли ipmitool -H ipmi.server.local chassis power cycle
проблемы с автономной периферией/БП/ipmi ребут через IP-розетку

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

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

https://alkogolizm-zhi.vyvod-iz-zapoya-na-domu-sankt-peterburg-abc.ru/