〜 インストール & Debian環境構築編 〜
みやもとくにお<wakatono@todo.gr.jp>
2005/3/8
新規ドメインの作成
ここまでの作業で、Xen+Linuxカーネルという構成でXenを動作させることはできています。しかし、OSを動作させているドメインは、まだブート時に指定した1つだけです。ここでは、新たにドメインを作成してOSを動作させてみましょう。
■仮想マシン制御プログラムxendの起動
xendは、仮想マシンの生成や制御を行うためのプロセスです。xendは、以下のコマンドで起動します。
# /etc/init.d/xend start |
xendの実行にはPythonの実行環境一式が必要です。また、sargeの環境では、xendの実行時に以下のようなワーニングが出力されますが、起動してしまえば動作に支障はありません。
# xend start |
xendを経由して仮想マシンモニタを制御するユーザーインターフェイスは、xmとxensvの2種類用意されています。xmはコマンドラインプログラム、xensvはWeb経由で仮想マシンモニタを制御するサーバプログラムです。このほかに、xfrdというサーバプログラムがあります。
■新ドメイン用環境の作成
新しいドメイン用の環境を作成する作業は、基本的にOSの新規インストールと同様です。
「OSをインストールするのは面倒だがXenは試してみたい」という場合は、ttylinuxというイメージファイルを使ってみるとよいでしょう。
・ttylinuxの取得と展開
ttylinuxは、SourceForgeのプロジェクトページ(http://sourceforge.net/projects/xen/)にある「Example Disk Images」パッケージとして取得可能です。サイズは2Mbytesありません。
イメージはbzip2で圧縮されているので、展開します。
# bzip2 -dc ttylinux-xen.bz2 > /home/xen/ttylinux-xen |
・仮想マシン設定ファイルの作成
ひな型は、/etc/xenにあるxmexample1およびxmexample2です。xmexample1の方がシンプルです。
ここでは、以下の内容を/home/xen/ttylinux.confとして作成してみましょう。
kernel = "/boot/vmlinuz-2.6.10-xenU" |
それぞれの意味は以下のとおりです。
kernel | ||
使用するカーネルの指定。名称末尾に「xen0」が付くカーネルは特権カーネルと呼ばれる。通常、管理作業に使う以外の(機能を提供する)カーネルは、末尾に「xenU」が付くカーネルを用いる。 | ||
memory | ||
割り当てる物理メモリの上限。すべての仮想マシンが使うメモリの合計は、物理メモリの搭載量を超えることはできない。つまり、1Gbytesの物理メモリを搭載したマシンの場合、Xenが使うメモリ量と各仮想マシンが使うメモリ量の合計は1Gbytes以下にしなければならない。 | ||
name | ||
ドメインに付与する名前。仮想マシンの識別用なので、名前の重複は不可。 | ||
disk | ||
Xen上で使用するディスクイメージと名前、読み書きの可否を設定する。ここでは「file:〜」としているが、「phys:/dev/hda4」というように、論理パーティションを指定することも可能。 | ||
ip、netmask、gateway | ||
仮想マシンのネットワーク関係パラメータの指定。 | ||
root | ||
仮想マシンのルートパーティションを指定する。ここで指定するデバイスは、diskで指定したものである。ここではsda1を特定のファイルに割り当てているため、rootデバイスはsda1としている。 | ||
extra | ||
そのほかのカーネルパラメータの指定。 |
・仮想マシンの作成
/home/xen/ttylinux.confで各種パラメータを指定し、仮想マシン作成の準備が整いました。以下のコマンドを実行すると、仮想マシンが起動する様子が分かります。
# xm create /home/xen/ttylinux.conf -c |
# xm create /home/xen/ttylinux.conf -c |
このコマンドは、「/home/xen/ttylinux.confを設定ファイルとして仮想マシンを作成し、仮想マシンのコンソールにいまのttyを接続する」という意味です。
なお、[Ctrl]+[]]キー(telnetのエスケープ文字と同じ)で、仮想マシンのコンソールを終了できます。再びコンソールを起動したいときは、
# xm console ttylinux |
として、ttylinuxという名前を持った仮想マシンに対するコンソールを開設します。
coLinux/User Mode Linux環境をXenに移行できるか? |
すでにcoLinuxやUser Mode Linuxなどで構築した環境をXenで使ってみたい(移行したい)と考える人がいるかもしれません。 VMwareやVirtual PCの仮想ディスクファイルはどうにもなりませんが、coLinuxやUser Mode Linuxのディスクイメージは、実はそのままXeno Linuxで使用可能です。その上にインストールされているOSは、通常はi386版であることが多いということもあり、/etc/fstabの書き換えなどちょっとした手間を掛けるだけです。 |
■Debian GNU/Linux(sarge)環境の作成
Xenの仮想マシンでDebian GNU/Linux(sarge)環境を構築することもできます。方法はXenのUsers' manual(http://www.cl.cam.ac.uk/Research
/SRG/netos/xen/readmes/user/user.html)の「Installing Xen / XenLinux on Debian」の個所に詳しく記述されています。Users' manualにも書かれているとおり、Debian環境を構築するにはdebootstrap環境が必要です。
例えば、以下のように/home/xen/debian_imageというイメージファイルを作成し、そこにファイルシステム作成からsargeの環境インストールまでを実施します。
# dd if=/dev/zero of=/home/xen/debian_image bs=1024k count=2048 |
一連の作業が終了したら、ttylinuxの例で示したように、仮想マシンの設定ファイルを作成します。今回はゼロからのシステムイメージ作成になるため、ファイルシステム内のfstabの編集やスワップファイルの定義などが必須になります。
|
3/3
|
|
||||||
|
Linux Square全記事インデックス |
Linux Squareフォーラム 仮想化技術関連記事 |
連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
Linux Squareフォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|