2013/04/29

RDM経由でSATA認識、あわよくばWindows起動

VMWare Viewがアップグレードされ、VMWare Horizon Viewとなっている。
http://www.vmware.com/jp/products/desktop_virtualization/view/overview
ようやくまとまった時間がとれるようになったので、Viewの検証しようと思っていたが、
昨年末から自宅環境の構成を放置していたので、すっかり構成内容を忘れていた。

そして、ローカルサーバに接続しているSATAディスクに対し、RDMで利用できないか模索していたまま、中途半端にそのまま放置していたのを思い出した。

SATAでRDM
年末に、共有ディスク用のQNAP NASを購入したので、仮想OSはそちらに保存することとし、
ESXiデータはUSBフラッシュメモリ上に保存し、メモリを刺すだけでESXiで起動できるようにしている。
structure
ここで問題となったのは旧型機のML110はシングルコアの為、VMWareESXi5以降を起動させることができない点だ。
せっかく共有Diskを購入したのに、vMotionなどの利用に制限がかかるのはちょっと残念。
そんなこともあり、ESXiが入ったUSBメモリをもう一個用意し、
普段利用しているメイン機(192.168.11.2)に指し、年季の入った古いノートPCにvSphereClientをいれることで、検証環境を作った。


さて、これで一応の環境は整ったものの、検証するたびにメイン機が利用できなくなるのも面倒くさい。
メイン機をESXiで起動させ、共有Diskを見ると同時に、ローカルSATAを認識させ、さらにはRDMをつかって仮想OSとして普段使っているWindowsOSも起動できないか、、と考えたのである。
a
パススルーでSATAを認識させる方法もあるのだけど、
結局それだとSATAをVMFSにフォーマットして入れなおしが発生しちゃうので、あまりよくない。
やはりRDMで現在利用しているWindowsOSをそのまま残しつつ、
仮想化変換などの面倒な作業もとっぱらってそのまま利用できるのが理想。




結論を書くと失敗したのだけど
そんなわけで、夢のVMWareESXi一本化に向けた設定を実施してみる。
SATAのRDMでの認識させる方法はネットに色々転がっているので、はしょって書く。
1.ディスク構成の確認
ESXiへSSHでログイン。構成を確認する。
# fdisk –l
# ls /dev/disks/ -l
lrwxrwxrwx    1 root     root                 72 Apr 27 19:01 vml.0100000000202020202020474541353334524a325837335041486974616368 -> t10.ATA_____Hitachi_HDP725050GLA360_______________________GEA534RJ2X73PA
lrwxrwxrwx    1 root     root                 74 Apr 27 19:01
(↑こいつをRDM化させる)
vml.0100000000202020202020474541353334524a325837335041486974616368:1 -> t10.ATA_____Hitachi_HDP725050GLA360_______________________GEA534RJ2X73PA:1
lrwxrwxrwx    1 root     root                 74 Apr 27 19:01 vml.0100000000202020202020474541353334524a325837335041486974616368:2 -> t10.ATA_____Hitachi_HDP725050GLA360_______________________GEA534RJ2X73PA:2
lrwxrwxrwx    1 root     root                 72 Apr 27 19:01 vml.010000000020202020202056444b3431425434445a364b574b484454373232 -> t10.ATA_____HDT722525DLA380_______________________________VDK41BT4DZ6KWK
lrwxrwxrwx    1 root     root                 74 Apr 27 19:01 vml.010000000020202020202056444b3431425434445a364b574b484454373232:1 -> t10.ATA_____HDT722525DLA380_______________________________VDK41BT4DZ6KWK:1
lrwxrwxrwx    1 root     root                 36 Apr 27 19:01 vml.020000000060014054d1099a6dbe26d482bd91e2d9695343534920 -> naa.60014054d1099a6dbe26d482bd91e2d9
lrwxrwxrwx    1 root     root                 38 Apr 27 19:01 vml.020000000060014054d1099a6dbe26d482bd91e2d9695343534920:1 -> naa.60014054d1099a6dbe26d482bd91e2d9:1 
2.vmkfstools でRDM変換。作成場所は、/vmfs/volumes/ボリューム名/フォルダ の適当な場所へ。
# vmkfstools -r /vmfs/devices/disks/t10.ATA_____Hitachi_HDP725050GLA360_______________________GEA534RJ2X73PA /vmfs/volumes/iscsistore1/busopc/busopc.vmdk -a lsilogic
# ls -l
-rw-------    1 root     root       500107862016 Dec 19 23:11 busopc-rdm.vmdk
-rw-------    1 root     root                483 Dec 19 23:11 busopc.vmdk

