‘Windows’ カテゴリーのアーカイブ

MCSパッチ修正 2008/11/30版

2008年12月1日 月曜日

更新>MCS/MPIO/64bitLBAパッチ 2008/12/25版

やっぱりバグバグだった。

パッチファイル: iscsi-target-20081130-patch.bz2
更新版をご利用ください。

# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20081130-patch.bz2 | patch -p0
# make
# make install

新規オプション:
-C 最大接続コネクション数(デフォルト4)
-P 接続可能なポータルのIPアドレス(カンマ区切り)

設定例は以前の投稿をどうぞ。

いわゆる仕様:
ネットマスクはまだ対応していないので0/0が必要です。
全てのIPアドレスが同じポート番号でグループ1のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。

主な修正点:
オリジナルのバグを修正しました。
セッション中の1コネクションが再接続した場合も接続を許可するようになりました。

FreeBSD 7.1 + Microsoft iSCSI Initiator / MCSパッチの新しいの

2008年11月30日 日曜日

更新>MCS/MPIO/64bitLBAパッチ 2008/12/25版

いつもエラーが出て気になっていたので修正しました(汗)

パッチファイル: iscsi-target-20081129-patch.bz2
更新版をご利用ください。

# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20081129-patch.bz2 | patch -p0
# make
# make install

-C 最大接続コネクション数(デフォルト4)
-P 接続可能なポータルのIPアドレス(カンマ区切り)

設定例は以前の投稿をどうぞ。

いわゆる仕様:
ネットマスクはまだ対応していないので0/0が必要です。
全てのIPアドレスが同じポート番号でグループ1のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。

主な修正点:
正常ログアウト及びフェールオーバー時にシーケンス番号が
上書きされないようになりました。
再接続した場合に旧スレッドを破棄するようになりました。

FreeBSD 6.4 / 7.1 / 8.0 on Windows Server 2008 + Hyper-V

2008年11月28日 金曜日

更新>FreeBSD7.3/8.1用のパッチはこちらから。
更新>FreeBSD8.0リリース版用のパッチはこちらから。

もうすぐFreeBSD6.4がリリースされます。
ちょっと横道だけどFreeBSDのSecurity Advisory(08:11)が出ています。

以前ちらっと書いたけど6.3が仮想環境にあまりよくないので、
しばらく様子見しようと思いましたが良い機会なので6.4を使ってみました。
ブートローダが新しくなったようですね。
Hyper-Vにもすんなりインストールできます。

Hyper-Vに対するパッチは以前書いたものが適用できます。
パッチファイル:fbs71-200809-hvpatch.bz2

パッチ済みカーネルの作成とインストール:

# cd /usr/src
# bzcat < /path/to/fbs71-200809-hvpatch.bz2 | patch -p1
# make buildkernel
# make installkernel
# shutdown -r now

念のため興味のあるバージョンで試してみたところ、
少なくとも以下のバージョンでは利用できることを確認しました。

FreeBSD 6.4 RC2 i386
FreeBSD 7.1 BETA2 i386
FreeBSD 7.1 BETA2 amd64
FreeBSD 8.0 200811 amd64

パッチを当てたカーネルはLANカード(100BASE-TX)のDEC21140の
デバイス初期化をスキップするだけなので、
dump/restore で他の物理マシンに移動しても、
そのカードを利用していないならば修正しなくても問題なく動きます。

vmwp.exeの終了のしかた:
1.タスクマネージャを起動します。
2.プロセスタブを開きます。
3.表示(V)>列の選択(S)で「コマンドライン」のチェック入れて表示します。
4.イメージ名の部分をクリックしてソートします。
5.vmconnect.exeの後ろにホスト名、仮想マシン名、オプションと続くので、
停止したい仮想マシンのコマンドラインにあるGUIDを見つけます。
6.同じGUIDのvmwp.exeがありますので、右クリックして
「プロセスの終了(E)」を選択します。

 
(クリックで拡大)

FreeBSD 7.1 + Microsoft iSCSI Initiator / Multiple Connections per Session(MCS)

