Bulut depolama sunucularını otomatik olarak nasıl hazırda bekletebilirim?


13

Ubuntu 16.04 lt ve NextCloud / OwnCloud'u çalıştıran ve 7/24 kullanıma gerek olmayan ve güç yönetimi çözümlerine ihtiyaç duyan bulut depolama veri merkezlerim var. Sunucular Dell PowerEdge 1950 Gen II ve Dell PowerEdge 2950 Gen II'dir

Genel Amaç

Hazırda bekletme bulut depolama sunucuları, örneğin 20 dakika boyunca boşta geçen bir süreyi geçti ve yılda 6272,09 kilo karbondioksitin sadece veri merkezimizden 6680kw olmasını azaltmak için WOL ile hazırda bekletme moduna alındı, ayrıntılı enerji denetimi boyunca metrikler elde edildi.

Etkisiz çözüm denendi

peyzaj

Binadaki / cron işlerindeki manzara sadece planlı başlatma ve kapatma işlemleri sunar, böylece elde edilebilirlerimiz için etkisizdir.

PowerNap

powernap gitmek için bir yol gibi görünüyor ama hizmet Ubuntu 16.04 üzerinde başlamıyor

XXXXXXX ~ $ sudo hizmeti güç durumu
● powernap.service - PowerNap
   Yüklendi: yüklendi (/lib/systemd/system/powernap.service; devre dışı; tedarikçi ön ayarı
   Aktif: aktif değil (ölü)

ponwernap artık Ubuntu 16.04'te bulunmayan network.service gibi amortismana tabi hizmetleri kullanıyor gibi görünüyor

Ulaşılabilir hedefler

LAN'da Uyandırma (WOL)

WOL'un etkinleştirilmesi, bu bağlantıdaki manuel kurulumu izleyerek kolaydır . ya da güçlendirme ile

Sunucu Hazırda Bekletme

Şimdiye kadar, yalnızca sunucuları sudo systemctl hibernatevesudo systemctl hibernate-sleep

  1. powernap - Tükenmiş bağımlılıkları kaldırmak için hata raporları veriyorum
  2. systemctl - bir yere götürebilir
  3. pm-utils - bir yere de götürebilir

Donanım Yükseltmeleri

Dell 1950 Gen II çift Xeon E5335'in işlemcilerini Xeon X5365 işlemcilerle yükselttim. X5365, güç yönetimini etkinleştirir ve BIOS'tan güç yönetimini ayarlar. Dürüst olmak gerekirse, X5365 işlemci başına E5335'ten daha fazla 70 watt tükettiği için böyle bir yükseltmeyi desteklemiyordum, ancak hazırda bekletme testi lehine yaptım.

Güncelleme 1

Şu anda nic pm-utilsayarından ayrı gitmek için tek yoldur wol. Şu anda boşta kalma süresi için ac ayarları için bir güç kancası oluşturmak için en uygun yapılandırmayı araştırıyorum.

Herhangi bir öneri lütfen.


1
Ask Ubuntu'ya hoş geldiniz. Lütfen, sorunuz nedir? Lütfen daha spesifik olun .
MadMike

Bulut sunucularını boşta geçen bir süre boyunca hazırda bekletme modunu hazırlayın ve WOL ile hazırda bekletme modunu kaldırın. Ek ayrıntı, çalışan bir senaryo örneği vermektir.
Fab

1
Tökezleyen blok (lar) ınızın ne olduğunu tam olarak kavrayamadım. Neyin çalışmadığını denediniz ve / veya özellikle anlamak için neye ihtiyacınız var?
Zanna

3
Hazırda bekletme pratik değil mi? RAM boyutunuza ve disk okuma / yazma hızınıza bağlı olarak, hazırda bekletme ve yeniden başlatma birkaç dakika sürebilir. Bu süre zarfında talepler nasıl ele alınır? Kullanıcılarınız bu kadar beklemek isteyecek mi? Sadece askıya almak, daha çevik kalırken güç tasarrufu yapmak için daha iyi bir uzlaşma olabilir. Ve belki de sunucularınızı sanallaştırmak ve onları güçlü bir makinede veya başkaları üzerindeki yükü dengelemek için parçaları askıya almanıza / devam ettirmenize izin veren bir kümede barındırmak da güç tasarrufuna yardımcı olabilir. Büyük ölçekli sunucu sistemleri ile hiçbir deneyimim yok, sadece tahmin unutmayın.
Byte Commander

1
Bayt Komutanı ile hemfikirim. Veri merkezi işletiminde gerçek deneyime sahip kişilerden gelen girişler için muhtemelen Sunucu Hatası'nı sormalısınız .
David Foerster

Yanıtlar:


0

15 dakikada bir cronjob ile veya systemd zamanlayıcılarını kullanarak çalıştırabileceğiniz küçük bir senaryoyu bir araya getirdim:

#/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

İlk olarak sisteme giriş yapan kullanıcı sayısını ve son 15 dakikadaki ortalama yükü alır. Kullanarak ortalama sistem yükünüzü bulabilmeniz gerekir cat /proc/loadavg. Üçüncü kayan nokta sayıları son 15 dakikadaki ortalamayı verir. Bu değer, değişkende ayarlanmış bir eşik tanımlamak için yararlıdır AvgLoadThresh. Bunun kesinlikle ayarlanması gerekecek. Tanımlayabileceğiniz diğer bir şey, ne kadar kullanıcının oturum açmasına izin verildiğidir ve sistem yine de hazırda bekletme moduna geçer. Bu ayarlanmıştır ActiveUsersThresh. Sadece bakım veya başka bir şey yaparken sistemin her zaman hazırda bekletilmediğinden emin olmak için.

Sanırım biri daha akıllı kontrollerle gelebilir, bu yüzden bunu ilk basit fikirli bir yaklaşım olarak görün. Örneğin, kendi bulut kurulumunuzda hangi veritabanının veya web sunucusunun kullanıldığını bilmiyorum, ancak hazırda beklet komutundan önce bunları zarif bir şekilde durdurmayı deneyebilirsiniz, böylece kimse aniden bağlantıyı kesmez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.