"Hyper-V" の一覧

Disk2Vhd使用時の注意点

Microsoftより無償で提供されているDisk2Vhdを使って物理から仮想へサーバー移行する際の注意点。

  1. イメージ作成時に「Prepare for use in virtual pc」にチェックを入れる事。
  2. Disk2VHDにて作られたイメージは起動時にDisk2Vhdが付与されたプロファイルがboot.iniに追加されている。これで起動するとHyper-Vの「統合サービス」が導入できないので、起動時に通常のプロファイルから起動するようにキーボードで操作する事。また、なるべく早くプロファイルは削除しておく。
  3. チーミングなどを行っていたサーバーはNICの構成を作り直す事。

あとは、RAID監視ツールや物理環境用のバックアップツールはアンインストールした方が良いでしょう。

ちなみに物理的に単一のドライブに見えている場合は、イメージデータも同じように作成されるのでお気をつけて。※「Cドライブ、Dドライブと分けてVHDファイルは作られない。」という事。

[Win2012]Hyper-Vにて構成ファイルがロックできませんでした(0x80070037)の対処方法

Windows Server 2012にて物理から仮想へサーバー移行時の話。稼働しているシステムがNICのMACアドレスをチェックしていたので、MACアドレスを物理と同じに変えてしまえばOKだなーと余裕をかましていた。エディタで修正しHyper-Vマネージャにて起動しようとすると・・・

「構成ファイルがロックできませんでした。」と0x80070037エラーが発生する。

XMLのカッコ閉じ忘れたのか?といろいろチェックしたが、XML的には問題ない。結局、判ったのはHyper-V Virtual Machine Managementサービス実行中に構成ファイル(*.xml)を修正すると発生するという事。

MACアドレスを変更したい場合は、サービスを止めてからエディタで修正しましょう。

image

Disk2VhdでP2V

Disk2Vhdを使用して、物理サーバーを仮想化しようと試してみた。が、「A disk read error occured」との事で起動できず。HDDのイメージバックアップツールのCDから仮想化したサーバーから起動してみるとディスクが正しく認識されていない。

どうも、Disk2Vhdは物理HDD毎にイメージファイルを生成するもよう。物理HDD内に複数のパーティションが割り当てられている場合は同時にイメージを生成する。
他の仮想サーバーの構成に合わせてドライブごとに*.vhd(HDDイメージファイル)を分割しようとすると正しく認識できないイメージデータになる。

新規で仮想サーバーを構築する際はあまり意識しないため、結構はまりそう。ご注意を。

※確認したDisk2VHDのバージョンは1.63で「Prepare for use in Virtual PC」はチェックONにしてます。

WindowsServerバックアップの問題点

WindowsServer2008以降に追加されたWindowsServerバックアップは便利なんだけど、

仮想サーバーでMySQLを運用している場合VSS(ボリュームシャドウコピー)に対応していないのでは?という点からバックアップイメージが正しく取れていないかも?という疑いが。

じゃあ、MySQLを停止させれば良いじゃん?⇒バックアップ開始と終了がゲストOSで検出できないorz

バックアップ製品が無いとダメかな…

WindowsServer2008でLANが繋がらない

Windows2008ServerでLANが繋がらないと思ったら、IPを設定していない(DHCPなどでも設定されていない)NICを繋いでおくと、ファイヤーウォールのパブリックプロファイルが有効になってしまいPingへの応答やリモートデスクトップが接続できなくなる。

WS00002

そんな時は、上記のようにプロトコルを外してやればOK。しかし、この状態からHyper-Vの役割を追加しようとすると認識されないようなので、Hyper-V用の仮想NICとして使いたい場合はHyper-VをインストールしてからLANケーブルをつなぐ必要がある(;・∀・)

指定した仮想PCの起動と停止

Hyper-Vの仮想HDDのバックアップ時やもろもろに必要だったのでこちらを参考に修正。

指定した仮想PCの起動

Dim strArg      ' 引数情報
Dim objWMI, VMList, VM
Set objWMI = GetObject("winmgmts:\\.\root\virtualization")
Set VMList = objWMI.ExecQuery("SELECT * FROM Msvm_ComputerSystem")  

For Each strArg In WScript.Arguments
    For Each VM In VMList
        If VM.Caption = "仮想マシン" then 
            If VM.ElementName = strArg Then
		WScript.Echo strArg & "を起動中。"
                VM.RequestStateChange(2)
            End If
        End if 
    Next
Next

指定した仮想PCの停止

Dim strArg      ' 引数情報
Dim objWMI, VMList, VM, objVMShutdown, objRes
Set objWMI = GetObject("winmgmts:\\.\root\virtualization")
Set VMList = objWMI.ExecQuery("SELECT * FROM Msvm_ComputerSystem")

For Each strArg In WScript.Arguments
    For Each VM In VMList 
        If VM.Caption = "仮想マシン" and VM.EnabledState = 2 then
            If VM.ElementName = strArg Then
                If Not VM.EnabledState = 32769 Then
                    Set objVMShutdown = objWMI.ExecQuery("SELECT * FROM Msvm_ShutdownComponent WHERE SystemName='" & VM.Name & "'") 
                    objRes = objVMShutdown.ItemIndex(0).InitiateShutdown(True,"Scripted Shutdown")
                    WScript.Echo strArg & "を停止中。"
                Else
                    Msgbox "NG"
                End If
            End if
        End if
    Next
Next

ZABBIX-JPの導入まとめ

Hyper-V上のCentOSへZABBIXをインストール

その他

感想

高機能過ぎて、まだまだ使いこなせず。初期導入したら、まず日本語ドキュメントとアラートメール送信の設定方法などをなぞりながらちょっとずつ理解を進めるしか無い。SNMPのエラー検出の設定までできたら個人的には十分。

Hyper-Vでライセンスが不要なLinux上でさらに無料なZabbixで監視できることにOSSのありがたみを感じます。Win2008サーバーを購入してリソースが余っているならぜひ。

Hyper-Vでマウスキャプチャ無効時の対処

WindowsXPをHyper-Vにインストールしていたら、画面の解像度確認の画面でダイアログをアクティブにできずキーボードで操作できない。

4-13

※キャプチャ忘れたので、ここより借用。実際にはこのダイアログのタイトルバーが非アクティブでグレーになっている。

この状態でダイアログをアクティブにする方法は、

  1. タブ文字をメモ帳やエディタでコピーする。
  2. 仮想マシン接続アプリケーションのメニューからクリップボード>クリップボードからテキストを入力Altキーを押しながらクリック

まさかこんな事で本当にできるとは・・・。キーコードを送りたい際に試してみる価値ありという事で。