2008年11月19日 水曜日

更新>MCS/MPIO/64bitLBAパッチ 2008/12/25版

Microsoft iSCSI Initiator Users Guide によると
現バージョンでサポートしている冗長化は
Multiple Connections per Session(MCS)
Microsoft MPIO support
だそうな。

iscsi-targetは1コネクション(TCP)を1スレッド、
当該セッションパラメータをスレッドに埋め込みで管理しています。
もし複数スレッド間でパラメータを共有できればMCSが容易になります。
でもそこまで作りこむのはかなり時間がかかりそうなので、
動作確認の意味も込めて、スレッド内のSCSIコマンド処理前に
各スレッドから必要なシーケンス番号をコピーするという
なんちゃって同期機能をつけて対応(笑)
この動作の前提として複数スレッドが同時に同じシーケンス番号を
更新しないとすごく期待しています。
一般化するなら送受信スレッドとパケット処理スレッドを作って、
FIFOキューでつなぐのがいいと思ってるけどどうでしょ。

用意するもの:
LANを2ポート以上装備したマシン2台
スイッチングハブ2台
iscsi-targetのパッチファイル iscsi-target-20081118-patch.bz2
更新版をご利用ください。

# cd /usr/ports/net/iscsi-target
# make patch
# bzcat < iscsi-target-20081118-patch.bz2 | patch -p0
# make
# make install

-C 最大接続コネクション数(デフォルト4)
-P 接続可能なポータルのIPアドレス(カンマ区切り)

いわゆる仕様:
ネットマスクはまだ対応していないので0/0が必要です。
全てのIPアドレスが同じポート番号でグループ1のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
最初に接続したコネクションが壊れるとおかしくなります。

~参考設定~
ターゲットにはしばらくブログに書いてきたExpress5800/110Geに
Intel PRO 1000/PT Desktop Adapter を増設して利用しました。
http://www.intel.com/products/server/adapters/pro1000pt/pro1000pt-overview.htm
ホストはWindows Server 2008に同型カードを挿しました。
それぞれのカードのIPアドレスを別のネットワークにして、
スイッチングハブをそれぞれに独立して接続します。
(参考設定では192.168.2.0/24と192.168.3.0/24を利用)

ターゲット側(FreeBSD7.1):
/etc/rc.conf

ifconfig_em0="inet 192.168.3.36  netmask 255.255.255.0"
ifconfig_em0_alias0="inet 192.168.3.37  netmask 255.255.255.255"
ifconfig_em1="inet 192.168.2.36  netmask 255.255.255.0"
ifconfig_em1_alias0="inet 192.168.2.37  netmask 255.255.255.255"

iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P 192.168.2.36,192.168.3.36,192.168.2.37,192.168.3.37"

/usr/local/etc/iscsi/targets

extent0         /tank/iscsi/iscsi-target0       0       80GB
extent1         /tank/iscsi/iscsi-target1       0       80GB
target0                 rw      extent0         192.168.2.0/24
target1                 rw      extent1         0/0

ホスト側(WindowsServer2008):
オンボードLANに192.168.2.33/24を、
Intel PRO 1000/PTに192.168.3.33/24を割り当てました。

ログインするときに[詳細設定]でローカルアダプタ、ソースIP、
ターゲットポータルを指定します。

接続できたら、[詳細]でセッションのプロパティを開き、[接続]を押します。

[追加]を押します。

ソースIP、ターゲットポータルを別のものを指定します。

負荷分散ポリシーを適当に変更する。

設定はこんな感じですが、先に述べた通り最初のコネクションが
すべてのデータを持っているのでこれが死ぬと復帰できなくなります。
とりあえず動くところを見ないとね。

MATSHITA DVD-RAM SW-9590AをWindows2000で使ってみる

2008年11月17日 月曜日

せっかく付いてきたので別のマシンで使ってみた。
このドライブにはソフトは付いていないので、
Windows2000で動くDVDプレーヤーとライティングソフトを探してみた。