-rで仮想RDM、-zで物理互換RDM。 作成ファイル名-rdm.vmdk,作成ファイル名.vmdkの2つができる。
500GBあるが、あくまで見せかけのファイルなので時間もかからず、すぐ作成される。 
3.できあがったvmdkファイルを使って仮想マシンを作成。 
4.仮想マシンを起動すると普段利用しているWindowsOSがESXi上で利用できる、、はずだった
6
WindowsOSのブートは走り、ロゴは出るのでディスクの認識はしているようなのだが、ブルースクリーン。
内容は、0x0000007b


■試行錯誤
0x0000007bが発生する主な原因はマザーボード構成が変わった時によく出るらしい。
現実世界でも、システムパーティションを含んだディスクを違う構成の別筐体にのせると発生することが多々あるらしい。
特にSATAの場合、IDEモードとAHCIモードの差異でよく起きるそうだ。

[ブート ドライブの SATA モードを変更した後にエラー メッセージが発生します。]
http://support.microsoft.com/kb/922976/ja

通常は、OSをインストールした後にモードを変更するとドライバを認識できずに立ち上がらないらしいが、
レジストリを変更することで、自動的にドライバを更新し認識できるようになるとのこと。
SATAをAHCIモードで利用する手順。(WindowsVista以降)
実行手順は、物理マシンでたちあげて実施した。 
1.レジストリを編集
以下のレジストリパスにある Start の値を 3から0に変更
HKEY_LOCAL_MACHINE\System\CurrentControlSet001\Services\Msahci
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\Msahci
HKEY_LOCAL_MACHINE\System\CurrentControlSet001\Services\IastorV
HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\IastorV 
2.BIOSからIDEモードからAHCIモードに変更
 
3.起動後、しばらくすると自動でAHCIドライバを更新してくれる。
c 
4.再起動し、次回起動時よりAHCIモードで利用可能となる。
以上の手順でAHCIモードに変更し、再びRDM経由で仮想OSを立ち上げ。

がっ、、ダメっっっ・・・

b

その後、ESXiのバージョンをあげてみたり、
ATAコントローラーのバージョンをあげてみたり、
RDMを仮想互換、物理互換とそれぞれ試してみたもののどれもダメだった。

OSの起動ができないだけで、通常のボリュームとしては認識できており、
別の仮想OSへ追加ボリュームとしてマウントさせる分には利用ができた。

ならばと、デュアルブートの設定で、はじめはその仮想OSを認識させて
ブートの選択でRDMを選択させてもやっぱり同じ場所でブルースクリーンが発生。

一応切り分けとして、余っていたボリュームがあったのでそちらにRDMを使って認識させ、
WindowsOSを1から仮想マシン上でインストールすると、問題なく起動できた。
ただし、そのボリュームを物理マシン上から直に起動するとやはり同様のブルースクリーンが発生し、
ダメだった。


んー、結論としてはAHCIモードとかとは関係なく、
別要因で仮想マシンと物理マシンとの間に不整合が発生しているみたい・・。
誰かうまくいった人、やりかた教えてくださいッッ


■参考にしたページ、ブログさま
http://blog.davidwarburton.net/2010/10/25/rdm-mapping-of-local-sata-storage-for-esxi/
http://freesoft.tvbok.com/tips/optimise_vista/ide_to_ahci.html
http://mo.kerosoft.com/0175
http://chinmai.net/~osakana/tech-memo/wiki.cgi?page=vSphere(ESXi)%A4%C7SATA%A5%C7%A5%A3%A5%B9%A5%AF%A4%F2RDM%A4%C7%BB%C8%A4%A6
http://vm-help.com/esx40i/SATA_RDMs.php

スポンサーリンク

スポンサーリンク