MENU

Hyper-V Server R2にCentOS 5.5 x64をインストールする方法

かなり多くの人がHyper-VにCentOSをインストールしているような印象を
受けました。Hyper-V ServerもCentOSも無料っていうのも要因かもしれな
いですね。Hyper-V Serverが、試用版とか体験版っていう概念では無くて
普通に無料なのが良いですね。

 

 

本ページでは以下のことを行っています。

・Hype-VにCentOS-5.5 x64のインストール

 

・インターフェース/DNS設定

 

・Linux 統合コンポーネントのインストール

 

以下、設定を記載します。

 

CentOS 5.5インストールファイルのダウンロード

x64をインストール予定なので以下のサイトから
「CentOS-5.5-x86_64-bin-1of8.iso」
〜「CentOS-5.5-x86_64-bin-8of8.iso」
迄の8ファイルをダウンロードします。
CentOS 5.5インストールファイルのダウンロードページ
CentOS 5.5インストールファイル
※x86ならば、1ファイル(CentOS-5.5-i386-bin-DVD.iso)のみで
良かったと思います。

 

Hyper-V Server R2の任意のフォルダへ格納します。

 

 

Hyper-Vマネージャから操作してのCentOSインストール

Hyper-Vマネージャから操作してのCentOSインストール

 

以前、Hyper-V Server 2008 R2をインストールした際に、
Windows 7 x64のVirtual PC機能を使用し
Windows Server 2008 R2 x64のドメインコントローラも
インストールし、その中でHyper-Vマネージャをインストールしました。
今回はそのHyper-Vマネージャを使用します。

 

まず、Hyper-V マネージャーの右ウィンドウ、
「操作」- 「新規」 - 「仮想マシン] を開き設定していきます。

 

メモリは「1024」MBにしました。

 

「ブートCD/DVD-ROMからオペレーティングシステムをインストールする」に
チェックを入れ、先ほど格納したISOファイル(CentOS-5.5-x86_64-bin-1of8)
を選択して、「完了」までセットアップしていきます。

 

インストールが始まり、指示に従ってISOファイル8個を
順次読み込ませていきます。

 

※インストール時、マウスは使用できないため
Altキー+NキーやShiftキー+Tabキーなどで操作していきます。

 

※セットアップ時のインストールするソフトウェアのグループ画面では
「server」を選択しました。

 

 

CentOS-5.5-x86_64-LiveCD.isoを使用した場合のキーボード入力について

 

今回は関係有りませんが、もしリモートデスクトップ経由で使用しているOSの
Hyper-VマネージャでHyper-V Server 2008 R2へ接続し、起動時に
「CentOS-5.5-x86_64-LiveCD.iso」を読み込んだ仮想マシンを起動、
接続した場合、そのままではCentOSの画面内でキーボードもマウスも
反応しません。マウスを操作すると、
「リモート デスクトップ セッションでマウスがキャプチャされていません。」
と表示されます。
なので、その場合はせめてキーボードを操作できるようにするため
メニューバーの「表示」の右クリックメニューから
「前画面表示モード」を選択します。
するとキーボード入力を受け付けてくれるようになります。

 

 

レガシネットワークアダプターの選択

仮想OSの設定でレガシネットワークアダプターを選択しておいて下さい。
WindowsVistaの時と同じく、OSのインストール後に統合機能を
インストールする流れです。
おそらく、netinstall版を利用してインストールする場合も、
レガシネットワークアダプターを選択しておかなければならないと思われます。

 

 

以前のページにネットワークアダプターの設定方法を少し記載しています。

 

Hyper-Vマネージャー画面右下の作成した仮想マシンのプロパティから
「設定」をクリックします。
ネットワークアダプターを追加し、先程の「仮想ネットワークマネージャー」で
確認した「新しい仮想ネットワーク」を選択します。
ゲストOSがWindows Server 2003 SP1以前のもの等では、
レガシ ネットワークアダプターを選択します。
Vistaの場合もレガシ ネットワークアダプターを選択します。
Vistaでは、その後にSP1をインストールし、
統合機能をインストールすればネットワークアダプターも使用できるようです。

 

 

インストール後の設定

 

作成した仮想マシンを選択し、右クリックメニューから起動します。
起動後、右クリックメニューから接続し、CentOS内で設定を進めていきます。

 

 

インターフェース設定

現在のeth0(レガシネットワークアダプター)のIPアドレス設定を行います。

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

※ループバックアドレスのファイル「ifcfg-lo」をコピー、編集して
「ifcfg-eth0」を作成する方が楽です。

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-eth0

 

中身は以下のような記載です。

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.16.0.180
NETMASK=255.255.0.0
GATEWAY=172.16.0.1
NETWORK=172.16.0.0
BROADCAST=172.16.255.255

※ifconfigで設定する方法も有りますが、その場合は再起動後に設定前の値に戻ります。

 

eth0を再起動します。

[root@localhost ~]# ifdown eth0
[root@localhost ~]# ifup eth0

 

※もしくはinterface eth0 (loopback interfaceも)を再起動します。

[root@localhost ~]# /etc/init.d/network restart

(start stop restart status が有ります)

 

