Як я можу автоматично перезимувати в хмарних серверах зберігання даних?


13

У мене є хмарні центри зберігання даних під управлінням Ubuntu 16.04 lts та NextCloud / OwnCloud, які не потребують доступу 24/7 та потребують рішень для управління енергією. Сервери Dell PowerEdge 1950 Gen II та Dell PowerEdge 2950 Gen II

Загальна мета

Зимові сервери зберігання хмарного періоду минулого простою, наприклад, 20 хвилин, і такі умови дезабіляції за допомогою системи WOL зменшують 6272,09 кілограмів вуглекислого газу на рік, що становить лише 6680 кВт від нашого центру обробки даних, показники, досягнуті в ході детального енергетичного аудиту.

Неефективне рішення спробували

Пейзаж

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

Powernap

powernap, здається, шлях, але сервіс не запускається на Ubuntu 16.04

XXXXXXX ~ $ статус sudo служби powernap
● powernap.service - PowerNap
   Завантажено: завантажено (/lib/systemd/system/powernap.service; вимкнено; попередньо встановлено постачальник
   Активний: неактивний (мертвий)

Ponwernap, здається, використовує послуги з амортизацією, такі як network.service, які більше не доступні в Ubuntu 16.04

Досяжні цілі

Прокинутися по локальній мережі (WOL)

Увімкнення WOL є простим, дотримуючись ручних налаштувань за цим посиланням . або із застосуванням пороховки

Гібернація сервера

До цих пір мені вдалося лише перезимувати сервери за допомогою sudo systemctl hibernateтаsudo systemctl hibernate-sleep

  1. powernap - я подаю звіти про помилки, щоб усунути виснажені залежності
  2. systemctl - десь може призвести
  3. pm-утиліти - теж можуть десь привести

Оновлення обладнання

Я модернізував процесори подвійного Xeon E5335 Dell 1950 Gen II до процесорів Xeon X5365. X5365 дозволяє керувати живленням та встановлювати управління живленням від BIOS. Чесно кажучи, я не був за таке оновлення, оскільки X5365 споживає 70 Вт на процесор більше, ніж E5335, але робив таке на користь тестування на сплячку.

Оновлення 1

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

Будь-які рекомендації, будь ласка.


1
Ласкаво просимо до Ask Ubuntu. Будь ласка, яке ваше запитання? Будь ласка, будьте більш конкретними .
MadMike

Зимові сплячі хмарні сервери минули неробочий час, і вони перестали перезимувати з WOL. Додаткова деталь - навести приклад робочого сценарію.
Фаб

1
Я не міг зрозуміти, що є вашими каменем спотикання. Що ви спробували, що не працює та / або що конкретно вам потрібно допомогти зрозуміти?
Zanna

3
Хіба сплячка непрактична? Залежно від розміру оперативної пам’яті та швидкості читання / запису диска, сплячка та відновлення може зайняти до декількох хвилин. Як обробляються запити за цей час? Чи захочуть ваші користувачі так довго чекати? Просто призупинення може бути кращим компромісом для економії енергії, зберігаючи при цьому рухливіші. І, можливо, віртуалізація ваших серверів та розміщення їх на одній потужній машині або кластері, що дозволяє призупиняти / відновити деталі, балансуючи навантаження на інших, також може допомогти заощадити енергію. Зауважте, що я не маю досвіду роботи з широкомасштабними серверними системами, просто здогадуюсь.
Байт командир

1
Я погоджуюся з командиром Byte. Для отримання інформації від людей, які мають фактичний досвід роботи з центром обробки даних, вам, ймовірно, слід звернутися за помилкою сервера .
Девід Фоерстер,

Відповіді:


0

Я зібрав невеликий сценарій, який ви можете запускати на кроні кожні 15 хвилин або використовуючи системні таймери:

#/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, але ви можете спробувати зупинити їх граціозно перед командою сплячого режиму, щоб ніхто раптом не втратив зв’язок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.