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

Software Engineer and Web Developer's Diary

1年後の自分に向けて

RHEL5にXENをインストールしてみた

RedHat Linux 5 に XEN をインストールした。

/etc/xen/DomainU-Name にある設定ファイルを編集しないと外部と接続できないのにはてこずった。

参考にしたのは以下の 2 サイト。 ほんとはもっといっぱい参照したけどほんとに使ったのはこれぐらい。

http://wp.techtarget.itmedia.co.jp/contents/?cid=852 http://ysmt.blog21.fc2.com/blog-entry-177.html

Virtual Machine Managerを使ってGUIでインストールする。 インストール元としてFTPを採用(ほかHTTP、NFSとか使えるみたい)。 Domain0にFTPサーバを立ててRHEL5のメディアをDomain0のローカル領域にコピーする。 メディア突っ込んでDomain0で # mount /dev/dvd /media # cp -a /media/* /var/ftp/pub FTPサーバはRHEL5にvsftpdが入ってるからそれを使う。ちなみにanonymousが有効じゃないとダメ。 vsftpdはデフォルトで ・anonymousが有効 ・ログイン先となる領域は↑でメディアをコピーした/var/ftp/pub のはずだから、vsftpdの設定はデフォルトで構わないと思う。 VM をファイルベースじゃなくてパーティション(物理 or LVM)に入れようとか思ってて、Domain0にRHEL5インストールする時に普通にGUIインストーラパーティションを切ってるとそのパーティションは必ずどこかにマウントされてるはず。このVM用の領域はアンマウントしておかなきゃいけない。/etc/fstabからもマウント設定を削除しておく。 これで準備OK。 Virtual Machine Managerを起動して ・新規 ↓ ・進む ↓ ・システム名入力   ホスト名を入力。 ↓ 準仮想化、完全仮想化の選択   準仮想化を選択。 ↓ インストールメディアのURL   ftp://192.168.122.1/pub ↓ 通常のパーティション、シンプルファイルの選択   通常のパーティションを選択。あからじめ作っておいたLVMの領域を指定。 ↓ 仮想ネットワーク、共有物理デバイスの選択   仮想ネットワークでdefaultを選択。 ↓ VMの最大メモリ、起動時メモリ、仮想CPU数を指定 ↓ 完了(VMが作成された) ここからOSのインストール Choose a Language   Japanseを選択。 ↓ Language Unavailable   無視してOK。 ↓ Keyboard Type   jp106を選択 ↓ Configure TCP/IP   Enable IPv4 supportのDHCPを選択。IPv6は無効にする。 以降は通常のRHEL5のインストールと同じでインストーラに従っていけばいい。 Domain0のtcp_wrappersを有効にしてる場合は/etc/hosts.allow、/etc/hosts.denyの設定に注意しないとFTPサーバに接続できない。 Domain0の/etc/resolv.confに外部のDNSサーバを指定してたらFTPサーバからのパッケージ群の読み出しが激しく遅かった。 プライベートアドレスを逆引きできるように内部のDNSサーバにしたり/etc/hostsを設定した方がいい。 で、VMはOSインストールする前にFTPでDomain0と通信を行なうわけだけど、この時のTCP/IPの設定はどうなっているのか? 実はDomain0インストール時に仮想化のパッケージを選択してるとデフォルトでlibvirtdがインストールされて ・Domain0上に192.168.122.0/24のDCHPサーバが起動する。 ・Domain0に仮想スイッチvirbr0が作られる。 ・Domain0には192.168.122.1が割り当てられてvirbr0に接続される。 っていう状態になる。 で、上のVM作成時のConfigure TCP/IPDHCPを選ぶと、VMには一時的に192.168.122.0/24のアドレスが割り当てられてvirbr0に接続される。これで Domain0と通信できるようになるというわけ。このネットワーク設定はあくまで”一時的”なものでインストールメディアを読み込むためだけに使う。 で、本番のネットワーク設定は通常通りRHEL5のインストール段階で行なうわけだけど、インストール完了後Domain0の仮想スイッチの状態を見てみると↓になってた。 # brctl show bridge name bridge id STP enabled interfaces virbr0 8000.feffffffffff no vif13.0 xenbr0 8000.feffffffffff no pbond0 vif0.0 vif13.0(13の部分は可変)がDomainUのインターフェースなわけだけど、virbr0に関連付けされてる。xenbr0じゃないと外部と通信できない。 なので、Domain0にあるDomainUの設定ファイルを書き換える。 【/etc/xen/DomainU-Name】 vif = [ "mac=xx:xx:xx:xx:xx:xx,bridge=virbr0" ] を vif = [ "mac=xx:xx:xx:xx:xx:xx,bridge=xenbr0" ] に修正。 DomainUを再起動。
Xen徹底入門
Xen徹底入門
posted with amazlet at 08.08.06
平 初 長谷川 猛 宮本 久仁男 大島 孝子
翔泳社
売り上げランキング: 25543
おすすめ度の平均: 3.5
5 かなり良かったです!
4 ドキュメント化されていないことまでドキュメント化
1 間違いが多い