VMWare Player

2010.01.25    Windows, 仮想化, 馬場   タグ: —    baba   

無償のVMWare Playerでも仮想マシンの作成ができるようになったので、インストールしてみました。

しかし、ゲストにWindows 7をインストールしたところ、ハードディスクのアクセスが激しすぎて、全く使い物になりませんでした。スタートメニューを開くのに10秒以上かかり、ホストまでまともに動かないほどです。

どうやらVMWareの仮想ハードディスク周りの機能が悪さをしているらしいので、それらを無効にすると早くなるとのことです。
このページがよくまとまっていました。
http://revilog.com/2008/05/011299.html

しかし、VMWare PlayerではAdvanced設定ができないのですね。
一応vmxファイルを直接編集すれば可能ですが、ほかにもNICの詳細設定ができないなど不便が多いので、結局アンインストールしてVMWare Workstationに乗り換えました。

Workstationで上記サイトの設定を施したら、異常なディスクアクセスは収まりました。
機能制限版でもVMの直接起動ができない以外はほとんど変わらないので、しばらくこれを使ってみようと思います。

VMWare Player入れてみました

2009.11.23    仮想化, 馬場      baba   

自宅でVirtual Serverをしばらく使っていましたが、

・ホスト再起動後、NICが認識されないトラブルが発生する
・MicrosoftはHyper-Vに移行したので、メンテナンスされる様子が無い
・ちょうどVMWare Playerがバージョンアップした

などの理由で、VMWare Playerに乗り換えました。
ホストはWindows Server 2008、ゲストはUbuntu Serverです。

本当はバックグラウンドサービスで動いて欲しいのですが、VMWare Serverは昔失敗したので、簡単そうなPlayerにしてみました。
VMC→VMXの変換は、何事もないかのようにあっさり完了。ファイル→開く だけでOKでした。

ホストマシンにはNICが2枚積んであって、1枚目は内部LAN、2枚目は仮想マシン専用でDMZに接続されています。
自動設定では内部LANに接続されてしまうので、VMWare Workstationの体験版に入っている vmnetcfg.exe を使ってブリッジ設定を行いました。

MACアドレスが変わるので起動直後はネットワークに接続できませんが、ifconfig up/down を数回やったり、VMWare自体を再起動したりすると接続できるようになります。

やたらとプロセスがたくさん起動するのが好きではないのですが、これが無料なんだからすごいですね。
Playerで仮想マシンの作成も出来るようになったので、今度もう1台くらい仮想マシン増やしてみようと思います。

Windows 7 public beta

2009.01.11    Windows, 仮想化, 馬場   タグ: —    baba   

Windows 7のベータ版が、ようやくダウンロード出来るようになったので、早速Virtual PCに入れてみました。
(本当は9日公開予定だったのが、アクセス集中で延期したみたいです)

インストーラはほとんどVistaと同じで、起動後は全体的にVistaを洗練された感じです。仮想マシンなのでパフォーマンスの評価は出来ませんが、普通に使えそうです。
電卓がパワーアップしたのが一番のポイントかも。

以下、インストール~起動までのスクリーンショットを載せておきます。

ネットワークエラーの解決

仮想サーバのNICに負荷をかけるとホストマシンごと落ちる件について、現状改善したように見えるので、解決記録を書いておきます。

まず蟹が原因と思い、ヨドバシカメラにNICを買いに行きました。新春セールでポイント5%アップで幸せ気分です。
本当はIntelが欲しかったけど売ってなかったので、玄人指向のGBE-PCIe(Marvell 88E8053)とGbE-PCI2(VIA VT6122)を買ってきました。PCIeが良いのでMarvellの方を使うつもりで、VIAは予備用に買いました。

早速Marvellに差し替えたところ、負荷をかけてもホストOSは落ちなくなりました。やっぱり蟹が原因だったみたいです。
(ちなみに、NICのMACアドレスが変わった場合、Ubuntuの場合 /etc/udev/rules.d/70-persistent-net.rules を編集すれば eth0 に割り当てるなど出来ます)
しかし、ホストOSは落ちないものの仮想サーバの通信は負荷をかけるとやっぱり切れてしまいます。
調べてみると、eth0: out-of-sync dirty pointer というエラーを出していました。また、ifconfigをみるとエラーがたくさんあります。

そこで、使っていたBUFFALO製のスイッチングHUBを外して、仮想サーバ用のMarvellとRTX1000を直接つないでみたら、負荷をかけてもエラーが出なくなりました。
スイッチングHUBをcorega製に変えてみても、エラーは出ませんでした。

つまり、RealtekのNICとBAFFALOのHUBが両方悪かったみたいです。
値段だけで選ぶと痛い目に遭いますね。

Virtual Server ネットワーク設定

相変わらずVirtual Serverネタですみません。
ネットワーク設定でちょっと戸惑ったので書いておきます。

