Как я могу автоматически быть в спящем режиме серверы облачного хранилища?

У меня есть дата-центры облачного хранилища под управлением Ubuntu 16.04 lts и NextCloud/OwnCloud, которые не имеют никакой потребности быть доступным 24/7 и нуждаться в решениях для управления питанием. Серверы являются Генералом Dell PowerEdge 1950 II и Генералом Dell PowerEdge 2950 II

Главная цель

Будьте в спящем режиме серверы облачного хранилища мимо времени простоя, например, 20 минут и имейте такой de-hibernated с WOL для сокращения 6 272,09 килограммов углекислого газа, в год являющегося 6680 кВт от одного только нашего дата-центра, метрики, достигнутые в течение подробного энергетического аудита.

Неэффективное решение попробовали

Среда

Среда на заданиях помещения/крона только предлагает запланированный запуск и завершения работы, таким образом, неэффективные для нашего достижимого.

Powernap

powernap кажется способом пойти, но сервис не запускается на Ubuntu 16.04

XXXXXXX~$ sudo service powernap status
● powernap.service - PowerNap
   Loaded: loaded (/lib/systemd/system/powernap.service; disabled; vendor preset
   Active: inactive (dead)

ponwernap, кажется, использует обесцениваемые сервисы, такие как network.service, которые больше не доступны в Ubuntu 16.04

Достижимые цели

След на LAN (WOL)

Включение WOL просто следующим ручная установка на этой ссылке. или с использованием powewake

Спящий режим сервера

До сих пор мне только удалось быть в спящем режиме использование серверов sudo systemctl hibernate и sudo systemctl hibernate-sleep

  1. powernap - Я регистрирую отчеты об ошибках для удаления истощенных зависимостей
  2. systemctl - мог привести к куда-нибудь
  3. пополудни-utils - мог привести к куда-нибудь также

Модернизация оборудования

Я обновил центральные процессоры Генерала Dell 1950 II двойных Xeon E5335 с Xeon X5365 CPUs. X5365 включают управление питанием и устанавливают управление питанием от BIOS. Всего честный, я не выступил за такое обновление, как X5365 используют 70 ватт за CPU больше, чем E5335, но сделали такой в пользу тестирования спящего режима.

Обновление 1

В данный момент pm-utils единственный путь состоит в том, чтобы пойти кроме установки wol на nic. В настоящее время я исследую оптимальную конфигурацию для создания рычага питания для ac настроек в течение времени простоя.

Любые рекомендации.

13
задан 3 March 2017 в 23:21

1 ответ

Я соединил немного скрипта, который Вы могли запускать в cronjob каждые 15 минут или использующий systemd таймеры:

#/bin/bash

NActiveUsers=$(who -q | awk -F'#' '{printf $2}' | awk -F'=' '{printf $2}')
AvgLoad15Min=$(cat /proc/loadavg | awk -F' ' '{print $3}')

ActiveUsersThresh=2
AvgLoadThresh=0.15

if [ "$NActiveUsers" -lt "$ActiveUsersThresh" ]
then
    LoadBelowThresh=$(echo $AvgLoad15Min'<'$AvgLoadThresh | bc -l)
    if [ "$LoadBelowThresh" -eq 1 ]
    then
        systemctl hibernate
    fi
fi

Это сначала получает число пользователей, в которых входят система и средняя загрузка в течение прошлых 15 минут. Необходимо смочь узнать неактивную среднюю системную нагрузку с помощью cat /proc/loadavg. Третьи числа с плавающей точкой дают среднее число за прошлые 15 минут. Это значение полезно для определения порогового набора в переменной AvgLoadThresh. Этому, конечно, будет нужна настройка. Другая вещь, которую можно определить, состоит в том, насколько пользователям разрешают быть зарегистрированными, и система идет для спящего режима во всяком случае. Это установлено в ActiveUsersThresh. Только для проверки система не всегда в спящем режиме при выполнении обслуживания или чего-то.

я предполагаю, что можно было придумать более интеллектуальные проверки, поэтому посмотрите его как первый бесхитростный подход. Например, я не знаю, какая база данных или веб-сервер используются в Вашей owncloud установке, но Вы могли попытаться остановить их корректно перед быть в спящем режиме командой, таким образом, никто внезапно не освободит соединение.

0
ответ дан 23 November 2019 в 03:26

Другие вопросы по тегам:

Похожие вопросы: