読者です 読者をやめる 読者になる 読者になる

Linux に Xen をインストールする

LPIC 304 のお勉強を兼ねて、Xen の検証環境を構築する。VMware Workstation 12 Player(以下、VMware Player)上の仮想マシンCentOS 6.4 をインストールし、その中に Xen をインストールしてみる。

はじめに

  • Xenアーキテクチャには触れません。
  • Xen のユーティリティにも触れません。
  • 手順はネットに繋がっていることが前提です。
  • Xen をデフォルトで起動するところまで持っていきます。

仮想マシンの作成

VMware Player を起動し、[新規仮想マシンの作成(N)] を選択する。ダイアログに従い適当に設定を進め、以下の画面が表示されたら [ハードウェアをカスタマイズ(C) ...] を選択する。

f:id:umanohoneo:20170215232240p:plain

左側の [プロセッサ] を選択し、右側の [優先モード(M)] を 「Intel VT-x/EPT または AMD-V/RVI」に設定する。また、「Intel VT-x/EPT または AMD-V/RVI を仮想化(V)」にチェックを入れる。[プロセッサ コアの数(C)] は物理マシンのスペックに応じて適当に。[閉じる] をクリックし、前の画面に戻る。

f:id:umanohoneo:20170215232535p:plain

後はお好み設定で CentOS 6.4 をインストールする。OS インストール時に Xen をインストールこともできるかもしれないが、後でもできるので一旦後回し。

今回はデスクトップ環境をインストールしたので、以降はその場合の手順を示す。

Xen のインストール

CentOS が起動したら [Applications] - [System Tools] - [Terminal] をクリックし、端末を起動する。

root にスイッチして、

$ su - 

yumXen っぽいパッケージを探す。

# yum list available | grep xen
centos-release-xen.x86_64
(一部省略)

centos-release-xen.x86_64 なるパッケージが見つかった。パッケージの情報を見てみる。
(以下はインストール後のコマンド実行結果を貼り付けている)

# yum info centos-release-xen
Installed Packages
Name        : centos-release-xen
Arch        : x86_64
Epoch       : 10
Version     : 8
Release     : 2.el6
Size        : 539  
Repo        : installed
From repo   : extras
Summary     : CentOS Virt SIG Xen repo configs
URL         : http://wiki.centos.org/QaWiki/Xen4
License     : GPL
Description : yum configs and scripts to allow easy installation of Xen on CentOS.
            : 
            : NOTE This package may change major versions of Xen automatically on
            : yum update.  If this is not the behavior you want, please install the
            : sub-package specific to the version of xen you want to use and then
            : remove this package.  (At the moment this is centos-release-xen-44 or
            :                        centos-release-xen-46).
(一部省略)

見るべきは Summary と Description だ。Xen on CentOS の簡易インストールを実現するための、yum の設定とスクリプト、ということらしい。Xen 本体ではないようだ。
パッケージが何者か分かったら、いよいよインストールする。

# yum install centos-release-xen

ちなみに、今の作業によって、Xen パッケージを配布しているリポジトリyum で参照するための .repo ファイルができているはずだ。

[root@localhost ~]# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root  539 Mar 23  2016 CentOS-Xen.repo
(一部省略)

リポジトリが追加されたところで、もう一度 yumXen っぽいパッケージを探してみよう。

# yum list available | grep xen
xen.x86_64        4.6.3-5.el6    @centos-virt-xen
xen-doc.x86_64    4.6.3-5.el6    @centos-virt-xen
(一部省略、余白削除)

Xen のパッケージが見つかった。ドキュメントと一緒にインストールする。

# yum install xen xen-doc

これで XenXen 用のカーネルがインストールされた。

ブートローダの設定

マシン起動時に Xen が立ち上がるようにするため GRUB の設定をする。と言っても、Xen のインストール時に勝手に設定されているはず*1なので確認してみる。

# cat /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.18.44-20.el6.x86_64)
        root (hd0,0)
        kernel /xen.gz dom0_mem=1024M,max:1024M cpu(省略)
        module /vmlinuz-3.18.44-20.el6.x86_64 ro ro(省略)
        module /initramfs-3.18.44-20.el6.x86_64.img
title CentOS (2.6.32-358.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-358.el6.x86_64 ro ro(省略)
        initrd /initramfs-2.6.32-358.el6.x86_64.img

title から次の title までが一つのエントリで、上の例ではエントリが2つある。kernel /xen.gz ~となっている0番目のエントリが Xen の Domain-0 用のエントリだ(ここでは便宜上0番目から数える)。

マシン起動時にデフォルトで起動するエントリは、default で指定する。default=0 となっているので、デフォルトで Xen が起動する設定となっている。

想定どおりの設定となっていることが確認できた。

動作確認のため、マシンを再起動する。

# shutdown -r now

マシンが起動したら、稼働中のカーネルのリリースを確認してみよう。

$ uname -r
3.18.44-20.el6.x86_64

grub.conf のエントリと一致していたら成功だ。