ホストマシンにIntelのNICとRealtek(蟹)のNICを1枚ずつさして、Intelをホストマシンの通信用、Realtekを仮想サーバ用にしました。(3comのNICはWindows Server 2008 x64のドライバが見つかりませんでした)
Virtual PCならそのまま選べば良いんですが、Virtual ServerではIntelのNICしか選べませんでした。

Virtual PCならそのまま選べる

Virtual PCならそのまま選べる


Virtual Serverだと1枚しか見えない

Virtual Serverだと1枚しか見えない

Virtual Serverの場合、左のメニューの「バーチャルネットワーク」から「作成」をして、RealtekのNICを使った仮想ネットワークを作っておく必要があるみたいです。

Virtual Serverではネットワークを追加する

Virtual Serverではネットワークを追加する

この後、最初のネットワークアダプタ選択画面で、今作ったバーチャルネットワークを指定すればOKです。

ルータにRTX1000を使っているので、LAN, WAN, DMZに割り振ってファイアウォールを設定できるようになりました。
仮想サーバだけ公開用にポートを開ける、ということができて便利です。LAN-DMZでTCP/UDP 137-139を開ければ、ファイル共有も出来ます。DMZの意味が少し薄れますが。

しかし、順調にVirtualHost等も設定して、自宅Webサーバ稼働開始!と思った矢先に大問題が発生。
仮想サーバのSambaとたくさん通信すると、ホストのWindows Server 2008 (物理サーバ)ごと落ちてしまいます。そのたびにRAIDの再構築が始まってもううんざり。
たぶん蟹のせいです。お店やってるか分からないけど、蟹じゃないNIC買ってきます。。。

Linux on Virtual Machine まとめのようなもの

仮想マシン上でUbuntuServerを使えるようになりました。
Virtual Serverの設定が上手くいってからも苦労した点が多かったので、軽くまとめてみます。

最終的に落ち着いた環境は、
サーバ(仮想マシンホスト):Windows Server 2008 Standard x64 (Pentium DC E5200, 4GB RAM)
仮想化:Microsoft Virtual Server 2005 R2 SP1 Enterprise
ゲスト:Ubuntu Server 8.04.1
操作用デスクトップマシン:Windows Vista Ultimate x64 (Core i7-920, 6GB RAM)
です。

仮想化ソフト選び

無償のソフトから選びました。ログインしなくてもサービスで動いてほしかったので、Virtual PCやVMWare Player、VirtualBoxは除外。CPUがVT非対応なので、Hyper-VやVMWare ESXiは除外。残ったのはVirtual ServerとVMWare Serverでした。

Windows Server 2008 64bitでは、VMWare Serverが使えない

VistaやServer 2008の64bit版では、デバイスドライバにデジタル署名が必須です。VMWare Server 1.5を入れてみましたが、vmx86サービスがエラーになって起動できず、それに依存したVMWareの各種サービスが使えませんでした。
一応、起動時にF8でオプション指定すれば行けると思いますが、ちょっとやりたくないです。
結局、Virtual Serverで運用することに。

Virtual Serverの苦労

前の記事で書いたとおり、非ドメイン環境ではIISを入れるしか無いです。また、IIS7のデフォルトインストールだと機能が足りないので、手動で追加する必要があります。
また、ActiveX版仮想マシンコンソールは、IE8だと動かないので、使えませんでした。

リモートデスクトップと仮想マシンの相性の悪さ

Windows Server 2008にはリモートデスクトップでアクセスしていますが、その中で仮想マシンコンソールを開くと、マウスが動きません。これの解決策は見つかりませんでした。
デスクトップマシンからVMRCクライアントでアクセスする必要があります。

VMRCが遅い

Gigabit Ethernetで、実効100Mbps以上の環境でも、VMRC経由だとマウスがガタガタです。キーボードもKeyUpが正常にとれていないのか、ダブって入力されることが多々あり、とても使い物になりません。この時点で、X Windowを動かすのをあきらめました。

ゲストOS選び

Linuxには詳しくないので、無料で有名でインストールが簡単なもの、とDebian/Fedora/Ubuntuを検討しました。
Debianはインストールは割と順調に終わりましたが、なぜか動作が異常に遅くて却下。
Fedoraはインストールがなぜか何時間たっても終わらないので却下。
消去法で、流行のUbuntuのサーバ版を入れてみることにしました。

Ubuntu Serverインストール記

Ubuntu Server 8.10は、なぜかインストール開始直後に止まり、使えませんでした。CPU使用率が100%のまま、何分たっても進みません。

ここで止まる

ここで止まる

デスクトップマシン上のVirtual PCだと動きましたが、サーバマシンにVirtual PCを入れてもダメでした。同じバージョンのVirtual PC上で同じISOファイルから起動しているのに不思議ですが、VTの有無等で変わるんでしょうか?原因不明です。

