Güç Yönetimi - Erişildiğinde Uyku / Uyanma Sunucusu


9

Ubuntu yüklü başsız bir HP Proliant Microserver'ım var. Bu makine üzerinde medya hizmet veren samba paylaşımları var ve genellikle içine rdp veya ssh. Şimdi benim sorunum, makinenin uyku moduna geçmesini istiyorum (böylece durum ram'dan sabit sürücüye kaydedilir) ve bir saatlik rölantiden sonra kapatılmış gibi görünecektir.

Samba paylaşımına LAN üzerinden erişmek için herhangi bir girişim varsa uyanmasını istiyorum. Şimdi anakartım bu işlevi destekliyor, kimse bunu kolayca yapabilmem için beni doğru yöne yönlendirebilir mi?

Teşekkürler

Yanıtlar:


3

Web'de bulduğum en iyi talimat WOL için XBMC wiki idi . Kısacası (bağlantıda daha fazla bilgi):

  1. Anakartınızda WOL'u etkinleştirmeniz gerekir;
  2. Ethtool yükleyin: sudo apt-get install ethtool;
  3. LAN'da Uyandırma seçeneklerini ayarlayın sudo ethtool -s eth0 wol g:;
  4. Bir başlatma komut dosyası ile sistem başlangıcında etkinleştirin. Wiki bağlantısında bir init betiği var.

Test edilmemiş; wiki bağlantısından bilgi


2

Durumunuzu sabit diskinize kaydetmek ve sunucuyu tamamen kapatmak istediğinizde, uyku modundan başka, aradığınız şey hazırda bekletme modudur.

Pek çok kişinin işaret ettiği gibi, cevapsız WOL (Wake On Lan). Bununla ilgili birçok öğretici var, ancak esas olarak aşağıdakileri ayarlamanız gerekiyor:

  • Yönlendiricinizin sihirli paketi (WOL paketi olarak adlandırılır) sunucunuza atlaması gerekir, bu nedenle bağlantı noktası iletmeyi yapmanız gerekir. Genellikle LAN bölümünde bulunur. Varsayılan bağlantı noktaları 7 ve 9'dur.
  • Kapatıldığında anakartınızın LAN bağlantı noktasını dinlemesi gerekir. Modern MB'lerin çoğu bu özelliği sağlar, ancak varsayılan olarak devre dışıdır. Kontrol et! Benim durumumda buna "Lan on Ring tarafından aç" denir.

Sunucunun, sistemi bir saatlik etkinlik dışı kaldıktan sonra devre dışı bırakmak için uygun güç yönetimi yapılandırmasından daha fazla ayara ihtiyacı yoktur (Sistem> Yönetim> Güç yönetimi'nden yapılabilir).

Açıkçası, WOL paketini gönderdikten sonra bir süre beklemek zorundasınız, çünkü sisteminizin hazırda bekletme modundan çıkması gerekiyor ve bu işlem birkaç dakika sürebilir.

İyi şanslar


2

Ben dd-wrt bağımlı olmayan eriştiğinde medya sunucumu otomatik olarak uyandırmak için bir çözüm istediğime karar verdim.

Bir ahududu pi var, bu yüzden kullandım çünkü düşük güç ve her zaman tutmak sakıncası yok, tabii ki herhangi bir linux makineden çalıştırılabilir.

Kendim için bulduğum son çözüm küçük bir bash senaryosu yazmaktı. Ahududu-pi bağımlılıkları eterwake ve tcpdump'tır. Her ikisi de varsayılan olarak rasbian'a yüklenmez. Ayrıca sunucuda Wake On Lan diğer yayınlarda belirtildiği gibi etkinleştirilmelidir.

sudo apt-get install etherwake
sudo apt-get install tcpdump

Uyanık komut dosyası aşağıdaki gibidir:

nano ~/wol.sh

Sonra:

#!/bin/bash

pingInterval=60 #time interval, in seconds, between checks that the server is still awake.
target=192.168.x.x  #WOL target ip address
targetMAC=00:11:22:33:44:55  #WOL target MAC

wake () {
    tcpdump -i eth0 -c 1 -p host $target
    etherwake $targetMAC
    #echo WOL sent to $target at $targetMAC
return
}

while sleep $pingInterval; do
varPing=`ping -s 1 -c 2 $target > /dev/null; echo $?`
    if [ $varPing -eq 0 ]; then
        #echo ping success
    else
        #echo ping fail
        wake
    fi
done

Birincil fikir, sunucu için tek bir arp isteği fark ederse sunucuyu uyandıracak olan ahududu-pi'den çalıştırılmasıdır. Sunucu uyanık ise o zaman bir arp isteği dinlemeyecek ama her zaman ve sonra hala uyanık olduğundan emin olmak için birkaç ping gönderin.

Wol.sh dosyasını adlandırdım ve çalıştırılabilir yaptım. Sonra kök olarak @reboot başlatmak için sudo crontab içine koyun. Bu, eth0 ve etherwake'i dinlemek için yüksek erişim gerektiren tcpdump içindir.

sudo chmod +x /home/pi/wol.sh
sudo crontab -e

bunu en alta ekle

@reboot sh /home/pi/wol.sh > /dev/null

0

Sunucunuzda belirli protokol trafiğine uyanmak için WoL etkinken, yönlendiricinizde çalışan ve paket kuralları olan ve istek aldığında WoL sihirli paketini gönderebilen bir komut dosyası gibi bir şeye ihtiyacınız olacaktır.

Web sunucusu uyandırma örneği


0

Wake On Lan anahtardır, neredeyse tüm kartlar bugün tüm modları desteklemektedir (ancak linux :().

En kolay çözüm, Wake On Lan modlarını destekleyen çalışan bir Linux sürücüsüne sahip bir karttır: pumbgiçinde ethtool, tek noktaya yayın modu gibi bir şey istersiniz. Böylece bilgisayarınız, ağ adresine eriştiğiniz anda başlar. Ancak Linux tarafından desteklenen kartların bir listesini almak daha da zor, bulduğum bir tanesi Intel Gigabit Netzwerkadapter Pro / 1000 GT PCI.

Çözüm, tüm modları desteklemeyen bir kartınız varsa: Neredeyse tüm linux sürücüsü g mode => magic paketini destekler. Bu nedenle sunucunuzu kullanmadan önce açık bir şekilde açmanız gerekir.

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.