CentOS 5.6上でXenを使って仮想環境を作るための基本設定
先日MSDNを契約、テスト用に自由にOSを使えるようになったので、テスト用のCore i7マシンにXenを導入して仮想マシン上でテスト環境を作ろう、という話。いままではテスト環境が必要になったら実環境上にインストール→不要になったら削除、を繰り返していたんだけど、仮想環境を使えばスナップショットも取れるし便利だろう、ということで。
ベースの環境はCentOS 5.6。CentOS 5.6上にXen環境を構築する解説はネット上にたくさんあるわけですが、その多くがGUIを使ったセットアップ方法を解説していて、コンソールベースのCentOS環境でインストールする方法の解説は少なかったので以下に手順をメモしておきます。
まず、仮想化関連パッケージを導入。
# yum groupinstall Virtualization # yum install kernel-xen
Xenを動かすには専用カーネルが必要なので、/boot/grub/menu.lstを確認してXen対応カーネル(2.6.xx-xxx.x.x.el5xen)でブートされるように設定してリブート。また、xendおよびxendomainsサービスを起動するように設定しておく。
# /sbin/chkconfig xend on # /sbin/chkconfig xendomains on # /sbin/service xend start # /sbin/sercice xendomains start
仮想マシンの作成とOSインストールは「virt-install」コマンドで行える。Fedora 15をインストールするなら下記のような感じに。
# /usr/sbin/virt-install --nographics --prompt Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no What is the name of your virtual machine? fedora How much RAM should be allocated (in megabytes)? 1024 What would you like to use as the disk (file path)? /var/lib/xen/images/fedora.img How large would you like the disk (/var/lib/xen/images/fedora.img) to be (in gigabytes)? 10 What is the install URL? http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/releases/15/Fedora/i386/os/ : : インストールを開始しています... ファイル .treeinfo を読出中... | 906 B 00:00 ファイル vmlinuz-PAE を読出中... | 3.7 MB 00:00 TA ファイル initrd-PAE.img を読出中... | 94 MB 00:40 TA ストレージファイルを作成中... | 10 GB 00:00 ドメインを作成中... | 0 B 00:04 Connected to domain fedora エスケープ文字は ^] です [ 0.000000] Reserving virtual address space above 0xf5800000 [ 0.000000] Initializing cgroup subsys cpuset : :
コンソール上で仮想環境上のコンソールが表示され、インストールを行える。
インストール完了語は、Ctrl-]でコンソールを抜けられる。稼働中の仮想マシンは「xm list」コマンドで確認可能。
# /usr/sbin/xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 2012 8 r----- 780.4 fedora 2 1024 1 -b---- 9.9
仮想マシンのコンソールに接続するには、「xm console <仮想マシン名>」を実行すればよい。コンソール接続の終了は先と同様Crtl-]。
# /usr/sbin/xm console fedora
x86_64版CentOS 5.5で64ビット版FirefoxでJavaプラグインを使う
x86_64版CentOS 5.5のFirefoxでのJavaプラグイン導入に軽くハマったのでメモ。
x86_64版のCentOS 5でFirefoxにJavaプラグインを導入したい場合、ググると「32ビット版Firefox+32ビット版Javaランタイムを使え」という話がぼちぼちとヒットするわけですが、とりあえずJavaプラグインだけを使いたい場合は64ビット版でも可能なようです。ていうか自分の場合、32ビット版を導入しようとしたらうまくいきませんでした……。
ということで、手順。まず64ビット版Firefoxをインストール。
$ sudo yum install firefox # 64ビット版Firefoxをインストール
続いてjava.comのダウンロードページから「Linux x64 RPM」をダウンロード。

「Linux x86 RPM」をダウンロードする
RPMと書いてあるが、ダウンロードしたファイルはRPMではなくインストーラなので、root権限で実行してインストール。自動的にRPMがインストールされる。
$ chmod +x jre-6u21-linux-x64-rpm.bin $ sudo ./jre-6u21-linux-x64-rpm.bin
続いて設定。インストールしたjreを利用するようalternativesコマンドで指定。
$ sudo /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jre1.6.0_21/bin/java 2 $ sudo /usr/sbin/alternatives --config java
最後にmozilla用プラグインフォルダにプラグインのシンボリックリンクを張って完了。
$ cd /usr/lib64/mozilla/plugins/ $ sudo ln -sf usr/java/jre1.6.0_21/lib/amd64/libnpjp2.so .
あとはFirefoxでabout:pluginsを開きプラグインが正しくインストールされているか確認したり、java.comにアクセスして動作を確認するなり適当にどうぞ。
LinuxとFreeBSDのベンチマーク比較
やや旧聞となるが、PhoronixがLinuxとFreeBSDのベンチマーク比較を行っている(Debian Linux Benchmarked Against Debian GNU/kFreeBSD & FreeBSD)。比較対象はDebian kFreeBSD 7.3、Debian kFreeBSD 8.0、Debian GNU/Linux(カーネル2.6.32)、FreeBSD 7.3、FreeBSD 8.0。
「Debian kFreeBSD」はカーネルとしてFreeBSD、ユーザーランドとしてDebianを採用したものだ。Debian GNU/LinuxとDebian kFreeBSDはカーネルだけが異なり、またDebian kFreeBSDとFreeBSDはユーザーランドだけが異なる。これらを比較することで、ユーザーランドもしくはカーネルだけの性能比較が行える(と期待できる)点で興味深いベンチマークである。
ベンチマーク結果であるが、gzipでの圧縮やGnuPGでの暗号化、MAFFT(分子生物学向けの核酸・アミノ酸アライメント作成ツール)、GraphicsMagickによる画像のリサイズ処理、Himeno BenchmarkについてはDebian kFreeBSDやDebian GNU/Linuxが高パフォーマンス、という結果だった。いっぽう、C-Rayでの3DグラフィックレンダリングについてはFreeBSD 7.3/8.0が高速な傾向が見られている。
また、Debian GNU/LinuxがFreeBSDやDebian kFreeBSDよりも高速だったのはdCrawによるRAW画像の現像処理、Sudokut(数独演算アプリ)、SQLiteのインサート処理。
このようにベンチマークごとに結果はばらばらであり、DebianのユーザーランドとFreeBSDのユーザーランドのどちらが高速か、またLinuxカーネルとFreeBSDのカーネルのどちらが高速かは単純には言えないという、なんともモヤモヤとした結論となっている。このベンチマークでは実行マシンとしてThinkPad R52とThinkPad T61を使用しているが、マシンによって結果が違うのも微妙なところだ。
ただし、マルチスレッドによるI/O処理ベンチマークについては、特にランダムWriteについてはLinuxカーネルのほうがパフォーマンスを発揮する傾向があるようだ。
