2009年3月24日火曜日

Hyper-V Linux統合サービス

 
先日、Hyper-V上に構築したCentOS(参照)にLinux用統合サービスをインストールする。
(Microsoft Windows Server 2008 Hyper-V Linux Integration Components)

そもそもサーバ用途で構築しているので、マウスキャプチャは意味がありません。
ネイティブのネットワークアダプタを使ってパフォーマンスアップを目的とします。

1.LinuxICの取得
Microsoft Connectにログオンします。(hotmail等のアカウントが必要です)
「会員制プログラム一覧」→「カテゴリ」→ 「サーバー」→
「Linux Integration Components for Microsoft Hyper-V」 → ダウンロード(左上)
以下を指定してダウンロードします。
Microsoft Windows Server 2008 Hyper-V Linux Integration Components (Japanese)

※2009/07/20 RC2リリースに伴い一部変更になりました。
「会員制プログラム一覧」→「カテゴリ」→ 「サーバー」→ 「Linux Integration Components for Microsoft Hyper-V」 → ダウンロード(左上)
タイトルからLinux Integration Components RC2を指定してLinux_IC_v2_RC2.exeをダウンロードします。
サポートゲストOS

●SUSE Linux Enterprise Server 10 SP2 x86 and x64
●SUSE Linux Enterprise Server 11 x86 and x64
●Red Hat Enterprise Linux 5.2 x86 and x64
●Red Hat Enterprise Linux 5.3 x86 and x64
 
自己解凍式のEXEを展開するとLinuxIC.isoというイメージがあります。
これをそのまま仮想マシンのディスクの挿入として読み込みます。





2.LinuxICをコピー(rootで実行)
挿入されたISOファイルのあるドライブをマウントして中身をコピーします。また、コピー先はoptのlinux_icとします。

# mkdir /opt/linux_ic
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
# cp /mnt/cdrom/* /opt/linux_ic/ -r
# ls /opt/linux_ic/
drivers
patch
setup.pl
shim
v2v

3.仮想化関連のインストール
必要なツールをyumでインストールします。
# yum install kernel-devel kernel-xen kernel-xen-devel

4.ハイパーコールアダプタのインストール
# /opt/linux_ic/setup.pl x2v /boot/grub/grub.conf
Checking for XEN Virtualization install...done.
Installing Linux integration components (x2vshim) for Hyper-V...
Backing up /boot/grub/grub.conf...done.
Updating /boot/grub/grub.conf...done.
Copying X2V shim...done.
*** The x2vshim has been installed successfully. You will need to reboot. ***

再起動が必要ですと言われますが、実はこのまま再起動してもXENカーネルがうまく起動してくれません。

# ls /boot
x2v-pae.gzがあることを確認し次にgrub.confを書き換えます。
# vi /boot/grub/grub.conf
kernel /boot/x2v-32.gz → kernel /x2v-pae.gz
ここで再起動するとXENカーネルで起動します。
もし起動できない場合は、起動時に表示されるカーネル指定画面でXENカーネルになる前の旧カーネルを指定してとりあえず起動し、ここまでの内容をもう一度チェックしてみましょう。

5.ドライバのインストール
# /opt/linux_ic/setup.pl drivers
Checking if required components are installed...done.
Installing Linux integration components (vmbus, enlightened ide, enlightened scsi and network drivers) for Hyper-V...
Building vmbus driver...done.
Building blkvsc driver...done.
Building storvsc driver...done.
Building netvsc driver...done.
Installing vmbus driver...done.
Installing blkvsc driver...done.
Installing storvsc driver...done.
Installing netvsc driver...done.
Updating module dependencies. This may take a while...done.
Installing various udev rules and scripts...done.
Updating initrd image...
Backing up /boot/initrd-2.6.18-92.1.22.el5xen.img to /boot/initrd-2.6.18-92.1.22.el5xen.img.backup0
Done. Updated /boot/initrd-2.6.18-92.1.22.el5xen.img
Updating grub conf file...
Done.
Installing vmbus startup script...
*** The drivers have been installed successfully.*** [ OK ]

一度シャットダウンします。

6.Hyper-V仮想ネットワークの変更
レガシーネットワークアダプタを削除して通常(VMBus)のネットワークアダプタを割り当てて起動する。
ネットワークインターフェイスはeth0からseth0に変わります。
※seth0はDHCP取得に設定されている

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes → ONBOOT=no
# vi /etc/sysconfig/network-scripts/ifcfg-seth0
※私の環境です
DEVICE=seth0
BOOTPROTO=static
BROADCAST=10.1.255.255
IPADDR=10.1.1.71
NETMASK=255.255.0.0
NETWORK=10.1.0.0
ONBOOT=yes
 
# /etc/init.d/network restart
 

2009年3月10日火曜日

Hyper-VにCentOS5をインストール

 
ホストPC
●CPU:インテルXeonプロセッサ E5405
●チップセット:インテル 5000X
●メモリ:8GB
●HDD:500GB 7,200RPM (SAS HDD/3.5インチ) x2
●NIC:Broadcom BCM5708C NetXtremeⅡ GigE ×2
●OS:Windows Server 2008 Standard Edition 日本語版

ゲストPC
●CentOS 5.2 x86
●サーバ用途(Web,DBなど)X-Windowは入れない

1.事前準備
 
 ・外部と通信ができる仮想ネットワークの作成しておきます。
  このホストPCには2つの物理NICがあるためその1つをホストOS用、もう1つを仮想OS用にしました。
  ※以下のCentOS、Windows仮想マシンのネットワークは同一セグメントと仮定します。
 

 
 ・OSはネットワーク経由でインストールしますのでネットワークインストール用のイメージファイルを
  ダウンロードしておきます。
   ※http://ftp2.riken.jp/Linux/centos/5/os/i386/images/boot.iso
 
2.仮想マシンの作成

 ・仮想マシンの新規作成ウィザードの実行します。
 ・仮想マシン名を決定します。 ※可能ならば配置場所は独立したドライブがよい
 ・メモリを割り当てます。 ※後で変更が可能
 ・ネットワークの構成は「接続しない」を選択します。 ※後ほど設定
 ・仮想ハードディスクを作成します。
 ・インストールオプションは「後でオペレーティングシステムをインストールする」を選択します。

 これで仮想マシン(空状態)ができあがります。
 
3.仮想マシン設定
 
 ・仮想マシンリストから作成した仮想マシンを右クリックして「設定」を選択します。
 ・「ハードウェアの追加」から「レガシネットワークアダプタ」を指定して追加します。
 ・準備で作成した仮想ネットワークを指定します。
 
4.OSインストールの準備
 
 ・仮想マシンリストから作成した仮想マシンを右クリックして「接続」を選択します。※起動はしない
 ・メニューからメディア>DVDドライブ>ディスクの挿入を選択します。
 ・準備でダウンロードしたboot.isoを指定します。
 ・仮想マシンを起動させるとCentOSの開始画面が表示されます。

5.インストールの開始(簡単に説明)
 
 ・テキストインストールをしますので「linux text」と入力します。
 ・インストール言語は「English」を指定します。
 ・キーボードは「jp106」を指定します。
 ・インストール方法「HTTP」を指定します。
  なぜかFTPで行うとモジュール読み込みでエラーになるので・・・
 ・ネットワーク「IPv4」で「マニュアル設定」にします。またIPv6は無効にします。
 ・ご自分のネットワークに合わせて各アドレスを指定します。
 ・Webサイトを指定します。
  Web site name:ftp2.riken.jp
  CentOS directory:/Linux/centos/5/os/i386
 ・ネットワーク構成とサイトおよびサイトパスが正しければ「Welcome to CentOS!」と表示されます。
 ・データを消去しますよという警告です。
 ・すべてのパーティションを削除して作り直す。
 ・すべてのデータが削除されますがいいですかという警告です。
 ・パーティションの設定を行う場合は「Yes」自動設定する場合は「No」
  ここでは「No」を指定します。
 ・ネットワークインターフェースの設定する場合は「Yes」しない場合は「No」
  ここでは「No」を指定します。
 ・ゲートウェイやDNSを指定します。
 ・ホスト名を適当に決めます。
 ・タイムゾーンを指定します。「System clock uses UTC」のチェックを外し、Asia/Tokyoを指定します。
 ・rootのパスワードを設定します。
 ・パッケージを選択します。すべてのチェックを外し「Customize software selection」にチェックを入れます。
  サーバ用途して使うためグループパッケージ群では余計なものは入れずに「Base」のみチェックを入れます。
  ※必要なものはOSインストール後に足していきます。
 ・インストール準備が整うと始めてもいいですかとなりますので「OK」で開始します。
 ・ドライブからboot.isoを取り出して再起動します。
 ・再起動中にセットアップエージェントが起動します。ここではFirewallのみ設定します。
  「Security Level」「SELinux」を共にDisabledにします。
 
 これでOSのインストールは完了です。
 
 ですが・・・ネットワークやチップセット等がレガシーモードのままなのでパフォーマンス的によくない。
 そこでパフォーマンス向上のためHyper-VのVMBusを使えるようにLinux用の統合サービス
 Linux Integration Components(LinuxIC)を適用してみたいと思います。
 詳細については追って公開しようと思います。
 ※現段階ではLinuxICはBata版となっているためmicrosoft connectから取得する必要がある。
 

Google検索