что значит перезагрузка сервера
Как перезагрузить сервер?
Способ перезагрузки Dedicated зависит от того, есть ли связь с удаленным сервером. В статье расскажем о двух основных методах: программном и аппаратном. Разберемся, как перезагрузить сервер, который идет на контакт (через консоль). И как перезапустить сервер, который не отвечает (через IPMI).
Вам стоит перезагружать сервер, если:
Перезагрузка сервера может вызвать потерю данных. Чтобы этого не произошло, завершите все работающие программы и не начинайте перезагрузку до окончания установки или удаления ПО.
Различают программную и аппаратную перезагрузку.
Программная перезагрузка
Программная перезагрузка подойдет для решения локальных проблем. Например, когда несколько программ работает неверно или без обновления системы не будут закончены установка/удаление ПО. Программная перезагрузка выполняется вводом нескольких команд в консоли или командной строке. Однако этот метод сработает, только если сервер доступен.
Как перезагрузить Linux-сервер через консоль?
Чтобы запустить программную перезагрузку сервера через консоль, достаточно подключиться к серверу под root-пользователем и ввести одну из трех команд:
Подробнее в статье Как перезагрузить сервер Linux. Если вас интересует вопрос, как перезапустить сервер Windows, читайте дальше.
Как перезагрузить Windows-сервер через командную строку?
Windows-серверы перезагружаются аналогично серверам с Linux.
Подключитесь к серверу под root-пользователем и введите команду.
Также можно воспользоваться стандартной оболочкой PowerShell. Просто введите командлет.
Restart-Computer имя компьютера
Если программная перезагрузка пошла не по плану, попробуйте воспользоваться аппаратным способом.
Аппаратная перезагрузка
Аппаратная перезагрузка применяется, когда сервер находится вне зоны доступа. В этом случае можно прибегнуть в перезагрузке по питанию (физическому перезапуску оборудования). Для этого необязательно ехать в ДОЦ, можно удаленно воспользоваться IPMI. Этот интерфейс используется для доступа к питанию настройкам BIOS сервера. В нем вы можете управлять конфигурацией сервера.
Как перезагрузить сервер удаленно с помощью IPMI/KVM
Рассмотрим перезагрузку через IPMI на примере интерфейса renter.ru.
Чтобы перезагрузить сервер аппаратно, авторизуйтесь в личном кабинете. Перейдите в раздел “Товары/Услуги“ — “Выделенные серверы”. Выберите нужный сервер и нажмите Перейти.
В новой вкладке откроется панель DCI. Перейдите в раздел “Серверы”, выделите зависший сервер или другой сервер, который хотите перезагрузить. Нажмите иконку KVM (“Перейти к интерфейсу IPMI S6560”):
В интерфейсе IPMI перейдите во вкладку “Remote Control”. В списке слева выберите пункт “Power Control”. Установите переключатель напротив Reset Control и нажмите Perform Action:
Сервер будет перезагружен. Если аппаратная перезагрузка не решила проблем, обратитесь в техническую поддержку renter.ru.
Нужен надежный и недорогой выделенный сервер?
Выделенные серверы по низким ценам! Переходи и выбирай свой!
Как перезагрузить сервер?
Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.
Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду 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).
Что может пойти не так при «обычном ребуте»? Ну, во-первых, какой-то из процессов-демонов может начать «тупить» — см выше.
Чем это чревато? Неотмонтированной файловой системой. Systemd в этой ситуации пытается-пытается, да и бросает (неотмонтированную файловую систему). То есть reboot в этой ситуации будет ОЧЕНЬ долгим, но всё-таки пройдёт. Но это если umount вернёт ошибку.
Вторая, крайне неприятная ситуация: проблемы с файловой системой на / (в корне). Любая попытка сделать ls, grep, и даже ‘reboot’ вызывает либо зависание консоли, либо ошибку. По той же категории проходят проблемы с libc (включая её удаление), когда на попытку ‘reboot’ говорят о проблеме линковки и отказываются что-то делать. Или, мы достигли лимита на число pid’ов и все они в ‘D’ стейт. или ещё какая-то гадость того же калибра, идущая по категории „серверу плохо“.
Бывает так, что на сервер осталась открыта только одна консоль (а вторая уже не открывается). Почему? Потому что кто-то что-то подхимичил с драйвером дисков. Или рейд-контроллером. Или ещё чем-то, после чего от ‘/’ остаются только воспоминания в дисковом кеше. Это означает, что у нас есть только команды bash’а (встроенные), которые выполняются без запуска новых процессов.
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’ы, то до них эта команда не доходит. Но, всё-таки, это очень добротный и хороший ребут.
Следующая точка „боли“ — это зависающие блоки питания. Да, такое бывает. Баги в прошивке блоков питания исправляют, их нужно прошивать. Разумеется, любые мягкие ребуты (такие как ipmi power cycle) в этой ситуации не работают. Нужно либо физически тыкать кабель, либо передёргивать питание удалённо. В этой ситуации помогает IP-розетка.
Выглядит это примерно так (фрагмент панели управления для servers.com/servers.ru):
Очевидно, в этих условиях ребут пройдёт по очёнь жёсткому сценарию, но точно пройдёт.
Что значит перезагрузка сервера
Всем привет мне уже несколько раз писали такой вопрос, как перезагрузить сервер Windows через командную строку. Сегодня я на него отвечу, рассказав о нескольких способах это сделать. Для чего это может быть использовано ну например для написания скрипта, который в нужное время перезагрузит сервер, либо для саморазвития, мотивы могут быть разными, давайте смотреть как это сделать.
Перезагрузить через командную строку
Перезагружать через командную строку мы будем Windows Server 2008 R2, но данная инструкция подойдет как и для 2012 R2 так и для любой клиентской ОС хоть от Windows 7 до Windows 10. В начале мы рассмотрим классическую cmd, открываем ее (Как открыть командную строку читайте тут). Для перезагрузки используется вот такая команда.
У вас начнется моментально перезагрузка Windows.
Синтаксис утилиты shutdown
Ниже представлена подробная справка по всем возможным параметрам данной утилиты, думаю вы сможете найти бного полезного для различных задач.
Z:\>shutdown
Использование: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
[/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c «комментарий»]]
/i Отображение графического интерфейса пользователя. Этот параметр должен быть первым.
/l Завершение сеанса. Этот параметр нельзя использовать с параметрами /m или /d.
/s Завершение работы компьютера.
/r Завершение работы и перезагрузка компьютера.
/g Завершение работы и перезагрузка компьютера. После перезапуска системы, запуск всех зарегистрированных приложений.
/a Отмена завершения работы системы. Этот параметр можно использовать только в период ожидания.
/p Немедленное отключение локального компьютера без предупреждения. Можно использовать с параметрами /d и /f.
/h Переключение локального компьютера в режим гибернации.
Для удобства можно создать ярлык в котором можно вставить данную команду, или же создать cmd или bat файл для удобства. Так же я данную возможность использовал в mmc консоли. Помимо того что можно перезагрузить через командную строку, есть возможность сделать тоже самое и через PowerShell.
Как перезагрузить сервер через PowerShell
Microsoft уже давно несет свой сильный язык в массы, и надо вам сказать он очень функционален, но об этом позже. PowerShell, так же имеет возможность перезагрузить ваш сервер или компьютер через свою командную строку, делается это очень просто. Открываем оболочку PowerShell и вводим вот такой командлет
Или для нескольких
Довольно таки просто, есть возможно перезагружать список серверов. Уверен теперь у вас не будет проблем перезагрузить компьютер через командную строку. Существует конечно большое множество подобного рода утилит, но их нужно доставлять. Описанные два средства уже являются компонентами Windows и не требуют установки, что подразумевает моментальное их использование, да и чем меньше на сервере установлено тем лучше, более безопасно, так как любое стороннее по нужно обновлять и следить за этим.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как перезагрузить Windows Server 2016
Когда сервер Windows работает в течение длительного периода времени, приложения и функции операционной системы могут работать нестабильно. Нестабильная операционная система может иметь сбои приложений, зависание приложений или утечки памяти. Иногда даже важные системные функции перестают отвечать.
Простым решением является перезагрузка. В этом руководстве вы узнаете, как перезапустить Windows Server 2016 с несколькими параметрами команды.
Перезагрузить Windows Server через графический интерфейс
Интерфейс Windows Server 2016 представляет собой графический интерфейс, который упрощает многие задачи.
Как перезагрузить Windows Server с помощью командной строки
В некоторых случаях у вас может не быть установлен компонент GUI. Или ваша операционная система столкнулась с проблемой, и все, что вы можете получить доступ, это командная строка.
Шаг 1: Откройте командную строку
Шаг 2. Перезагрузите операционную систему Windows Server.
В окне командной строки введите команду перезагрузки Windows Server и нажмите клавишу Enter:
Параметр –r заставляет Windows перезагружаться, а не просто выключаться.
Перезапуск из PowerShell
Шаг 1. Запустите PowerShell
Шаг 2: перезагрузите систему
В окне PowerShell введите следующую команду и нажмите Enter:
По умолчанию вы получите 5-секундный обратный отсчет, затем система перезагрузится. Вы можете добавить опцию, чтобы отложить перезапуск на более чем 5 секунд по умолчанию:
Перезагрузка удаленного сервера Windows с помощью PowerShell
Шаг 1. Запустите PowerShell
Если вы находитесь в командной строке, введите команду:
Подсказка добавит PS в начале, и ваши набранные команды должны появиться в желтом цвете.
Шаг 2. Перезагрузитесь удаленно
В окне PowerShell введите следующее:
Замените NAME_OF_SYSTEM на имя компьютера, который вы хотите перезагрузить. Не забудьте поставить кавычки.
Примечание. Предполагается, что ваши текущие учетные данные те же, что и для удаленной системы. Обычно это может выглядеть как имя пользователя администратора, и один и тот же пароль для обеих систем. Это также может работать, если обе системы находятся в одном домене, а ваша учетная запись пользователя имеет соответствующие разрешения.
Решаем 9 задач управления Windows Server 2008 с помощью PowerShell. Часть 1
Введение
1. Меняем пароль локального администратора
Предположим Вы залогинились как доменный администратор на компьютере под Windows 7, который входит в Ваш домен. Теперь, предположим, Вы хотите сменить пароль локального администратора на удаленном сервере CHI-WIN7-22 в Чикаго. После использования пароля в течение определенного периода времени, его желательно сменить; процедуру необходимо повторять периодически.
Первое, что администратор делает для смены пароль администратора — создает ADSI объект для локального администратора на этом компьютере. Это делается в PowerShell следующим образом:
Выведется время, прошедшее с последней смены пароля. Результат показывается в секундах, переведем ее в дни (осуществим деление на 86400 (количество секунд в сутках)):
Обратите внимание, что было использовано свойство Value. Это было сделано потому, что PasswordAge хранится как коллекция, и поэтому нам необходимо сначала присвоить значение этой коллеции, чтобы вернуть ее в число, к которому можно применить операцию деления.
В итоге Вы можете изменить пароль, вызвав SetPassword метод и затем использовав новый пароль в качестве аргумента.
2. Перезагрузка или остановка сервера
где -ComputerName это массив строк, который может состоять как из имени одного, так и нескольких компьютеров. Stop-Computer используется практически тот же самый синтаксис. Например, если Вы хотите перезагрузить два компьютера CHI-DC02 и CHI-FP01, используйте следующую команду:
Ниже приведен фактически скриншот PowerShell, в котором мы использовали аргумент –whatif. Используйте его, если вы просто хотите посмотреть, что случиться, если вы выполните команду.
Все достаточно просто. Давайте теперь усложним задачу. Предположим, что у вас есть список компьютеров в файле servers.txt. Используем командлет Get-Content, чтобы извлечь их имена из файла.
Итак, у вас есть ряд компьютеров, которые вы бы хотели периодически перезагружать, и вы храните их имена в текстовом файле. Каждый раз, когда вам нужно перезагрузить их, вы просто используйте командлет Get-Content. Ниже представлен пример работы Get-Content и Restart-Computer.
Сначала мы получаем содержимое файла, используя Get-Content. Для начала пропингуем этим компьютеры. В этом выражении, мы запустим test-connection, что фактически эквивалентно ping на каждом компьютере. -quiet возвращает значения true или false, а -count 2 означает, что каждый компьютер будет “пропингован” лишь дважды. Те компьютеры, которые будут успешно пропингованы, будут дальше запущены в работу.
Затем мы используем foreach. Цель этого такова: для каждого имени, которое проходит пинг-тест, выводится сообщение зеленым текстом, указывающее на перезагрузку компьютера. “$_” означает текущий объект в конвейере. Затем используем командлет Restart-Computer для перезагрузки тех компьютеров, которые пингуются. Мы также используем параметр –force, чтобы сбросить всех, кто залогинен на данном компьютере
Параметр –whatif используется для того, чтобы посмотреть, что произойдет, без реальной перезагрузки компьютеров.
3. Перезагрузка службы
Restart-Service, как следует из название, это командлет, который перезапускает службу. Хотя у него и отсутствует возможность подключаться к удаленному серверу, может быть активирован PowerShell Remoting, так что Вы можете выполнять ее локально на удаленном компьютере. Это бывает полезно, когда Вы хотите перезапустить службу на группе компьютеров.
Для локальной перезагрузки службы просто напишите Restart-Service “service”, где “service” – имя той службы, которую вы хотите перезагрузить. С другой стороны, если вы хотите перезагрузить службы на одной или нескольких удаленных машинах, используйте командлет Invoke-Command и PowerShell Remoting.
На скриншоте ниже показаны два примера работы командлеты Restart-Service для перезагрузки службы wuauserv (Windows Update). В первом примере Restart-Service выполняется локально. Во втором, она выполняется на удаленном сервере БД CHI-DB01с помощью командлета Invoke-Command.
По умолчанию Restart-Service не выводит никаких объектов, если вы не используете параметр -passthru. Дополнительная информация (Status, Name и другое) – результат его использования. Если служба запущена на нескольких компьютеров и вы хотите перезапустить их также, перечислите их через запятые.
То же самое можно сделать с использование WMI. Создадим WMI объект:
gwmi – это сокращенно для Get-WmiObject.
Давайте посмотрим на методы объекта. Введем Get-Member (сокращенно gm).
Как вы могли заметить, здесь отсутствует метод для перезапуска службы. А это значит, что сначала придется остановить службы через метод StopService и запустить снова с помощью StartService.
Вот как остановить службу, используя метод StopService объекта. Круглая скобка указывает на наличие метода. Если получили ReturnValue равным 0, значит служба успешно остановлена. В противном случае, обратитесь к документации MSDN для класса службы Win32.
Запускаем службу — метод StartService.
Проверяем: запустим команду get-service на этом компьютере. Get-service позволяет получить информацию о службе на удаленном компьютере. Пример запроса для удаленного компьютера CHI-DB01.
4. Остановка процесса
Еще одной частой задачей является остановка процесса. Используем для этого командлет Stop-Process. Он может быть выполнен как локально, так и на удаленной машине (см. пункт 3).
Существует два способа остановки процесса с помощью командлета Stop-Process.
Первый – простой. Запускаете Stop-Process и передаете ему имя или соответствующий ID процесса. Обратите внимание, что мы останавливаем “Calc” (Калькулятор Windows). В данном примере процесс запущен локально.
Второй способ связан с использованием командлета Get-Process для получения одного или нескольких процессов или передачи их в Stop-Process. Для примера взят процесс Notepad. Kill является сокращением для Stop-Process. Notepad запущен локально.
Двигаемся дальше. Перейдем к процессам, запущенным на удаленной машине. Для начала запустим, например, notepad на удаленном компьютере chi-fp01.
Затем, проверим, запущен ли процесс. Для этих целей используем ps, являющимся сокращением для Get-Process.
5. Создаем отчет об использовании дисков
Мы используем командлет GetWmiObject для возвращения информации из класса Win32_LogicalDisk. Затем мы применяем -filter чтобы возвратить только информацию, для которой справедливо утверждение drivetype=3, которое означает фиксированные логические диски, типа C:. Это значит, что информация относительно о USB и сетевых дисках не будет включена. Полученная информация будет записана в файл Disks.txt.
Пример в PS.
Хотя вроде бы все нормально, лучше внести парочку улучшений. Например, добавить отображение свободного места в гигабайтах, а не байтах. Этим мы и займемся.
Чтобы это сделать создадим функцию Get-DiskUtil. Хотя в предыдущем примере мы все делали интерактивно, в этом случае давайте запишем функцию в файл, загрузим в ваш профиль к другим скриптам, которые можно использовать позже.
А вот и сама функция:
Давайте ее разберем.
Функция берет имя компьютера как параметр и задает его как имя локального компьютера по умолчанию.
Затем мы используем фрагмент скрипта Process, где свойство “имя компьютера” передается в функцию. “$_” указывает, что имя компьютера задается как переменная. В противном случае имя компьютера как будет воспринято как параметр.
Далее следует выражение GetWmiObject.
Вывод этого выражения передается в командлет Select-Object (сокращенно Select). Мы используем хеш-таблицы, чтобы создать пользовательское свойство под названием Computername. Фактически будет осуществлено переименование SystemName текущего объекта ($_) в Computername. DeviceID остается неизменным.
Сделаем еще парочку хеш-таблиц. Первая берет свойство Size и делит его на 1GB, вывод будет с двумя знаками после запятой и переименовывает свойство в SizeGB. Вторая производит то же самое со свойством Freespace.
Затем создаем свойство UsedGB, которого нет в WMI. Вычисляется разница между свойствами Size и FreeSpace и делится на 1GB.
В конце создаем еще одно свойство PerFree – свободно в процентах. Оно завершает функцию.
Ниже приведена работа функции для компьютера CHI-FP01, выведенная в таблице (Format-Table (или ft)) с авто форматированием (параметр –auto).
Все и так хорошо, но от этой функции мы можем получить больше. Поэтому предположим, что вам нужно еженедельно получать отчет об использовании дисков на всех серверах в вашей компании. Посмотрим, как этого можно достичь.
Для начала сохраним результаты нашего выражения в переменную $data, чтобы каждый раз не набирать эту команду. Затем, передадим результаты в объект where, пропингуем сервера (дважды) и передадим имя компьютера в созданную нами функцию Get-DiskUtil.
Данные будут храниться в переменной $data. Вы можете вытащить информацию из $data и отсортировать по computername, применив –auto. Информация также может быть направлена на печать (Out-Printer) или в файл (Out-File).
Конвертируем в csv:
Потом Вы можете импортировать этот csv файл для получения снимка статуса использования дисков на момент запуска команды:
И напоследок: я покажу, как создать HTML отчет, доступ к которому можно получить из любого места.
Берем $data и передаем ее в Sort Computername. Результат передается в командлет ConvertTo-HTML. Вы можете присвоить заголовок и путь CSS. CSS необходим, так как ConverToHTML не обладает возможностями форматирования. Поэтому если вы хотите, чтобы отчет выглядит прилично, понадобится CSS файл. На последнем этапе пишем результат в файл.
Теперь файл готов, его можно посмотреть с помощью команды start.
Пример HTML отчета.
Помните, что информацию необходимо держать информацию актуальной.
Вторую часть перевода смотрите здесь.
License name: NetWrix Disk Space Monitor Freeware License
License count: 1000000
License code: EhEQEhoaEhEQEhYTEhYaExQa