‘仮想化’ カテゴリーのアーカイブ

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を低クロック低電圧で使うなら
デュアル動作できるからかなりお得ですね。

AMD-Vを使いたい(後編)

2008年2月10日 日曜日

VirtualPC2007でFreeBSD6.3が起動したらそれでOKかと言うとそうでもなく、やはり既存の仮想マシンを複数動かしてみたいと思うわけでやってみたら。。。。

時間がずれる(笑)AMD DualCoreだとIntelと違ってTSCが相当ずれているかもしれない。で、ちょこっと考えたけど、ずれるなら最初から使わなければいいって結論に(ぉぃ

/boot/loader.conf:
kern.hz=100

/etc/sysctl.conf:
kern.timecounter.hardware=i8254

この設定で動かしています。

さて、そうなると今度はCPUクロックを固定する理由がなくなるので、変更してみたくなる。とりあえずCrystalCPUIDを使ってみる。すると、Athlonはクロック倍率いっぱい(BE-2400だと5.0~11.5まで)選べるのだね。初めて知りました。しかも電圧もかなり広範囲に設定できる。余談になるが、このソフトは修正版BSDライセンスなので非常に嬉しい。すばらしいソフトを公開している作者様に感謝します。今後の活動に期待!

BEシリーズは低電力がうりなので電圧はどのあたりまで行けるのだろうかと試しにやって見る。。。BIOSは1.20Vになっていますな。ちょこっとずづ下げると1.00Vでも動くではないか。(一般的に半導体の寿命は熱に依存しているので消費電力が低くなって発熱が抑えられるのはすごい利点がある。)調子にのってさらに下げたらハングアップした。当然のことです^^;

その後、memtest, StressPrime2004, SuperPI などを動かして確認したところ1.025Vあたりで動くようです。技術の進歩はすごいなぁ。

AMD-Vを使いたい(前編)

2008年2月8日 金曜日

FreeBS6.3が仮想化支援ないと起動しないので、Pentium4のマシンをアップグレードしました。まさかこんな理由で置き換える事になるとは思ってもみなかった(笑)本当はServer2008の購入後に考えていたのだが。

どれにしようか迷った結果。。。MSI製K9NGM3-FIHAMD Ahtlon X2 BE-2400を選択しました。

AMDを選択するのはK6-2以来(実質Intelプラットフォームじゃないのは初めて)なので、選定ポイントはケースを選ばないM-ATXでメモリスロットが4本あり後々使いまわしできるようにしました。

メモリは保守パーツに確保してある中からUMAX Castor LoDDR2-2GB-800-R1を2枚搭載しました。その他のパーツはローカルDNSからそのまま引継ぎました。OSはWindows 2000 Server をHALの変更のみでそのまま継続しています。

チップセットドライバはnvidiaから直接とってきた。というかマザー添付のCDとか使ったことないです^^;もちろんサウンドドライバはRealtekから。

VirtualPC2007は例の方法ではいっているので、さっそく試してみる。もちろん言うまでもなくAMD-V有効でFreeBSD6.3は動いてます。きっと仮想化支援なしの状態のエミュレーションが不完全なのだろうな。

FreeBSD 6.3 on VirtualPC 起動しないor壊れる

2008年1月30日 水曜日

仮想化支援を無効にした状態では、

Trying to mout root from ufs:/dev/md0

で止まってしまう。

ちなみに仮想化支援を有効でインストールして、無効にすると破壊されますw

うぐぐ。これは困った。

FreeBSD 6.2とFreeBSD 7.0-RC1は、どちらも仮想化支援を無効でも起動できる所をみると、6.3の問題のような気がする。

というわけで既存6.2のアップグレードは中止しました。

NetBSD/Xen+FreeBSD/DomUを作りたい

2008年1月30日 水曜日

このところタイトルの環境を作りたくてごにょごにょしているのだけど、うまくいかない^^;

しばらく調査するかな。HVMでFreeBSDのローダーが動かないのはどうしようもない。

そもそもDomUのディスクがNFSの領域にあるファイルの段階で怪しいかもしれないw