Sunday, May 16, 2010

CentOS 5.4 Memo

■Machine: Thinkpad G40 P4 CentOS 5.4
■Wake Up On Lan 設定メモ:
/etc/sysconfig/network-scripts/ifcfg-eth0に下記を追加し,再起動
ETHTOOL_OPTS="wol g"
とりあえずLAN内でWake up on LAN toolを使用して動作テスト完了.

次に,ルータでサーバをDMZに設定し,ルータの方でWOLポート解放して,DMZのブロードキャストアドレスにMagic Packetを転送するように設定(ポートマッピング,UDP通信)

インターネットのどこかのサーバから設定したWOLポートとサーバIP,そしてサーバのMACアドレスの3つのパラメタ-からMagic Packetを送信する.これも簡単にできた.Magic Packetの中身はとっても単純なものなので,特に特殊なソフトやシステムにコマンドをインストールする必要もなく,Perlで生成して,UDP送信すればできるはず.

マジックパケット:0xff のデータが 6 個(6 byte)続いた後に、同じ MAC アドレスが 16 個 (6×16=96 byte)続いたものが含まれるパケット

ちなみに,調べてみたらperlでwake up on LANを作った人がいました.wakeonlan-0.41.tar.gzをダウンロードして,解凍して,wakeonlanファイルのメイン処理は下記.ここも同じようなスクリプトが置いてあった.

# Generate magic sequence
foreach (split /:/, $hwaddr) {
$pkt .= chr(hex($_));
}
$pkt = chr(0xFF) x 6 . $pkt x 16;

# Allocate socket and send packet

$raddr = gethostbyname($ipaddr);
$them = pack_sockaddr_in($port, $raddr);
$proto = getprotobyname('udp');

socket(S, AF_INET, SOCK_DGRAM, $proto) or die "socket : $!";
setsockopt(S, SOL_SOCKET, SO_BROADCAST, 1) or die "setsockopt : $!";

print "Sending magic packet to $ipaddr:$port with $hwaddr\n";

send(S, $pkt, 0, $them) or die "send : $!";
close S;

ちょっと改造して,CGIにすれば,ブラウザからでもWOLできますね.フリーのCGI可サーバを使ってやれば,例えば会社,学校のようなプロキシを使用する環境でもWOLのポートに送信できるので便利.Zaurusの方でもPerlで問題無くWOLができました.とりあえず,これで電源ON/OFFは解決.

参考:
第71回:インターネット経由でのWakeup On LANに挑戦:ここは参考程度に,適当にLAN内のブロードキャストアドレスにポートマッピングを使うとかなり迷惑になるので要注意.DMZを使用してサーバとLANを隔離した方がよいです.
RHELのインターフェース設定ファイル資料:Eth0の設定でETHTOOL_OPSについて参考
ThinkWiki:the Wiki Web for IBM/Lenovo ThinkPad users. Here you find anything you need to install your favourite Linux distribution on your ThinkPad

■Think Pad G40のモニタは要らない
サーバ化して,省電力でやりたい.このThink Pad G40のCPU能力はP4で2.2Ghzで動作するので,最小構成のCentOSを使ってホームサーバ化しているので,正直ここまでの処理能力は不要.そこで省電力モードで動作させることができないか考えてみた.

まず,CPUのクロックダウンですが,できない模様(自動的に調整されているみたい),cpuspeedの設定仕方まだ不明
追記:CPU負荷によってCPUスピードを調整して省電力化
やりかたが書いてあったが,

cat //sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

を実行できない.cpufreq/~が見当たらない...


次にモニタをOFFにしたい.このG40は蓋を閉じればモニタもOFFになるが,CPUはP4なので,閉じて開けるとキーボードの当たりがすげ~熱い.P4は不要です(笑)
モニタを消す方法をいろいろ調べてみた.
Dell Latitude D520 CentOS バックライト消去:ここでは

/etc/acpi/events/video.conf
の2行
#event=video.*
#action=/usr/sbin/vbetool dpms on
を有効にすれば,蓋を閉じるとバックライトが消灯するようになる

しかし,蓋をとじるのではなく,ブート時や蓋を開いても消灯させる方法ではないな.他のサイトでは
ブート時,カーネルオプションに”acpi=off, apm=on”追加すればできると書いてあるが,acpiをOFFにしたくないかつapmを使いたくないのでこの方法はまだ試していない.


参考サイト:
CentOS 5.1 インストール後の作業:不要なサービスやインストール後のチューニングをわかりやすく解説
CentOS 5.4で不要なサービスを停止する:Centos 5.4不要サービス停止★
CPU frequency scaling in Linux with cpufreq
APM/ACPIを使う:ここは電源管理
ibm-acpi - IBM ThinkPad ACPI Extras Driver:Thinkpad-acpiドライバの詳細情報READMEの部分はドライバの詳細


■ドメインと動的IPの解決

○http://www.whatismyip.org/:自分のIPを調べる,自作のCGIも作ったけど,使わせてもらいます

No comments: