ようこそゲストさん

すらりん日記

メッセージ欄

分類 【Hyper-V】 で検索

一覧で表示する

2010/01/04(月) Vista SP2でHyperV管理ツールを

Hyper-V
基本的に参考にしたのは http://www.atmarkit.co.jp/fwin2k/win2ktips/1106hvremote/hvremote.html のページです。
しかし、VistaSP2ではこのままではいくつかうまくいかなかったので、多少試行錯誤しています。

VistaSP2(x64)にHyper-V管理ツールを入れる

KB952627を下記の英語のフォーラムのなかにあったURLからインストール。
日本語のKBではだめでした。古いのかもしれない。

http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/8a0131f0-3663-423f-9afb-66d458274e7e

HVRemoteスクリプトを取得

今回Hyper-Vを動かすサーバーはドメイン不参加マシンのため、ワークグループで作業することに。
そのためには色々と準備が必要です。

まず、次の場所から設定スクリプトをダウンロードしておきます。
http://code.msdn.microsoft.com/HVRemote

サーバーとクライアント両方に必要です。
ダウンロードした後は、C:\Windowsなどにコピーして使います。
また、管理者としてのコマンドプロンプトで下記のコマンドを実行しておきます。
cscript //h:cscript

サーバーで作業

コマンドプロンプトで実行します。
HVRemote /add:server01\hvmanagement
server01がマシン名、hvmanagementが管理権限を持つユーザー名とします。

クライアントで作業

HVRemote /mmc:enable
HVRemote /AnonDCOM:grant
もし、クライアント側で使っているユーザーと、サーバーでの管理ユーザーが別物で、
普段クライアント側で使っているユーザーで管理作業したい場合には、
"別のユーザー資格情報でログインする"を利用しておくとよいらしい。
cmdkey /add:server01 /user:hvmanagement /pass
ここでパスワードも入力して、クライアント側でデータを保持しておく。


ここまで実行できたら、Vista(SP2)上に追加されたHyper-Vマネージャを起動して
接続できることを確認してみる。

ファイアウォールの再設定

・・・接続できない。
結果としてはファイアウォールで阻まれているところまで突き止めたもののどれが原因なのか不明。
全ファイアウォールをOFFにすれば動くものの、いくら内部ネットワークとはいえやりたくはない。

とりあえずWindowsファイル共有のポートを許可するようにしたところ、やっと動き出した。
あまりこれもあけたくはなかったが仕方ないのかも。。。
  • ファイルとプリンターの共有=>プライベートネットワークにのみチェックを入れる
[追記]
それでもマシンを構成直後でやはりエラー。うーん、なかなかうまくいかない。

1: おちゃ 『はじめまして 私も日本語のKBではだめで苦労していてこちらを試してらインストールができました。 ありがとうございました。』 (2010/02/02 15:03)

2: slash 『> おちゃ さん コメントありがとうございます。 そちらでも上記を参考にしてうまくいったとのことでなによりです。 後日の日記で...』 (2010/02/04 20:19)

2010/01/05(火) Vista SP2でHyperV管理ツールを(続)

Hyper-V
Windows Vista for x64-based Systems 用の更新プログラム (KB952627)
をインストール。昨日のはx86版だったようで。

ダウンロード: KB952627 x64版

続いて KB970203をインストールしてみる。

ダウンロード: KB970203 x64版

昨日はこれら適用の段階でも、
”適用する必要はありません”だったのに、今回は正常にインストールされた。





しかし、症状はそのままあいかわらずで、結局うまく操作できません。
リモートデスクトップを使えるように設定して、この場をしのいでみようかと思います。

2010/01/06(水) Vista SP2でHyperV管理ツールを(続2)

Hyper-V
仮想ネットワークを設定なし(作らない)でHyper-Vを再構築してみたら、
昨日の手順でつながった!

どうやら問題はネットワークアダプタの問題まで絞り込めた。

幸い実験PCにはもう1つネットワークカードを刺していたので、
そちらのほうで同じ症状が起こるかテストしてみた。

試してみたカードは、
Intel Pro/1000GT Desktop Adapter




結果は、正常に動いてる。
このカード上にHyper-Vの仮想ネットワークアダプタを設定し、
さらにこちらのボードを使って通常のLANに接続するようにしてみても問題なし。

おまけに、あれだけ苦戦していたリモートによるHyper-V管理も問題なさげで。

通常使用の Marvell Yukon 88E8056 では使用に耐えないという結論で終了のようだ。
このあたりはさすがIntel NICといったところかな。