Media Player Classic(の日本語リソース化)
http://not.s53.xrea.com/xite/memo/mpc.html
CDBurnerXP(日本語を含むマルチランゲージ)
http://cdburnerxp.se/

DVD鑑賞とDVDイメージを書込みをしてみたけど使える。
問題が起きないと特に書くべき事がない。
これは良い事だけどね。

K9NGM3-FIH V2.3 + WD10EACS-D6B0 の消費電力

2008年10月23日 木曜日

先のiSCSIの実験により高速CPUならGbEを生かせるようなので、
WD5000AAKS(166GBプラッタ3枚)によるRAIDを解体することにしました。
その移動先として一時的に保管しなくてはいけないので、
新規にWD10EACS-D6B0を購入してみました。
なんでも1TB(333GBプラッタ3枚)で5400回転で省電力らしい。
合わせてSCSIカードなどを他PCに移動することにして、
SATAのみに構成しました。

Windows 2000 Server SP4 + CrystalCPUID
MSI K9NGM3-FIH (BIOS V2.1)
Athlon X2 BE-2400 (2.3GHz/11.5x/1.200V)
UMAX Castor LoDDR2-2GB-800-R1 x2(=4GB)
SATA1 Western Digital WD10EACS-D6B0
SATA4 LG電子 GSA-H62N
FDD 1台(メーカー失念)
ID-1219/500Wから抜き取った電源
(SATA HDDの収容ケースとしてEG-RM410ABKを1個利用)

この構成で試してみると、
初期BIOSのV2.1ではHDDの起動前に認識しに行くらしく、
初回電源投入時にWD10EACS-D6B0を見失います。
一回リセットすれば二回目以降は電源を切るまで大丈夫です。
BIOSをV2.3にアップデートしたところ、直った模様?です。
もしもBIOSアップデートが難しいor怖いなら、
時間を稼ぐためにAdvanced BIOS Featuresの中にある
QuickBootをDisabledにすれば、初回起動でも認識されました。

Windowsの起動が終ってHDDのアクセスが終ると、
ワットチェッカーで47W(5.0x/0.925V時)でした。
SCSIカードを外した事もあって15W下がった。

外したAAKSはX2 5200+に接続してiSCSI実験用になる予定。
(現在環境整備中)

FreeBSD 7.1 + iscsi-target / Windows 2000 + Microsoft iSCSI Initiator

2008年10月11日 土曜日

※補足:
現在は ports/net/istgt というiSCSIターゲットを独自に開発しているので、
そちらも合わせて参考にしてください。

2011/1/3現在の最新版はここ:
http://shell.peach.ne.jp/aoyama/archives/1321
※補足:

仮想マシン関係が一段落したので、
今度はiSCSIについて少し確認してみました。

用意するもの:
FreeBSD と iscsi-target (portsなのでFreeBSDのバージョンは重要ではない)
FreeBSD 7.0以降または Windows と Microsoft iSCSI Initiator (2008やVistaは不要)

ターゲット側:
Portsを最新にして /usr/ports/net/iscsi-target からインストールします。
ターゲット側はFreeBSD6.2などでも作成することは可能です。
VirtualPCの中のFreeBSDなどにも作成できますが速度はお察しください。
(当方の仮想マシン環境だと10MB/s程度のようです)

# portsnap fetch update
# portinstall iscsi-target
または
# cd /usr/ports/net/iscsi-target
# make; make install

以下のような設定をします。
(例では/usr/iscsiというディレクトリに10GBのファイルを作成します)

/usr/local/etc/iscsi/targets

# extents       file                    start   length
extent0         /usr/iscsi/iscsi-target0        0       10GB                      

# target        flags   storage         netmask
target1         rw      extent0         192.168.2.0/24

/etc/rc.conf

iscsi_target_enable="YES"

設定ができたら起動します。

# /usr/local/etc/rc.d/iscsi_target start

あとは他のソフト同様にstop restartなどできます。

イニシエータ側(FreeBSD):
FreeBSDの場合は7.0以降が必要です。