仕方ないので8.04.1をインストールすることに。
そのままでは「回復できないプロセッサエラー」が出たり、画面が乱れたりしてインストールできないので、起動時に noreplace-paravirt clocksource=pit vga=769 を追加して回避します。
インストール完了してもなぜか起動しないので、もう一度ISOキャプチャしてレスキューモードに入り、シェルから
# apt-get update
# apt-get install linux-386
# apt-get remove linux-server
と大胆なコマンドでカーネルを入れ直します。
再起動後、再び起動オプションにnoreplace-paravirt clocksource=pit vga=769をつけて起動すれば、無事インストール完了です。
起動時に毎回オプションつけるのはめんどくさいので、/boot/grub/menu.lst を編集して自動化します。

/boot/grub/menu.lst の編集

/boot/grub/menu.lst の編集

これでようやく使えるようになりました。あとはネットワークやSSHの設定をすれば、仮想マシンであることを忘れて快適(?)なputty操作です。

こんどNICもう一枚さして、仮想マシンを外向きのWebサーバにする予定です。

仮想マシンには色々苦労させられましたが(みなさん苦労しているようです 検索のヒット数がすごい)Ubuntuはなかなか使いやすくて良さそうです。一人前のシステム管理者になれるように頑張ります。

続 Virtual Server 2005 on Windows Server 2008

やっとの思いで、Virtual Server 2005 R2 SP1 Enterprise Edition をまともに使えそうです。

VMRCPlusはきっぱりあきらめて、正統派にIISを入れることにしました。
Windows Server 2008では、サーバーマネージャから「役割の追加」でIISを追加します。わかりやすいです。

しかし、これだと必須コンポーネントが無いと怒られてVirtual Serverをフルインストールできません。
IIS管理コンソール、管理サービス、IIS6互換管理等をインストールする必要があるみたいです。

インストールが必要な役割サービス

インストールが必要な役割サービス

晴れてインストールが完了して、プログラムからVirtualServer管理Webサイトを開くと、401 Error。

401 Unauthorized

401 Unauthorized

どうやら、IIS入れるときに「基本認証」「Windows認証」をインストールする必要があったみたいです。幸いWindows Server 2008は役割サービスの追加が簡単なので、早速インストール。

すると次はこんなメッセージが。

認証エラー

認証エラー

標準ユーザでログインしたのが間違いでした。Administratorでログインしたら普通に行けました。

正常に起動した管理Webサイト

正常に起動した管理Webサイト

Administratorでもダメな場合や、標準ユーザにアクセス権を与えたい場合、コンポーネントサービスから権限を与えるらしい・・んですが、今日はそこまで検証するのはやめておきます。

とにかく、これでリモートデスクトップ使わずにデスクトップマシンからサーバ上の仮想マシンを制御できるようになりました。ActiveXのエラーが出まくるのが気になるんですが、たぶんIE8だからですね。きっとそうだ。自分のマシン全部IE8にしちゃったから確かめようが無いんですが。

あとでIISのセキュリティパッチとファイアウォールを確認します。

VMRCPlus

自宅のWindows Server 2008上のVirtual Server 2005にDebianをインストールしたんですが、リモートデスクトップだとなぜかキーボードとマウスがうまく動かないので、デスクトップマシンにVMRCPlusを入れてみました。

結果は失敗。VMRCPlusでリモートの仮想マシンを制御するには、同じドメインに参加していないとダメらしいです。そのためだけにActiveDirectory構築するのも馬鹿馬鹿しいので、ほかの方法を考えることにします。

VirtualPCで我慢して自動ログイン設定するか、恐怖のIISインストールするか、一度インストールで挫折したVMWareに寝返るか。。

Virtual Server

馬場です。
個人ネタも書いて良いのかな?どんなことまで書くのか決めていなかったと思うので、、

自宅のWindows Server 2008がファイルサーバだけじゃもったいないと思い、Virtual Server 2005 R2 SP1 Enterprise Edition (長い) を入れてそこにもう1つWindows Server 2008 Server Coreを入れて、RemoteAccessServerにする計画中です。

Virtual PCだとLinuxで相性問題起きやすいらしい(というか経験済み)なので、Virtual Serverにしたんですが、Virtual ServerはIISを入れないと管理できないみたい。でも、Windows Server 2008のIIS7.0だとうまく設定ができない。色々やっても「必要なコンポーネントがインストールされていません」的なエラーになってしまいます。

色々調べてたら、どうやらVMRCplusというツールを使うとIISなしでいけるらしいので、早速入れてみたら、あっさり動きました!現在仮想マシン上にWindows Server 2008 Standard Server Coreインストール中です。Virtual Server 2005の制限で仮想マシンはx86になるのが残念だけど、メモリたくさん割り当てる気もないので、気にしないことにしました。

うまくいったら、今度はFedoraあたりを仮想マシンで入れてWebサーバ構築してみようと思います。

COPYRIGHT [C] 2009 BEYOND PERSPECTIVE SOLUTIONS LTD. ALL RIGHTS RESERVED.