Manajemen Daya - Server Tidur / Bangun saat diakses


9

Saya memiliki HP Proliant Microserver tanpa kepala dengan ubuntu terinstal. Mesin ini memiliki saham samba di atasnya melayani media dan saya biasanya rdp atau ssh ke dalamnya. Sekarang masalah saya adalah saya ingin mesin untuk masuk ke mode tidur (jadi negara diselamatkan dari ram ke harddisk) dan sepertinya akan dimatikan setelah satu jam pemalasan.

Jika ada upaya untuk mengakses saham samba melalui LAN, saya ingin itu untuk bangun. Sekarang motherboard saya mendukung fungsi ini, adakah yang bisa mengarahkan saya ke arah yang benar untuk mencapai ini dengan mudah?

Terima kasih

Jawaban:


3

Instruksi terbaik yang saya temukan di web adalah wiki XBMC untuk WOL . Singkatnya (info lebih lanjut di tautan):

  1. Anda harus mengaktifkan WOL pada motherboard Anda;
  2. Instal ethtool: sudo apt-get install ethtool;
  3. Set Wake-on-LAN pilihan: sudo ethtool -s eth0 wol g;
  4. Aktifkannya saat sistem dinyalakan dengan skrip init. Ada skrip init di tautan wiki.

Belum dicoba; info dari tautan wiki


2

Lebih jauh dari mode sleep, yang Anda cari adalah hibernate, karena Anda ingin menyimpan status Anda di harddisk Anda dan mematikan sepenuhnya server.

Jadi, seperti yang telah ditunjukkan banyak orang, jawaban adalah WOL (Wake On Lan). Ada banyak tutorial tentang hal itu, tetapi terutama Anda perlu mengatur yang berikut:

  • Router Anda harus mem-bypass paket ajaib (seperti paket WOL dipanggil) ke server Anda, jadi Anda perlu melakukan port forwarding. Ini biasanya terletak di bagian LAN. Port default adalah 7 dan 9.
  • Motherboard Anda perlu mendengarkan pada port LAN saat dimatikan. Sebagian besar MB modern menyediakan fitur ini, tetapi dinonaktifkan secara default. Periksa! Dalam kasus saya, ini disebut "Power on by Ring on Lan".

Server tidak memerlukan pengaturan lebih dari konfigurasi manajemen daya yang sesuai untuk mematikan sistem setelah satu jam tidak aktif (bisa dilakukan dari Sistem> Administrasi> Manajemen daya).

Jelas, Anda harus menunggu beberapa saat setelah Anda mengirim paket WOL, karena sistem Anda perlu melakukan de-hibernasi dan itu bisa memakan waktu beberapa.

Semoga berhasil


2

Saya memutuskan ingin solusi untuk membangunkan server media saya secara otomatis ketika diakses yang tidak bergantung pada dd-wrt.

Saya punya pi raspberry, jadi saya menggunakannya karena dayanya rendah dan saya tidak keberatan menyimpannya setiap saat, tentu saja bisa dijalankan dari mesin linux mana pun.

Solusi terakhir yang saya temukan untuk diri saya adalah menulis skrip bash kecil. Ketergantungan raspberry-pi adalah etherwake dan tcpdump. Keduanya tidak diinstal secara default pada rasbian. Juga di server Wake On Lan perlu diaktifkan seperti yang disebutkan dalam posting lain.

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

Script bangun adalah sebagai berikut:

nano ~/wol.sh

Kemudian:

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

Ide utamanya adalah dijalankan dari raspberry-pi saya yang akan membangunkan server jika pemberitahuan permintaan arp tunggal untuk server. Jika server terjaga maka ia tidak akan mendengarkan permintaan arp tetapi mengirim beberapa ping setiap sekarang dan kemudian untuk memastikan itu masih terjaga.

Saya memberi nama file wol.sh dan membuatnya dapat dieksekusi. Kemudian letakkan di sudo crontab untuk meluncurkan @reboot sebagai root. Ini untuk tcpdump yang membutuhkan akses tinggi untuk mendengarkan eth0 dan etherwake.

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

tambahkan ini ke bawah

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

0

Dengan WoL diaktifkan di server Anda untuk membangunkannya untuk lalu lintas protokol tertentu, Anda akan memerlukan sesuatu seperti skrip yang berjalan pada router Anda yang memiliki aturan paket dan dapat mengirim paket ajaib WoL ketika menerima permintaan.

Contoh bangun server web


0

Wake On Lan adalah kuncinya, hampir semua kartu saat ini mendukung semua mode (tetapi tidak di linux :().

Solusi termudah adalah kartu yang memiliki driver Linux yang berfungsi yang mendukung mode Wake On Lan: pumbgdi ethtool, Anda menginginkan sesuatu seperti mode unicast. Jadi komputer Anda dimulai segera setelah Anda mengakses alamat jaringannya. Tetapi bahkan lebih sulit untuk mendapatkan daftar kartu yang didukung oleh Linux, yang saya temukan adalah Intel Gigabit Netzwerkadapter Pro / 1000 GT PCI.

Solusinya adalah, jika Anda memiliki kartu yang tidak mendukung semua mode: Hampir semua driver linux mendukung paket g mode => magic. Jadi, Anda harus mengaktifkan server Anda secara eksplisit sebelum menggunakannya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.