標準カーネルにはiSCSIイニシエータが組み込まれていないので、
カーネルモジュールを kldload で読み込みます。
それから iscontrol を使って探索、接続します。

# kldload iscsi_initiator
# iscontrol -dt 192.168.2.99
TargetName=iqn.1994-04.org.netbsd.iscsi-target:target1
TargetAddress=192.168.2.99:3260,1

見つけたものから必要な TargetName TargetAddress の行を
/etc/iscsi.conf に書き加え、ニックネームを作成します。
最低この2個で接続できますが、オプションがいくつかあります。
詳細はマニュアル参照(man iscsi.conf)してください。
(例では myiscsi というニックネームにしています)

/etc/iscsi.conf

myiscsi {
 TargetName=iqn.1994-04.org.netbsd.iscsi-target:target1
 TargetAddress=192.168.2.99:3260,1
}

できたらそのニックネームを使って接続します。

# iscontrol -n myiscsi

接続すると /dev/da0 というデバイスが作成されます。
(そのシステムにda0が存在すればda1という風に番号が増えます)
何ができたかは以下のようなコマンドで確認できるでしょう。

# tail /var/log/messages

作成できたら内蔵のハードディスクと同じですから、
スライスを作成してnewfsを実行します。
(よくわからない人は sysinstall を起動して、
Configureの中にあるFdiskとLabelを実行します)
作成したら、適当な位置にマウントします。

# mkdir /iscsi
# mount /dev/da0s1d /iscsi

切断する場合は、まず umount コマンドを実行します。

# umount /iscsi

その後に iscontrol にHUPシグナルを送ります。
kill コマンドでプロセスIDを指定するか killall コマンドを使います。

# ps axww | grep myiscsi
 1064  ??  Is     0:00.00 iscontrol -n myiscsi
 1109  p0  RL+    0:00.00 grep myiscsi
# kill -HUP 1064
または
# killall -HUP iscontrol

起動と同時にiSCSIを利用したい場合は、
この手順をスクリプトに書く必要があります。
ちょっと面倒ですが・・・。
私は実験用にこんな感じのスクリプトを書きました。

実験用スクリプトファイル

/etc/rc.d/iscsi として置いて chown 0:0 および chmod 555 とする。
/etc/rc.conf に iscsi_enable=”YES” を追加する。

このスクリプトの前提としてiSCSIターゲットは一個しか使わない。
/etc/iscsi.fstab というファイルを /etc/fstab と同じ書式で作成しておく。
ちょっと仕組みがあれなのであくまで参考ということで。

イニシエータ側(Windows):
Server 2008からは標準搭載ですが、
2003やXP、2000では追加のソフトが必要です。
英語版のものがMSからダウンロードできます。
2000の場合は32ビット版の Initiator-2.07-build3640-x86fre.exe を
ダウンロードしてインストールします。

Microsoft iSCSI Initiator はこちらから。
http://www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang=en

Microsoft iSCSI Initiator を起動して、
Discovery タブ内の TargetPortals にある Addボタン を押して、
iscsi-target を入れた FreeBSD のIPか名前を入れます。
Port番号は標準の3260のままです。
追加するとTagets タブにiSCSIターゲットが見えるようになります。
iqn.から始まる長い名前がターゲット名です。

iscsi1.jpg iscsi0.jpg
(クリックで拡大します)

設定したiSCSIターゲットに Log On で接続します。
切断する場合は Details でセッションにチェックをいれて、Log off を押します。

接続するとハードディスクとして作成されるので、
ディスクの管理からパーティション作成とフォーマットを行います。
サーバの場合はダイナミックディスクにしてRAID構成のディスクとしても使えます。
ここでRAIDにする理由があるかはわかりませんが・・・。

HDBENCHで見るとこんな感じでした。
どっちも書き込みがあまり性能よくない。
別の2GHzのWindowsからX2の方に試すと、
Read 60MB/sでほぼ変わらず、Write 30MB/s程度は出るようです。
やはりWindows側の性能が低いとCPU使い切ってどうにもならない。
それでも850MHzという低速マシンでもギガビットのネットワークカードがあれば、
いろいろ試せそうです。