2010/01/07(木) Vista SP2でHyperV管理ツールを(続3)

Hyper-V
通常使用の Marvell Yukon 88E8056 では使用に耐えないという結論で終了のようだ。
このあたりはさすがIntel NICといったところかな。
と昨日結論づけたけど、これに進展あり。

実はWindowsUpdateの中にこのMarvell Yukon 用の新しいドライバが出てた。
これを適用した後でPCを再起動して、再チャレンジしてみたもののやっぱり接続を繰り返すのは変わらない。
状態が表示されて、切断されて、再接続試みて~の繰り返し.

1: 伊藤 『自分もほぼ同じ状況ではまりました。 Marvell 88E8055 + Hyper-v + リモートデスクトップでホストがかなり...』 (2010/02/05 9:18)

2: slash 『Intelのカードを刺して安定させちゃったので、 次の機会に何か対策が見つかったら記事を書きたいと思います。 オンボードに多い...』 (2010/02/09 23:19)

3: 伊藤 『解決策、みつかりました。 デバイスマネージャー内のYukonのドライバ詳細の中の 項目で、Large Segmentation ...』 (2010/02/21 11:10)

4: slash 『お返事ありがとうございます。 確かにこちらでもVMware Serverをインストールしていた環境でした。 以前オフロード関係...』 (2010/02/21 11:27)

2010/01/11(月) VMwareブリッジもどきを使いたい

Hyper-V
VMwareで使えていたブリッジタイプのネットワークが組みたい。
仮想マシンを色々と使っているとそう感じました。

Hyper-Vの標準状態で使えるネットワークのタイプは次の通り。
  • 外部
  • 内部
  • プライベート
外部は物理デバイスを接続するタイプ。直接、物理ネットワークにデータを流せる。
内部は、仮想マシンと、動かしているマシンの通信用。
プライベートは仮想マシン同士で通信できるくらいに限定されたもの。

仮想マシンから外部のWebを参照したりするには、外部タイプのネットワークデバイスを設定しておかなくてはいけない。
でも、この外部タイプは複数の仮想マシンから使用することは出来ない。


でどうするかというと、物理NICと仮想NIC(内部タイプ)とをブリッジ接続して、
VMwareのブリッジのような状況を作り出す。
"ネットワーク接続"を開いて、2つのアダプタを選択。
そして右クリックして、ブリッジ接続を選択する。

あとは、仮想PC内でIPを設定してあげるか、DHCPでIP割り当てられる設定であれば、
VMwareのときと同じような使用感の完成です。

仮想PCを増やすときには、追加した接続をブリッジに追加する必要がある。
これには、ブリッジデバイスのプロパティを開き、今追加した接続デバイスにチェックをいれて追加してあげればよい。

2010/01/11(月) Hyper-V上CentOS5.4で統合サービスをインストール

Hyper-V
Hyper-V環境でCentOSを使っている状況で、統合サービスをインストールするのを試してみました。
結論としては、ネットワークデバイスはVMBusが使用OK,マウス&キーボードのキャプチャはNGとなりました。

環境はこんな感じです
  • WindowsServer2008R2 Std(Hyper-V 2.0)
  • CentOS 5.4(x64)
    • ネットワークデバイスは、レガシーネットワークデバイスを追加。

CentOSでの準備

まっさらな状態でインストール。
最低限のため、Desktop環境(Gnomeら)もインストールしない。

そして、yum update で現時点での最新へ引き上げておく。

必要ツール類のインストール

yum install gcc kernel-devel make
依存関係でもっと複数のパッケージがインストールされたりもする。
インストール後は、再起動をしておく。

Server2008R2での準備作業

Linux用の統合サービスツールをダウンロード

"Linux Integration Components for Windows Server 2008 Hyper-V R2 - 日本語"をダウンロードする.
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=c299d675-bb9f-41cf-b5eb-74d0595ccc5c

ダウンロードしたファイルを展開すると、isoファイルが含まれているので、
これをisoイメージを置いておく場所などに移動しておく。
実際には、isoファイルをマウスらで選択できるので、ローカルコンピュータ上ならどこでも平気そう。

統合サービスツールをインストールする

WindowsServer2008R2上で作業する。
Hyper-V上でLinuxIC v2.isoをマウントする。
この後CentOS環境からもディスクのマウントを行う。

この先はCentOS内で作業する
mkdir -p /mnt/cdrom
mount -t iso9660 -o ro /dev/hdc /mnt/cdrom

必要ファイル類をいったんコピーする.

