Полностью выключите Ubuntu и включите его удаленно

Полностью выключите Ubuntu и включите его удаленно

Недавно я получил HP Z420 с 8 ядрами и 32 ГБ памяти и настроил его как сервер Ubuntu 18.04. Поскольку он потребляет много энергии, я теперь используюrtcwakeукладывать его спать в 23:00 каждый вечер.

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

Возможна ли такая договоренность?

решение1

Полностью выключите Ubuntu и включите его удаленно

Полностью выключить сервер

Это решение отличается от вопроса, поскольку оно полностью отключает сервер.Он не переводит его в спящий режим/режим ожидания или гибернации.

Для завершения работы Ubuntu 18.04 необходимо выполнить следующие условия:

  • К серверу должен быть sshдоступ с другого (локального) компьютера.

Для выключения сервера с локального компьютера я использую следующую команду:

ssh -t server.address "sudo /sbin/shutdown -h +1"

где server.address — это либо IP-адрес сервера, либо его доменное имя. Опция -hвыключает сервер. Опция +1— задержка в одну минуту.

Пробуждение по сети с Raspberry Pi

Установите etherwakeна Raspberry Pi. Убедитесь, что Pi и сервер Ubuntu соединены кабелями Ethernet.

На сервере Ubuntu узнайте MAC-адрес порта LAN с помощью команды:

ifconfig

Это будет выглядеть примерно так:

ether AA:BB:CC:DD:EE:FF   txqueuelen 1000  (Ethernet)

Используйте следующую команду из Pi:

sudo etherwake -i eth0 AA:BB:CC:DD:EE:FF

где eth0— порт Ethernet Pi, а AA:BB:CC:DD:EE:FF— MAC-адрес порта Ethernet сервера Ubuntu.

Я написал небольшой скрипт, чтобы сэкономить время на вводе текста в Pi:

#!/bin/bash
# wake.sh

if ping -c 1 10.42.0.1 &> /dev/null
then
  echo "Server is ON already!"
else
  echo "Turning Server ON now."
  etherwake -i eth0 AA:BB:CC:DD:EE:FF
fi

где 10.42.0.1 — IP-адрес сервера Ubuntu. Чтобы использовать этот скрипт:

  1. Сохраните скрипт на Pi под именем wake.sh в домашней папке Pi.
  2. Измените IP-адрес и MAC-адрес сервера Ubuntu в сохраненном скрипте.
  3. Сделайте скрипт исполняемым.

Наконец, вызовите скрипт с помощью:

sudo ./wake.sh

Надеюсь это поможет

Связанный контент