Процесс перезагрузки сервера Линукс кажется обыденным делом. На самом деле это не так просто. Перезагрузка может привести к непредвиденным последствиям, начиная от потери информации и заканчивая падением операционной системы. Рассмотрим, как безопасно перезагрузить сервер Linux.
Когда может потребоваться перезагрузка
Прежде чем приступить к удаленному перезапуску сервера убедитесь, что это действительно необходимо. Прерывание работы без важной причины может привести к сбоям в работе серверного оборудования. В каких случаях стоит перезагружать server?
- Сервер зависает или тормозит.
- При некорректной работе установленных программ.
- При смене операционной системы.
- При работе с BIOS (если есть физический доступ или его эмуляция).
- При использовании программ для низкоуровневого копирования и восстановления данных (например, Acronis Backup).
Также помните: не стоит перезагружать сервер во время установки/удаления программ.
Способы перезагрузить сервер
Перезагрузка бывает программной (soft) и аппаратной (hard). Программная перезагрузка более безопасна - после получения команды сервер дожидается корректного завершения всех процессов перед тем, как остановиться и перезапуститься. Аппаратная перезагрузка происходит через кратковременное отключение питания (аналогично нажатию кнопки reset на компьютере - возможна потеря информации или повреждение некоторых данных. Поэтому аппаратная перезагрузка - крайняя мера, применяемая в случаях, когда другие способы не допустимы.
Перезагрузка через консоль
Как перезагрузить сервер через консоль? Для удаленного подключения к серверу рекомендуем использовать SSH. Для перезагрузки Linux-серверов существуют 3 простых способа перезагрузить его через консоль: команды shutdown, reboot и init.
Команда для перезагрузки сервера в Linux с Ubuntu:shutdown -r now
Можно также запланировать перезагрузку на определенное время через командную строку:shutdown -r 11:00
Или через определенное количество времени:shutdown -r +5
Для перезагрузки серверов с Ubuntu, Debian, CentOS или другими дистрибутивами используйте команду:reboot now
После ввода этой команды соединение с сервером будет разорвано.
Также можно воспользоваться командой с использованием уровней системы инициализации Init Scripts:init 6
Если нет статуса суперпользователя - в Linux используется встроенная утилита D-Bus. Этот способ актуален в случае, если графическая оболочка не отвечает. Необходимо выполнить несколько шагов:
- Запустить терминал и выполнить команду:
echo 1 > /proc/sys/kernel/sysrq
- Открыть конфигурационный файл в текстовом редакторе, например:
sudo nano /etc/sysctl.conf
- Добавить в конец файла строку:
kernel.sysrq = 1
- Сохранить изменения, нажав
Ctrl + O
иCtlr + X
- Нажать одновременно
Alt + SysRq
+ клавишиR E I S U B
с интервалом в секунду.
Также можно использовать только клавишу SysRq, предварительно записав код операции в файл /proc/sysrq-trigger:
echo b > /proc/sysrq-trigger
Чтобы выполнить перезагрузку в режиме восстановления (Recovery Mode), следует выбрать соответствующий пункт в консоли и выполнить команду reboot
.
Заключение
Если после перезагрузки сервер не работает - следует подключиться через IP-KVM, чтобы узнать его текущее состояние. В случае возникновения проблем также рекомендуется обратиться в техподдержку.
Важно запомнить, что перезагрузка - не всегда единственное решение проблемы. Прежде чем перезагружать систему, удостоверьтесь, что это действительно необходимо.