iscsi2.jpg
(クリックで拡大します)

利用した機材の主な仕様は以下の通り。

FreeBSD 7.1 PRERELEASE + iscsi-target (netbsd-iscsi-20080207)
P3-1GHz (133×7.5) / メモリ 768MB / VIA Apollo Pro 133A
HighPoint HPT370 UDMA100 Card
Hitachi HDP725050GLAT80 500GB 7200回転 250GB/プラッタ
    最大転送速度 1138Mb/s (142.2MB/s)
Intel PRO/1000 T Server Adapter (82543)

FreeBSD 7.1 PRERELEASE + iscsi-target (netbsd-iscsi-20080207)
Athlon 64 X2 5200+(2.7GHz) / メモリ 4GB / AMD 690G
オンボードSATA (3Gbps)
Hitachi HDT725050VLA360 500GB 7200回転 167GB/プラッタ
    最大転送速度 998Mb/s (124.8MB/s)
Intel PRO/1000 PT Desktop Adapter (82572)

Windows 2000 SP4 + Microsoft iSCSI Initiator 2.07
P3-850MHz (100×8.5) / メモリ 384MB / Intel 440BX
オンボードIDE (UDMA33)
Western Digital WD450AA 45GB 5400回転 15GB/プラッタ
    最大転送速度 300Mb/s (37.5MB/s)
Planex GN-1200TW2 (Realtek 8169SC)

追記:
P3ではGbEの性能を生かせないので高速なマシンでテストしました。
ターゲットはX2のみ。ソフトはCrystalDiskMark2.2を利用しました。

Windows Server 2008 64bit版
Core 2 Quad Q6600 (2.4GHz) / メモリ8GB / Intel G33
オンボードSATA (3Gbps)
Hitachi HDP725050GLA360 500GB 7200回転 250GB/プラッタ
    最大転送速度 1138Mb/s (142.2MB/s)
オンボードLAN (Realtek 8111B)

iscsi3.jpg 
(クリックで拡大)

さて、上の結果を見てやっと理解できました。
ファイルベースのベンチマークは意味がない(汗)
ターゲットとして10GBのディスクを作成したけれども、
メモリが4GBあるので遅延キャッシュとして利用されている・・・。
よって少なくとも4GB以上のファイルを読み書き対象にしないと
物理ディスクアクセスがない状態だったと。
(書き込みの場合はイニシエータ側の8GB以上?)
いままでの結果はネットワークとキャッシュの往復時間だったはず。
そこで、物理読み書きするソフトがないかと探してみたら、
HD Tuneが読み込みをするようなので試してみた。

iscsi4.jpg
(クリックで拡大)

これを見るとFreeBSD上でキャッシュに読み込み中でも40MB/sを出すようです。
70MB/sを出している部分は言うまでもなく読み込みキャッシュに乗っている部分です。

FreeBSD 7.1 on Hyper-V Server

2008年10月5日 日曜日

HVSコンソール上では大変になりそうだったので、
XP SP3上のVirtualPC2007にWS2008評価版(x86)を導入して、
MMCスナップインで作業しました。
コンソール自体にはRemote DesktopをEnabledにすると、
XPに付属の「リモート デスクトップ接続」で接続できます。

Windows Server 2008 評価版はこちらから。
http://www.microsoft.com/japan/windowsserver2008/trial-software.mspx

Hyper-V Server はこちらから。
http://www.microsoft.com/servers/hyper-v-server/default.mspx

用意するもの:
Hyper-Vが動くCPU搭載のパソコン
(特殊なドライバなしでWS2008が動作するものが良い)
Hyper-V Server
リモート管理用パソコン(WS2008またはVista)

主な作業の流れ:
HVSをDVDに焼いて物理サーバにインストールする。
(Windows Server 2008のコアインストール同様)