mkdir /usr/local/linux_ic_v2
cp -R /mnt/cdrom/* /usr/local/linux_ic_v2

ドライバ類をインストール開始.

cd /usr/local/linux_ic_v2
./setup.pl drivers
NETVSC_DRV: netvsc_open() ERROR! unable to open device...link is down.
と表示されているが、これはきっとレガシーネットワークデバイスのみ現在有効なためだろう。
インストールが終わったら、シャットダウンしておく。
shutdown -h now

マシン構成を変更する

統合サービスツールいれたので、レガシーネットワークデバイスを削除する。
そして、ふつうのネットワークデバイスを追加する。

設定を変更したら、仮想マシンを起動する。


ログインして、ネットワークデバイスの状況を確認してみると、
seth0というデバイスを使用する状況へと変わっています。

20100012_0038centos54_x64.jpg

2010/01/19(火) XenServerからHyper-Vへ

Hyper-V

XenServerの仮想マシンをHyper-Vへ移行する(XenServer2Hyper-V)

やっている人がいないのか、全く情報がなかった。
XenServerへ行き着いたが最後、ここが終着駅のような感じがしていました。

しかしやっと、XenServerからHyper-Vへ仮想マシンを移行することが出来ました。
その時の手順をここに記載しておこうと思います。

まともな手段とは言い難いため、試す人は自己責任でお願いします。

うまくいった、もっといい方法がある、という情報をお持ちの方は
教えていただけると幸いです。

手順

環境

  • CentOS5.3(x86_64)
  • ディスクパーティションはCentOSのデフォルトのまま
  • XenServer5.0 から Hyper-V 2.0 へ

通常カーネルのチェック

まず移行元のマシンにxenではない通常カーネルがインストールされているか確認する。
もし入っていない場合は、yum install kernelなどで通常カーネルをインストールする。

データ領域の抽出

LVMを使っているのでスナップショットをとる。
・・・しかし、ディスク全体をすでに使用中で割り当てられなかったので強引にやります。
dd if=/dev/mapper/VolGroup00-LogVol00 of=/backup/VolGroup00-LV00 bs=1m
dd if=/dev/xvda1 of=/backup/boot_part bs=1m
/backupはNFSでマウントした別マシンの共有です。ここにいったんデータを書き出します。
本来はスナップショットをとって、それに対してこのddでのバックアップをとるのが正しいです。

移行先の準備

とりあえずデフォルトのまま CentOSをインストールしておきます。消しちゃうけど。
その後、CentOSのディスクを使ってrescueモードで起動。起動時の linux rescue とコマンド打てばOK

そして、ネットワーク有効にしておきます。
/mnt/sysimageにHDDの状態がマウントされる設定は無効にしておきます。

データを書き戻す

復元先である、/dev/hda1,/dev/mapper/VolGroup00-LogVol00が見えていることを確認してください。
もしなければ、ディスク内容がsysimageにマウントされる設定にして、
手動で、/mnt/sysimage をアンマウントさせてください。
dd if=/backup/boot_part of=/dev/hda1
dd if=/backup/VolGroup00-LV00 of=/dev/mapper/VolGroup00-LogVol00 bs=1m
sync; sync; sync;
これで、強引に現在のLVMの中身に書き戻しを行います。
いったんここで再起動します。

MBRの書き込み(Grub設定)

続いて、MBRの再設定を行います。
再度CentOSのレスキューモードで起動します。
今度は、sysimageにHDD内容がマウントされるようにします。

まず、XenServerの上で動いていたため、デバイスが /dev/xvdaとなっています。
このままだと、MBRの設定も出来ないので、修正します。
vi /boot/grub/device.map
この中にデバイス名で、/dev/xvdaが記載されています。
これを今回のデバイスである /dev/hdaに変更します。*1
その後、MBRの書き込みを実行します。
grub-install /dev/hda
そして、CentOSのディスクを取り出して、マシンを再起動します。
grubのメニューが立ち上がってくるので、通常カーネルを選択して起動させます。

起動したものの

各サービスが起動しはじめて、いい感じに起動完了しそうなのですが、
途中で進まなくなります。
そのときのエラーの様子はこのような感じに。
INIT: Id "co" respawning too fast: disabled for 5 minutes
とりあえずシングルユーザーモードで起動します。
grubで起動パラメータを single を与えて起動させます。
起動カーネルを選んで "e"をタイプ。
kernel行を選んで"e"をタイプ。
そしてkernel行の末尾にsingleを追加.
"b"をタイプしてこの設定で起動します。
そして、inittabを変更
vi /etc/inittab
そして次の記載がある行をコメントアウト、コメント解除します。
co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
この部分を以下のように書き換えます。
#co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
起動パラメータも修正してしまいます。
vi /boot/grub/grub.conf
通常カーネルの項目で、console=xvc0の部分を削除
その代わりに、divider=10 を追加しておく*2
そして、再起動します。

うまくいけば、これでログイン可能なコンソール状態になります。

normal_startup.jpg

*1 : これを忘れると、"does not have any corresponding BIOS drive"というエラーになる。

*2 : VMwareでは有名な時刻ずれ対処の方法です. Hyper-Vでも有効そう

2010/01/24(日) Windowsサーバーを移行する(XenServerからHyper-Vへ)

Hyper-V
ドメインサーバーを移行するための手順の覚え書きです*1
試す場合には自己責任でお願いします。

*1 : まだ未完。でもうまくいきそう

WindowsServer2003 on XenServerをHyper-Vへ移行する

準備

元マシンで"システム状態"のバックアップを作成
  • アクセサリ/バックアップ
  • 詳細モードで起動
    • システム状態のバックアップを作成する

仮想HDD(VHD)を作成

XenConvertをインストールして、
CドライブをVHDに変換します。

仮想マシンを作成

作成したVHDファイルを使用して、仮想マシンをHyper-Vで作成します。
そして起動させます。
→ おそらくここでエラー. ログイン状態まで持って行けません。


事前に作成したバックアップを使って、復元させます。
F8を押して、ディレクトリサービス復元モードで起動。
  • バックアップを起動
    • 復元モードでウィザードを開始
    • 復元する項目を展開していって、System Stateが左側のツリーで表示される状態にする
    • そして、そのSystem Stateにチェックをいれる。
    • 既存ファイルを置き換えるようにして、詳細モードを設定すること
左側のツリーでSystem Stateまで展開しないとチェックをいれられない点でちょっととまどいました。
このあと再起動すると、以前エラー終了した部分が通過できます。

しかしまだエラーが残っている模様
"スタートアップの最中、少なくとも1つのサービスまたはドライバにエラーが発生しました。"
と出る。
それでもしばらく放置しておくと、ログイン画面までは遷移できたので、少しずつは稼働できそうな予感。
ログインして、何がエラーとなっているのかを確認する。

ログインしてみた

大幅なハードウェア変更と警告されて、再起動を要求されるがキャンセル。
そして統合サービスツールをインストールする(インストール後再起動).

またライセンス認証を聞かれるが、キャンセルして継続。
今度はエラーとなったサービスもなく起動完了。

まだライセンス認証通してはいないが、うまくいきそうなところでいったん中断です。

2010/01/25(月) linuxの統合サービス

Hyper-V
CentOS5.4にて実験

XenServerから移行した環境で、
linux統合サービスをインストールするとどうもカーネルパニックを引き起こす。
LVMのボリュームを見つけられないような節がある・・・。

体調もよろしくないので、深追いはまた後日・・・。

2010/02/01(月) XenServer to Hyper-Vに移行するために

Hyper-V

kenel panicを引き起こさないために。

XenServerからHyper-Vに移行させる際、最新の状況にまでupdateをかけたりするとはまってしまう。

こちらで試してみたところ、
カーネルは 2.6.18-164.10.1.el5 がいい感じの最新となるようだ。

Linux統合サービスをインストールためには、
通常kernelとgccそして、kernel-devel, kernel-headersが必要になるようだ。
gcc以外は、2.6.18-164.10.1.el5 を指定してインストールする必要がある。
yum install kernel-2.6.18-164.10.1.el5
yum install kernel-devel-2.6.18-164.10.1.el5
yum install kernel-headers-2.6.18-164.10.1.el5
kernelの起動パラメータに、hda,hdbについてnoprobeと書いてある部分を無効化する。
これを忘れると移行したサーバーについては、kernel panicとなった

ディスクの中身について。

先日の日記のまま ddで取り出して適用する方法でうまくいく。
ただし、boot領域も省かずに同じように作業すること。
そしてレスキューモードによる再起動を繰り返して、grubの設定、MBRの再設定を行うこと。
bootの部分を横着すると GRUBと表示されて進まなかったり、カーネルモジュールが不一致したりしていいことがない。

その他

統合サービスをインストール前に、ネットワークアダプタを接続しておくと、
ドライバ類インストールの段階でこける模様。取り外して再度やってみたらうまくいった。