ifconfigコマンドやpingを発行して、インターフェース設定が
反映されたことを確認します。

[root@localhost ~]# ifconfig

 

 

DNS設定

/etc/resolv.confを編集します。

[root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 172.16.0.1(ルータのIPアドレス)

※resolv.confに最初から記載されている「search localdomain」とは
ドメイン名を省略した際に自動でドメイン「localdomain」が
補完される、と言う意味です。

 

 

「Linux 統合コンポーネント」メディアのセット

高速なネットワークアダプターを使用可能にしたりするために
Linux統合コンポーネントをインストールします。

 

 

Linux 統合コンポーネントとは?

パフォーマンスの低下を防ぐために、Windows XP SP3、Windows Server 2003 SP2、
Windows Vista SP1 では VSC (Virtual Service Client) という、
カーネルモードで動作する(※)仮想マシン用のドライバが用意されており、
これを使用することでほとんど実機の動作と変わらないパフォーマンスで動作
させることができます。
(※VSC を使用しない場合、ユーザーモードのエミュレーションが行われる)

 

この VSC とその他の操作上の機能をゲスト OS の Linux に提供するのが
Linux 統合コンポーネントです。

 

まず、Hyper-V Server R2 で使用するLinux 統合コンポーネントをダウンロードします。
ダウンロードページ
Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2
もしくは
Linux Integration Services v2.1 for Windows Server 2008 Hyper-V R2

 

Hyper-V Server R2の任意のフォルダへ格納します。
Hyper-V Server R2へログインし、コマンドプロンプトから
「Linux Integration Services v2.1 for Microsoft Hyper-V.EXE」を実行します。
「Linux Integration Services v2.1 Read Me.pdf」と
「LinuxIC v21.iso」が作成されます。

 

仮想マシンのメニューから
「メディア」 - 「DVDドライブ」 - 「ディスクの挿入」を選択し、
「LinuxIC v21.iso」 をクリックします。

 

 

gccのインストール

gccをインストールします。

[root@localhost ~]# yum install gcc

 

 

kernel-develのインストール

kernel-develをインストールします。

[root@localhost ~]# yum install kernel-devel

 

 

kernelのアップデート

kernelとkernal-develのバージョンを合わせるために
kernelのアップデートを行います。

[root@localhost ~]# yum update kernel

 

 

「Linux 統合コンポーネント」メディアのマウント・コピー

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# mkdir /opt/ic
[root@localhost ~]# cp -R /mnt/cdrom/* /opt/ic

 

 

「Linux 統合コンポーネント」をmakeする

[root@localhost ~]# make

 

makeについて

Makefileには、ソフトウェアをコンパイルするための手順や
インストールするファイルなどが記されています。Makefileの
存在するディレクトリ内でmakeコマンドを実行すると、
Makefileの記述に基づいてソースがコンパイルされ、実行ファイル
が生成されます。

 

引用元
makefileとは

 

 

「Linux 統合コンポーネント」のインストール

[root@localhost ~]# make install

インストール後、再起動します。

 

 

ロードされている「Linux 統合コンポーネント」モジュールの一覧を見ます。

[root@localhost ~]# lsmod | grep vsc
blkvsc
storvsc
netvsc
vmbus
scsi_mod

がロードされていました。

 

 

seth0の確認

[root@localhost ~]# ifconfig

「seth0」が作成されていました。

 

ネットワークアダプターの設定

シャットダウンした後、仮想OSの設定から
レガシネットワークアダプターを止めて
ネットワークアダプターを設定します。

 

 

seth0の設定

「ifcfg-eth0」の設定をそのまま引き継ぎ「ifcfg-seth0」を作成しました。

[root@localhost network-scripts]# mv ifcfg-eth0 ifcfg-seth0

 

その後、作成した「ifcfg-seth0」をviで開き、1行目の「DEVICE=eth0」を「DEVICE=seth0」へ編集します。

 

インターフェースをリロードします。

[root@localhost ~]# /etc/init.d/network reload

ifconfigやpingを発行し、正しくネットワーク設定が完了したことを確認します。

 

 

リモートデスクトップでのマウスキャプチャを可能にする。

現在、WindwosXPからWindows Server 2008 R2へリモートデスクトップ接続した後
Hyper-Vマネージャを起動、仮想マシンのCentOSへ接続していますが、
その場合はCentOS内でマウスを操作することは出来ません。
なのでそれの対処です。

 

Windows Server 2008 R2を介さずにWindwosXPから
直接VNCでCentOSにリモート接続する場合はこの設定は必要有りません。

 

まず、inputvsc から
「inputvsc.iso」をダウンロードします。
その後Hyper-V Server R2へ格納し、仮想OSメニューの
「メディア」を選択し、「inputvsc.iso」をセットします。

 

「inputvsc.iso」のマウント・コピー

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# mkdir /opt/inputvsc
[root@localhost ~]# cp -R /mnt/cdrom/* /opt/inputvsc

 

inputvscのインストール

[root@localhost ~]# cd /opt/inputvsc/dist

 

[root@localhost dist]# make

 

[root@localhost dist]# make install

※インストール方法が間違っているかもしれません。

 

出来ないよりは、まし程度にマウス操作が可能になりました。