トップ回答者
ゲストOSのMSCS構成について

質問
-
Hyper-V上で、2台のWindwos2003のゲストOSをMSCS構成にしようとしています。
共有ディスクをHyper-VのローカルにVHD形式で作成し、2台から共有させようと
しているのですが、1台目を起動中に2台目を起動した際に下記のエラーが発生してしまいます。
----------------------------------------------
[Window Title]
Hyper-V マネージャ
[Main Instruction]
仮想マシン MSCS-NODE2 の状態を変更中にエラーが発生しました。
[Content]
'MSCS-NODE2' は起動できませんでした。
Microsoft Synthetic SCSI Controller (インスタンス ID {956BEF01-09F1-4020-A882-A345BAFE0318}): 電源をオンにできませんでした。エラー: 'プロセスはファイルにアクセスできません。別のプロセスが使用中です。'
次のエラーが原因でアタッチメント 'D:\Hyper-V\Virtual_Hard_Disks\Quorum Disk.vhd' を開けませんでした: 'プロセスはファイルにアクセスできません。別のプロセスが使用中です。'
----------------------------------------------
回避方法がありましたら教えて頂けませんでしょうか?
Vitual Serverの時は、「SCSI コントローラ」追加の際に「SCSI バスをクラスタのために共有する」といった設定が
あったのでそれで上手くいっていたんでしょうが。。。
回答
-
http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=3333137&SiteID=36
に載っていますが、Windows Server 2008では、パラレルSCSIでのフェールオーバークラスタはサポートされていません。
なので、上記のURLにも書かれているとおり、SANか、iSCSIターゲットで実装するしかありません。
自分は、LinuxでiSCSI ターゲットを導入した環境を用意できたので、これからHyper-V上でのフェールオーバークラスタを組んでみようと思っています。
すべての返信
-
http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=3333137&SiteID=36
に載っていますが、Windows Server 2008では、パラレルSCSIでのフェールオーバークラスタはサポートされていません。
なので、上記のURLにも書かれているとおり、SANか、iSCSIターゲットで実装するしかありません。
自分は、LinuxでiSCSI ターゲットを導入した環境を用意できたので、これからHyper-V上でのフェールオーバークラスタを組んでみようと思っています。
-
以下の二つは、iSCSIターゲットとして構築できます。Hyper-V仮想マシンからは普通に使えます。
が、Hyper-V仮想マシン上にWindows Server 2008 Enterpriseでインストールしたフェールオーバークラスタから、記憶域をオンラインにできない現象に見舞われてます-
iSCSI Enterprise Target
-
scsi-target-utils
とりあえず、Hyper-V仮想マシン上にWindows Server 2003入れて、フェールオーバークラスタがインストールできて、記憶域がオンラインになるのか、おいおい確認します。。。
-
-
Hyper-Vにて環境を構築する際には、Vitual Serverの時にあった「SCSI バスをクラスタのために共有する」という
オプションが選択肢として無い為に、標準機能のみではフェールオーバクラスタの構成は不可能だと個人的に判断しています。
私がフェールオーバークラスタのテスト環境を構築した際には、共有用のDiskはHyper-Vから割り当てるのでは無く
Microsoft iSCSI Software Initiatorを使用して直接ゲストOSに共有ディスクをマウントしました。
この手法を用いて、当方ではWin2003,2008の両方でフェールオーバークラスタを構成する事に成功しました。
Win2008では、HW要件としてiSCSI、SANでしか構成出来なくなっており実質的にはゲストOSからSAN上のDiskを
直接マウントする事は不可能だと思いますので、iSCSIを採用する選択肢しかないように思います。
様々な形態のDiskをiSCSI形式にエミュレートするするツールが有りますので、そちらを利用すれば特にSANやiSCSIなどを
用意しなくても、テスト環境を構築出来ると思います。
-
「starwind」と「MicrosoftのWindows iSCSI initiator」を使えばゲストOS内でMSCS構成が組めます。
starwindは期間限定フリーですが、1ヶ月ぐらいの使用であれば、NoMoneyでFinishできます。
starwindのダウンロードはこちら: http://www.infocentral.jp/daunrodo/starwind/35547.htm
Windows iSCSI initiatorのダウンロードはこちら:http://www.microsoft.com/downloads/details.aspx?FamilyID=12cb3c1a-15d6-4585-b385-befd1319f825&DisplayLang=en
ぽぴ2号が試した環境は、3つのゲストOSを用意する環境です。
1. iSCSIターゲット用のゲスト (Windows2003R2EESP2 32bit)
->iSCSI用のディスクとして、Hyper-Vで作成した仮想DiskをSCSIコントローラとして設定しておきます。
->マウントしたDISKにはiSCSI用OSからパーティションはきらないで放置しておきます。
2. MSCS1号機用のゲスト (Windows2003R2EESP2 32bit)
3. MSCS2号機用のゲスト (Windows2003R2EESP2 32bit)
1.のiSCSI用のゲストに、事前にダウンロードしておいたstarwind.exeをインストールします。
インストール後にstarwindのショートカットから共有したいディスクを設定します。
共有DISKの設定は、starwindのヘルプで確認できます。しごく簡単です。英語ですが。
2.で作成したMSCS1号機に事前にダウンロードしておいたMicrosoftのWindows iSCSI initiatorを
インストールします。インストールが終わったら起動して、1.のiSCSIターゲットに接続します。ログオン
ボタンをクリックすれば、ローカルボリュームとして認識されます。
認識できたら、パーティション設定します。
あとは、ちょいちょいとクラスタの設定をします。 途中までクラスタの設定ができたら、、、
3.を起動し、MicrosoftのWindows iSCSI initiatorをインストールします。initiatorを起動して、DISKが
認識できたら、あとは残りのクラスタの設定(クラスタノードの追加)をします。
というわけで、おわり。。あとはアナタの好きなクラスタ設定と試験を開始できます。
ぽぴ2号は、上記の手順および環境で、フェールオーバー、フェールバックがふつうにできましたです。
若干ジャンクな香りの漂う試験環境でしたが。。(;_;) だって仕方なひ・・・。。。
あと、ちなみに、Enterpriseではなく、DatacenterEditionであれば、iSCSIターゲットの作成がOSに
標準でついているらしいので、お金にかなりゆとりのある方は試してみてはいかがでしょうか。
-
ぽぴ2号さんが言われているのは、WS2003の事なのかもです。WS2008DCには iSCSI ターゲットは無いですね。
僕の持っている TechNet ライセンスでは WS2003DC が使えないでそのあたり不明ですが...
> やっぱり、iSCSI機器を買うしかないかぁ
取り敢えずのテストであれば、既に紹介されている SartWind で事足りますが、パフォーマンス計測や運用環境だとかなり辛いですね。
ちなみに、TeraStation ISはSCSI-3チェックでNGになるので、共有ディスクとしては使うないです。- 回答の候補に設定 sideinside2000 2012年11月26日 22:24