無事インストールが終るとログイン画面になるので、
ユーザ名 Administrator
パスワードなし
でログインして初期パスワードを設定します。

コンソールにログインすると、
Hyper-V Configuration Toolとコマンドプロンプトが出ます。
ここでホスト名、ドメイン、ネットワーク設定を行います。
Download and Install Updateから最新にします。

新規のコマンドプロンプトを出すには、
Ctrl+Alt+DelでTask Managerを起動して、
[New Task]ボタンなどからできます。

Hyper-V Configuration Toolを再度呼び出すには、
コマンドプロンプトからhvconfigで呼び出せます。

リモートから接続するにはRemote DesktopをEnabled(有効)にします。

Hyper-Vをリモート管理するにはそのままだと
ファイアウォールに阻止されてなにもできないので、
以下のコマンドをリモートデスクトップでコマンドプロンプトに貼り付けて実行する。

netsh advfirewall set currentprofile settings remotemanagement enable
netsh advfirewall firewall set rule group="Remote Administration" new enable=yes
netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes

WS2008から仮想マシンを移動する場合は、
作業用フォルダを作成して共有する。

mkdir C:\work
net share work=C:\work

サーバ側の作業はほぼ上記の通り、
ここからクライアント側(管理マシン)から作業する。

ファイル名を指定して実行からmmcを起動させる。
ファイル>スナップインの追加と削除から、
 セキュリティが強化された Windows ファイアウォール
 共有フォルダ
をそれぞれ Hyper-V Serverの名前かIPアドレスで指定して追加する。
追加できたら保存しておく。デフォルトでは、
すべてのプログラム>管理ツールの中に保存される。

MMCの共有フォルダの共有からworkに共有アクセス許可を与える。
必要であればwork内に既存のVHDファイルをコピーしたりする。

Hyper-V マネージャのサーバに接続から
別のコンピュータにHyper-V Serverの名前かIPアドレスを入れて接続する。
後はWindows Server 2008同様に仮想マシンを作成して実行する。

実際にWS2008で稼動しているFreeBSD7.1をコピーして、
VirtualPC内のWS2008評価版でHyper-V Serverに作成した物がこれ。

hvonvpc.jpg
(クリックで拡大)

注意:
ここで書いた作業はファイアウォールのスコープを意識していないので、
そのまま外に出すマシンでやると危険です。
管理できるネットワークを限定したりするべき。

追記:
この文章の下書きを書いた時点では英語版のみでしたが、
現在は日本語版もダウンロードできるようになっています。

FreeBSD 7.1 on Windows Server 2008 + Hyper-V

2008年10月3日 金曜日

G33/C2Q6600 と 690G/Athlon64 X2 5200+ の構成で、
ちょこっと触ってみたけど、FreeBSDを再起動できないな;;
そのままだと仮想マシンが停止してしまう。
そこで触らぬ神にたたりなし?ってわけでPCIアドレスレジスタを
いじらないようにする怪しげなパッチを作成してみた。

diff -aur src-orig/sys/dev/pci/pci.c src/sys/dev/pci/pci.c
--- src-orig/sys/dev/pci/pci.c 2008-08-23 12:40:49.000000000 +0900
+++ src/sys/dev/pci/pci.c 2008-10-02 23:53:03.000000000 +0900
@@ -3590,6 +3590,11 @@
  struct pci_devinfo *dinfo = device_get_ivars(child);
  pcicfgregs *cfg = &dinfo->cfg;
 
+ /* 0x1011: DEC, 0x0009: 21140, 0x10: PCIR_BARS, 0x28: PCIR_CIS */
+ if (dinfo->cfg.vendor == 0x1011 && dinfo->cfg.device == 0x0009)
+  if (reg >= 0x10 && reg < 0x28)
+   return;
+
  PCIB_WRITE_CONFIG(device_get_parent(dev),
      cfg->bus, cfg->slot, cfg->func, reg, val, width);
 }

