
Недавно я получил 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. Чтобы использовать этот скрипт:
- Сохраните скрипт на Pi под именем wake.sh в домашней папке Pi.
- Измените IP-адрес и MAC-адрес сервера Ubuntu в сохраненном скрипте.
- Сделайте скрипт исполняемым.
Наконец, вызовите скрипт с помощью:
sudo ./wake.sh
Надеюсь это поможет