Перезагрузка виртуальной машины через командную строку
Перезагрузка виртуальной машины через командную строку
В ОС widows есть очень полезная утилита «shutdown» применяемая для перезагрузки, выключения или перевода в режим гибернации компьютера из командной строки «cmd». Вообщем про нее и пойдет дальше речь.
Запускаем командную строку. Нажимаем WIN+R, в открывшемся окне ввожим «cmd» и нажимаем «ok».
Перезагрузка компьютера под управлением windows из командной строки cmd
Для перезагрузки компьютера введем команду «shutdown» с ключем «/r».
Данная команда произведет перезагрузку компьютера через минуту, выведя об этом предупреждение на экран. Если вы хотите немедленно выключить компьютер то придется еще добавить ключ «/t 0».
Таким образом, можно не только ускорить перезагрузку компьютера, но и отложить перезагрузку, например на 1 час (3600).
Если вы по какимто причинам передумали перезагружать компьютер, то отменить запланированную задачу можно используя ключ «/a».
Выключение компьютера под управлением windows из командной строки cmd
Для выключения компьютера нужно заменить ключ «/r» на «/s».
Немедленное выключение windows.
Выключение windows по расписанию. Например отсрочка выключения на 2 часа (7200).
Перевод компьютера под управлением windows из командной строки cmd в режим гибернации
Если вы хотите перевести компьютер в режим гибернации, то нужно воспользоваться ключем «/h».
На этом все. Комментируем, подписываемся ну и всем пока:)
1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>
Перезагрузка в командной строке виртуальной машины Proxmox VE.
Хотелось бы создать решение, которое не было бы привязано к текущему расположению виртуальных машин на физических серверах в кластере виртуализации. Мы с коллегами активно используем Живую Миграцию, и сегодня VM1 работает на node2, а завтра её отправят в режиме онлайн на node3.
Данное требование сразу поставило крест на использовании низкоуровневой команды qm, которая требует отдачи ей приказа на той ноде кластера, где в данный момент трудится нужная виртуальная машина. Уже показывал мощь PveSh в примерах, так как он использует API Proxmox VE и позволяет реализовать задуманное.
Прежде чем начать перезагружать сервера, стоит напомнить, что для MS Windows Server неспроста даны ценные советы по их подготовке к работе в виртуализированной среде. При попытке их выключить через веб интерфейс или в консоли, у вас будет выведен запрос, и такое поведение нужно изменить.
К сожалению, нажимая виртуальную кнопку питания, вы выключаете виртуальный сервер, а не перезагружаете. То есть у нас не будет restart в том смысле, что будет shutdown + start. Для работы скрипта требуется лишь наличие jq, которая есть в стандартных репозиториях Debian и Ubuntu, и она облегчает работу с JSON ответами. Работа скрипта не сложна. Вначале получаем по данному нам VMID имя ноды, на которой трудится в данный момент эта виртуальная машина. Делаем shutdown. Далее в вечном цикле опрашиваем статус и, когда он становится stopped, то смело прерываем цикл while, и выходим на финишную прямую, запуская виртуальную машину.
Команда Shutdown: выключение и перезагрузка Windows из командной строки
Команда shutdown имеет следующий синтаксис:
shutdown [/i | /l | /s | /sg | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\компьютер][/t xxx][/d [p|u]xx:yy [/c «комментарий»]]
Как вы видите, у команды довольно много опций, а также есть возможность выполнять операции выключения/перезагрузки на удаленном компьютере.
Выключение Windows командой Shutdown
Для выключения ОС Windows и компьютера необходимо использовать команду shutdown с ключом /s.
Перезагрузка Windows
Чтобы перезагрузить компьютер, необходимо добавить параметр /r. После выполнения этой команды Windows корректно перезагрузится.
Завершение сеанса пользователя
Чтобы завершить текущую сессию пользователя (logout), нужно выполнить команду:
Эта команда аналогично выполнению команды logoff.
Перевод компьютера в режим гибернации
Для перевода компьютер в режим гибернации (в этом режиме все содержимое памяти записывается в файл hyberfil.sys на диск и компьютер переходит в спящий режим с пониженным электропотреблением), выполните команду:
Перезагрузка компьютера с сообщением пользователям
Вы можете предупредить всех пользователей Windows о предстоящем выключении / перезагрузки компьютера или сервера, отправив сообщение во все активные сессии (как правило эта возможность используется на терминальных RDS серверах, за которыми одновременно работают несколько пользователей, каждый в своей собственной RDP сессии).
shutdown /r /c “Этот сервер будет перезагружен через 60 секунд.”
Отложенное выключение / перезагрузка компьютера
Можно выключить или перезагрузить компьютер с определенной задержкой (по таймеру). С помощью опции /t можно указать интервал времени (в секундах), через который ПК/сервер будет перезагружен или выключен. Тем самым вы можете предоставить пользователям дополнительное время для того, чтобы успеть сохранить открытые файлы и корректно закрыть приложения. Эту опцию удобно использовать совместно с отправкой сообщения. В этом примере мы указываем, что Windows будет выключена через 10 минут (600 секунд) и информируем пользователей сообщением.
shutdown /s /t 600 /c «Сервер будет выключен через 10 минут. Сохраните свои документы!»
Пользователю будет выдано предупреждение о запланированном выключении: Ваш сеанс будет завершен.
Если задержка очень длительная, например, 100 минут (6000 секунд), то вместо предупреждающего окна появляется всплывающее сообщение в нижнем правом углу экрана: «Ваш сеанс будет завершен. Работа Windows будет завершена через 100 мин».
Отмена выключения / перезагрузки компьютера
После запуска команды выключения или перезагрузки Windows, по умолчанию утилита shutdown ожидает 60 секунд, не выполняя никаких действия. Администратора может отменить перезагрузку или выключение устройства, если в течении этого времени успеет выполнить команду:
После отмены выключения появится всплывающее сообщение в нижнем правом углу экрана: «Выход из системы отменен. Запланировано завершение работы отменено».
Перезагрузить компьютер немедленно
Чтобы выключить или перезагрузить компьютер немедленно, не ожидая стандартные 60 секунд, нужно указать значение 0 для параметра /t. Например, для немедленной перезагрузки компьютера:
Очень важный ключ /f. Я использую его практически всегда при выключении или перезагрузки серверов Windows. Данный атрибут обеспечивает принудительное завершение всех запущенных программ и процессов, не ожидая подтверждения от пользователя (не будем же мы ждать подтверждения закрытия программ от всех пользователей на терминальном сервере, его можно просто не дождаться).
Следующая команда выполнит перезагрузку компьютера с автоматическим запуском всех зарегистрированных приложений после перезагрузки (имеются в виду приложения, зарегистрированные в системе с использованием функции API RegisterApplicationRestart).
Запуск команды shutdown на удаленных компьютерах
Вы можете перезагрузить удаленный компьютер по сети, для этого у вас должен быть к нему сетевой доступ, а учетная запись, из-под которой запускается команда shutdown должна входить в группу локальных администраторов на удаленном компьютере (сервере):
shutdown /r /t 120 /m \\192.168.1.100
Если все указанные условия выполняются, но при выполнении команды shutdown появляется ошибка ”Отказано в доступе (5)”, на удаленном компьютере нужно разрешить удаленный доступ к административным ресурсам (C$, ADMIN$), изменив значение параметра LocalAccountTokenFilterPolicy на 1.
reg add «HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System» /v «LocalAccountTokenFilterPolicy» /t REG_DWORD /d 1 /f
Если вам необходимо удаленно перезагрузить множество компьютеров, их список можно сохранить в текстовый файл и запустить удаленную перезагрузку всех компьютеров с помощью такого PowerShell скрипта:
Графический интерфейс команды shutdown
Для тех, кому не комфортно работать в командной строке, есть графический интерфейс для команды shutdown, чтобы его вызвать, наберите:
Как вы видите, в диалоге удаленного завершения работы вы можете добавить несколько компьютеров, которые нужно перезагрузить/выключить, указать текст уведомления и задать причину выключения для сохранения в журнале Windows.
Ярлык для перезагрузки компьютера
Для удобства пользователей вы можете создать на рабочем столе ярлыки для выключения или перезагрузки компьютера с нужными настройками. Такой ярлык может быть полезен для выполнения перезагрузки из RDP сессии, когда отсутствуют кнопки перезагрузки/завершения работы компьютера в меню Пуск.
Если вы хотите, чтобы ваш компьютер или сервер всегда выключался / перезагружался в определенное время, вы можете добавить команду shutdown с определенными параметрами в планировщик заданий Windows taskschd.msc.
Например, следующее задание планировщика будет ежедневно перезагружать компьютер ночью в 0:00.
VMWare ESXi: Перезапуск зависшей виртуальной машины
Иногда сталкиваюсь с тем, что определенная виртуальная машина на хосте VMWare ESXi зависает и ее нельзя никаким средствами выключить или перезагрузить из веб-интерфейса клиента vSphere. Перезагружать целиком ESXi сервер из-за одной виртуальной машины – не совсем целесообразно (особенно, если у вас всего один ESXi хост, или оставшиеся сервера в DRS кластере не потянут дополнительной нагрузки в виде виртуальных машин с перезагружаемого сервера). Рассмотрим основные способы принудительной остановки зависшей виртуальной машины в VMWare ESXi.
Если процесс виртуальной машины на сервере ESXi завис, она перестает реагировать на команды Reset / Power Off, и на любое действие выдает одну из ошибок:
В таких случаях вы можете вручную остановить процесс виртуальной машины на хосте ESXi из командной строки ESXi Shell или PowerCLI.
Теперь вы можете подключиться к этому ESXi хосту через SSH с помощью клиента putty.
Выведем список ВМ, запушенных на хосте ESXi:
esxcli vm process list
Скопируйте идентификатор нужной виртуальной машины (World ID).
Чтобы завершить процесс зависшей виртуальной машинына хосте ESXi используется следующая команда:
Как вы видите, есть три типа завершения процесса ВМ:
Попробуем мягко остановить ВМ с указанным ID:
ВМ должна выключиться.
Вы можете остановить зависшую виртуальную машину с помощью PowerCLI (это удобно, т.к. при подключении к vCenter вам не нужно искать хост, на котором запушена ВМ и включать SSH доступ). Проверим, что ВМ запушена:
get-vm “web2″ | select name,PowerStates
Принудительно остановите процесс ВМ командой:
Также вы можете остановить зависшую виртуальную машину с помощью утилиты ESXTOP.
В SSH сесиии введите команду esxtop, затем нажмите “c” для отображения ресурсов CPU и shift + V, чтобы отображать только процессы вириальных машин
Затем нажмите “f” (выбрать отображаемы поля), “c” (отобразить поле LWID- Leader World Id) и нажмите Enter.
В столбце Name найдите виртуальную машину, которую нужно остановить, и определите номер ее LWID по соответствующему столбцу.
Затем осталось нажать кнопку «k» (kill) и набрать LWID идентфикатор той виртуальной машины, которую нужно принудительно выключить.
Последний способ жёсткого выключения виртуальной машины – воспользоваться утилитой kill. Такой способ позволит остановить не только ВМ, но и все дочерние процессы.
Получим ID родительского процесса ВМ:
После такого “hard reset”, установленная ОС запустится в режиме восстановления. В случае гостевой Windows, скрин будет выглядеть так.
Удаленное включение или перезагрузка зависшего компьютера
Я использую программу удаленного рабочего стола (обычно Microsoft Remote Desktop) для ежедневного подключения к машине с Windows. Удаленный компьютер имеет фиксированный IP-адрес, и, если компьютер включен и реагирует, я могу получить к нему доступ и даже при необходимости перезагрузить компьютер удаленно.
К сожалению, если удаленный компьютер зависает (например, если он получает синий экран), насколько я знаю, я не могу использовать решение удаленного рабочего стола для его перезагрузки. Точно так же, если мой компьютер выключен, я не могу использовать удаленный рабочий стол для его загрузки.
Это возможно? Если да, то какие у меня варианты?
15 ответов 15
Серверные компьютеры большинства крупных производителей предоставляют такие возможности управления на протяжении многих лет. Сторожевые таймеры в BIOS, перенаправление консоли Telnet на основе COM, COM на основе IP, удаленный KVM и т.д.
Для настольного компьютера у вас есть несколько вариантов:
1) Замените свою систему той, которая имеет эти типы функций управления (внешнее управление).
Intel также предлагает свои AMT (Advanced Management Technologies) для настольных ПК, которые при соблюдении определенного требования обозначаются как vPro. (В основном vPro-совместимая плата и процессор).
AMD имеет DASH ; с аналогичными требованиями я уверен. Я никогда не использовал это, и не видел никакой сторонней поддержки для этого.
Я предпочитаю Intel AMT лично. Все версии (которые являются «vPro») допускают выключение, включение питания, сброс (жесткий), а также текстовый BIOS и представление загрузки. Новейшие версии включают основанный на VNC «KVM», который позволяет вам взаимодействовать с процессом загрузки, а также с ОС, поэтому его можно использовать для диагностики проблем загрузки (BIOS, POST, Bluescreens и т.д.), А также конечного пользователя. и поддержка ОС.
2) Получить дистанционно управляемый удлинитель:
Как уже говорилось, есть продукты DLI (Digital Loggers Inc.):
Я посмотрел на это, и это было слишком дорого для мелкого использования. Возможно, цена снизилась, хотя. Это было полнофункциональным, но я никогда не использовал его.
Другим вариантом является недавний продукт iRemoteReset компании Technology On Demand :
Он предназначен главным образом для автоматической перезагрузки комбинации маршрутизатор / модем (мы используем их в основном для этого), но у него не должно быть проблем при работе с настольным компьютером в качестве нагрузки. Вы можете подключиться к нему по HTTP и сбросить сокеты вручную (индивидуально), а также выполнить автоматический сброс настроек из-за отсутствия подключения к Интернету, расписаний и тому подобного.
На машинах, которые зависят от удаленного доступа для настройки / поддержки, эта функция должна быть включена. Затем вы можете проверить eventvwr.msc или использовать утилиту, например BlueScreenView от NirSoft, чтобы позже определить код STOP и выяснить причину его сбоя.
Я не нашел способа перезагрузить компьютер, который зависал, кроме удаленного устройства выключателя питания. Я использую этот ip-p3, и он поддерживает перезагрузку через локальную сеть или телефон. Хотя это 200 долларов.
Если вам нужно что-то более простое, вы можете проверить это. Это всего лишь 100 долларов, но функции IP-P3 намного лучше.
Другим вариантом может быть использование виртуальной машины. Перемещение вашего сервера на виртуальную машину может занять некоторое время, но в любом случае это бесплатно. (VMWare очень хорош для этого и бесплатен.)
После того, как вам удастся перенести сервер, вы можете установить сервер удаленного рабочего стола на виртуальную машину и текстовый (ssh-подобный) сервер на реальную машину. Я действительно не знаю, что у VMWare есть поддержка консольных команд, но я уверен, что они есть. Таким образом, вы будете использовать то же программное обеспечение для настольных компьютеров и будете подключаться непосредственно к виртуальным машинам, ваши привычки использования не изменятся, и в случае сбоя системы вы можете легко перезапустить, перезагрузить или даже переустановить Windows на машине.
Он также обеспечивает защиту, так как виртуальные серверы не могут получить доступ к указанным выше данным, если вы явно не даете разрешения.
Но также, если машина Windows используется на регулярной основе на локальном (без удаленного) с использованием виртуальной машины, это может быть неприятно.
——редактировать—-
Еще один бюджетный вариант, который также решает сбои оборудования. Вы можете купить подержанный дешевый телефон с вибромотором. Разберите телефон и снимите вибрационный двигатель, выбросьте его, откройте материнскую плату, соедините контакты сброса с оставшимися вибрационными контактами на телефоне с помощью релейного контакта. (требует пайки)
Поэтому, когда вы звоните по телефону, он будет пытаться вибрировать и в конечном итоге активировать реле, что приведет к полной перезагрузке компьютера.
Существует вероятность того, что вы можете полностью сломать сотовый телефон, пытаясь при этом разложить и припаять его, но при правильном использовании реле практически невозможно повредить материнскую плату.
Другой вариант, хотя и не совсем то, что вы просите, это «сторожевой таймер». Это надстройка аппаратного обеспечения, которая перезагружает систему, если таймер не сбрасывается в течение заданного интервала времени. (Сброс выполняется из цикла в программном модуле, который постоянно проверяет работоспособность системы.)
Несколько лет назад, когда я проверил, было несколько разных типов, хотя я не проверял в последнее время.
В случае подключения к удаленному рабочему столу Windows (RDC), которое вы, похоже, используете, предполагая, что это не «синий экран смерти», а просто зависшая программа, вызывающая зависание RDC, как это обычно бывает, я настоятельно рекомендую PsTools. PsTools является бесплатным в Windows Sysinternals, месте инструментов разработчика Марка Руссиновича для Windows. Это похоже на использование telnet в Linux, который вы также можете использовать для этого в Windows, установив / включив клиент telnet локально и удаленно. Приятной особенностью PsTools является то, что он не требует удаленной установки программного обеспечения.
После загрузки PsTools и разархивирования исполняемых файлов в папку откройте командную строку Windows и перейдите к этой папке. Используя PsExec из командной строки, выполните следующую команду, используя параметры, которые обычно используются для подключения к удаленному рабочему столу (если вы используете VPN, сначала необходимо войти в систему, чтобы использовать синтаксис внутренней сети, показанный здесь, в противном случае замените \\remotecomputername на IP-адрес удаленного компьютера Windows):
Это позволит вам войти на удаленный компьютер с Windows в командной строке. Затем вы можете выполнить следующую команду, как если бы вы сидели за компьютером:
Если это правильно замороженная ситуация с «голубым экраном смерти», я бы использовал сетевой выключатель переменного тока, питание по локальной сети или автоматический перезапуск при выключении в настройках BIOS на удаленном компьютере и сетевой RaspberryPi2 в промышленной сети. металлический корпус установлен рядом с выключателем питания. Таким образом, должно быть тривиально выдавать команды RasPi2 через telnet для управления физическим питанием удаленного компьютера за
150 долларов. Очевидно, что вы можете сделать много других интересных вещей, установив RasPi2 локально, например, выдать команду выключения на удаленный компьютер по выходным или ночью, или если в течение часа не было никаких действий в комнате, используя индикатор датчик, датчик диапазона или RasPiCam.
Оригинальная короткая версия этого решения размещена здесь.