用意するもの:
Hyper-Vが動くCPU搭載のパソコン
Windows Server 2008 64ビット版
FreeBSDイメージ 7.1-PRERELEASE-200809-i386-disc1.iso など
パッチファイル fbs71-200809-hvpatch.bz2

FreeBSDは以下からダウンロードしておく。
ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/200809/

Windows Server 2008 をインストールして、
Windows Update をかけて最新にする。
サーバーマネージャの役割から Hyper-V を追加する。
Hyper-V マネージャから仮想マシンを作成する。
仮想マシンの設定を開いてネットワーク アダプタを削除する。
ハードウェアの追加からレガシ ネットワーク アダプタを追加する。
お好みでプロセッサ数やメモリを変更する。

FreeBSD を仮想マシンにインストールする。
パッチを適用してカーネルを更新する。

# cd /usr/src
# bzcat < /path/to/fbs71-200809-hv.patch.bz2 | patch -p1
# make buildkernel
# make installkernel
# shutdown -r now

初回カーネルを更新するまで再起動で停止してしまうので、
タスクマネージャのプロセスのタブからvmwp.exeを見つけて終了させる。

おまけ:
Windows2000もHyper-Vで動くようだけど、
ネットワークを触りにいったとたんに反応なくなります…。
フリーズしたまま5分ほど放置すると何事もなかったように動きます(汗)
以後、仮想マシンを再起動するまでは平気な模様。
Server 2003、2008、XPでは起こらないので2000固有の問題かと。
(Vistaは未確認)

追記:
vmwp.exeの終了のしかたはこちらの記事を参考にしてください。

システムの消費電力を調べてみる

2008年2月12日 火曜日

消費電力といえばワットチェッカーの出番ですな。
さっそくニューマシンで調べてみました。
主な構成は
Windows 2000 Server SP4 + CrystalCPUID
MSI K9NGM3-FIH
Athlon X2 BE-2400 (2.3GHz/11.5x/1.200V)
UMAX Castor LoDDR2-2GB-800-R1 x2(=4GB)
Seagate ST336706LW (U160/36.7GB)
WD SE16 5000AAKS (SATAII/500GB)
ID-1219/500Wから抜き取った電源

電源投入~SCSIカード初期化前 > ~95W程度で遷移
SCSIドライブ起動 > 122W程度まで上昇して106W程度に降下
OS起動後アイドル状態 > 88W
SuperPIを2個起動(以下同様) > 116W

クロック倍率&電圧変更
11.5x/1.075V(2.3GHz) > 107W
10.0x/1.025V(2.0GHz) > 101W
 8.0x/0.975V(1.6GHz) > 93W
 6.0x/0.925V(1.2GHz) > 87W
 5.0x/0.900V(1.0GHz) > 84W

ここまでやると、SCSIドライブがとんでもなく電気食べているのがわかります。
高々1万回転36GBでこれはあんまりだな;;
スペックシートだと12.4Wって書いてあるw

SCSIパーティションをAAKS側にコピーして切り離して起動してみると、
アイドル72W、5.0x/0.900Vで62W、SuperPI起動で70W
14Wも下がった・・・。変更前の116Wから46W(40%)の削減。
東京電力によると22.31円/kWhなので、
365日24時間CPU使用率100で起動していると仮定すると、
0.046x24x365x22.31=年間8990円の節約になりますな。
5.0xアイドル62W~5.0×100%70Wだと、年間12117~13680円、
月額でおよそ1010円~1140円のコストになる。

以上を踏まえて、CrystalCPUIDに設定してみた。

 be2400a.jpgbe2400b.jpg
(クリックで拡大)

他のマシンはどうなのだろうかと気になるので調べてみた。
ns1(Celron 1GHz 180nm) > 48W
ns2(Winchip2 200MHz 350nm) > 36W
ns4(P3 1GHz 180nm) > 59W
いずれもFreeBSD起動後ログインプロンプト出た後、shellはちょっと怖いから止められなかった(汗)
これをみると、Athlon 64 X2を低クロック低電圧で使うなら
デュアル動作できるからかなりお得ですね。