結論
プロセッサに仮想化支援機能はあります。 チップセットにプロセッサ仮想化を支援する機能もあります。
「だがな…I/Oだ・け・は!そうはいかんぞ!」
検証環境
<ハードウェア>
プロセッサ:第一世代iCore3 - 540 (3.06GHz, L2:512MB, L3:4MB)
物理メモリ:8GBytes
論理メモリ:同上(スワップ抑止)
チップセット:H57 Express
ディスク:SATA SSD 128MB, SATA HDD 500MB
<ソフトウェア>
OS:Windows Server 2008 R2(64bit)
エミュレータ:Hyper-V
役割:Active Directory Domain Controller, Windows Server Update Services 3.0 SP2
※ 一般OS上で仮想マシンが稼働するエミュレータ方式での仮想化
<仮想マシン>
- Windows 7 Ultimate SP1(64bit)
- Windows 8 Release Preview (64bit)
- FreeBSD 9.0-RELEASE (64bit)
- Windows Server 2012 Relase Candidate (64bit)
- Windows XP Professional SP3 (32bit)
別の選択肢としては、物理ネットワークインターフェースを仮想マシンと共有する方式(仮想マシン作成のダイアログで「外部」を選択した方式)もあります。
こちらを選択すると仮想マシンの移動の際にゴミが残ります。仮想ハードディスクを新しい仮想マシンに接続すると、全く別の仮想ネットワークインターフェースを作成する)
これを回避する目的で、仮想マシンに単独の仮想ネットワークインターフェースを与えています。(前述のダイアログで「内部」を選択した方式)
上記の構成で検証を実施しました。 Windows Server 2012は、プロダクトキーがないのでWSUSを実行できませんでした。
仮想ハードドライブは、物理ハードディスク上へ配置しています。
検証
条件
物理サーバ本体でWSUSの同期を実行、仮想マシンで自動更新を実行、自動更新はすべて平行実行させました。
仮想マシンは、クリーンインストール直後です。 WSUSは、全製品、全クラス、全言語、高速インストールなし、自動承認なし、同期済みです。
結果
Windows 7、Windows XPの自動更新は、8時間経過しても完了しませんでした。
Windows 8とWindows Server 2012は、WSUSで欠陥更新プログラムを配信していない様子です。
Microsoft Updateへ直接アクセスしたときだけ更新が一覧されました。 (WSUSに製品はあるのだけれども)
評価
1. 何故、自動更新が遅いのか?
なんちゃってハイパーバイザとなるWindows Server 2008 R2のリソースモニタを観ると、プロセッサ使用率は、10%も使っていません。
ネットワーク使用率も10%も使っていませんが、ディスクの使用率が100%を維持しました。
ディスクがネックになっているとはっきり観測できました。
2. 何故、ディスクアクセスが多くなるのか?
Windows 7にゲストOSとして振る舞う為の機能がなく、物理メモリの実行時の拡張ができないのと最初は考えました。
実際のところ、設定ミスがあり、この仮想マシンだけ物理メモリの自動拡張を禁止していたことが原因のようです。
とはいえ、ゲストOSはスワップを0MBと設定しているにも関わらず、何故かコミットが2GBまで増加していました。
ゲストOSメモリ不足という報告もなされていないことから、期待と異なる動きをしている感触です。
スラッシングが原因と結論したいところですが、アクセスするハードドライブが集中していることが原因と思われます。
まとめ
仮想化に求めるものは、ハードウェアリソースの有効利用です。 この目的合理な設定を施す前提でまとめます。
- Windows 7 Ultimate SP1を仮想マシン上で稼働させる場合は、予め必要な物理メモリを分け与えておく必要
- プロセッサのリソース配分は、下限0%で自動配分(こちらは追試と詳しい検証が必要)
- アクセスが集中するハードドライブは、物理的に分けた方が望ましい(ここがI/O仮想化の支援機能なのかも)
加えて、ハイパーバイザー方式での仮想化環境についても検証しましたが、そちらの場合は、物理メモリの動的割当ができません。
また、仮想マシンへ一度割り当てた物理メモリを引き剥がすには、仮想マシンを一度停止させる必要があります。
こうしてみると、今のSI会社が売り出す仮想化技術は、嘘八百ですよね。 全然リソースを目的合理に配分できないじゃん、と。
開発・研究・保守・サポート支援費用を利用者に払わせようという意図が透けて見えます。
何時まで、こういうお為ごかしで必要を説明して、利用者が払う必要がない金銭を技術費で払わせるんだろうな。
こういう費用は、SI会社が自己の収益の中から支払うべき費用だろう、と。 単独のサイトに全額を要求するな。 だから信用がないんだよ。
情報システムは、本当に社会から信用されていないよね。