[[FC6/FedoraCore6]]
 
  どなたも翻訳には手をつけていらっしゃらないようなので〜。&br;
 
  [[原文>http://fedoraproject.org/wiki/FedoraXenQuickstartFC6?highlight=%28Xen%29%7C%28quickstart%29]]もそうですが [[Xen]] を理解している人向けの文章なので、初めての人には分かりづらいかもしれません。とりあえず使えるようになります。Fedora Core 6 からはディストリビューションのインストール時に [[Xen]] のセットアップを行うかどうか選択できるので、特にこの項目は必要ないかもしれません。とりあえず [[Xen]] は入れなかったけれども、あとから必要なときに参考になるかと思い、翻訳します。ちょっと分かっている人向け(自分は怪しいですが・・・)の書き方になってます。ご了承ください・・・。
 
  ポイントは、Fedora Core 5 の [[Xen]] と Fedora Core 6 の [[Xen]] は違うものであり、互換性がないという点です。これだけは押さえておけばトラブル回避につながるかと思います。
 ----
 #contents
 ----
 * Fedora Xen クイック・スタート FC6 - 日本語非公式訳 [#v1b9d6d8]
 ----
 * [[Xen]]((Xen:「ゼン」と読みます)) について [#of1dd988]
 
  Xen はオープンソースの仮想マシン構築システムです。Xen についての詳しい情報は Xen 公式サイトの http://wiki.xensource.com/xenwiki/ をご覧頂くか [[Fedora Xen>http://www.23styles.com/bbs]] ページをご覧下さい。
  Xen はオープンソースの仮想マシン構築システムです。Xen についての詳しい情報は Xen 公式サイトの http://wiki.xensource.com/xenwiki/ をご覧頂くか [[Fedora Xen>http://fedoraproject.org/wiki/Tools/Xen]] ページをご覧下さい。
 
  Fedora Core では Xen 3.0.x を実装しています。Xen 3.0.0 は 2005 年 12 月に公開されたものです。また、今回の Xen 3.0 のゲスト OS イメージは Xen 2.0 とは互換性がありませんのでご注意ください。
 
 * クイック・スタート [#ddb58ce3]
 
  Fedora Core 6 では前バージョンの Fedora Core 5 とは実装が異なっており、若干の修正点や大がかりな改良点が加えられています。以下のガイドではどのように Xen をセットアップするか、そして、どのように GUI インターフェースやコマンドライン上からゲスト OS を構築・設置して管理するか述べています。
 
 * システム動作条件 [#z2c0742e]
 
 - Fedora Core の標準のブートローダーとして GRUB を使う必要があります(*1)。
 
 - ゲスト OS が動作するための十分なハードディスクの空き容量が必要です。Fedora Core の最小システム(コマンドラインのみ)を稼働させるだけでも 600 MB 程度の容量が必要となります。また、デスクトップ環境(X-Window)を用いるときには約 3 GB の容量が必要となります。
 
 - 一般論となりますが、ゲスト OS として必要最低限快適に動作させるためには、少なくともゲスト OS 毎に 256 MB のメモリ容量(RAM)が必要となります。
 
 ** 仮想並行化(para-virtualized)ゲスト OS について(仮想並行化技術:Para-virtualized) [#re8d02b9]
 
  x86_64、ia64 アーキテクチャに対応した CPU は、どれも仮想並行化(para-virtualized)ゲスト OS の稼働が可能です。i386 のゲスト OS を稼働させるには CPU が PAE 拡張命令セット((PAE=Physical Address Extension=「ピー・エー・イー」= 4 GB 以上のメモリをサポートすること))をサポートしている必要があります。ですが、多くの古いマシンでは PAE 拡張に対応していません(新しくとも Pentium Mobile / Centrino は対応していません)ので注意が必要です。PAE 拡張に対応しているかどうかは次のコマンドを実行して調べることが出来ます。
 
  $ grep pae /proc/cpuinfo
  flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
 
  上記の例では PAE サポートがなされている事が分かります。もし何も表示されていない場合、該当マシンの CPU は PAE 拡張には対応していません。
 >
 [注意]新しい i386 ゲスト OS 環境を構築するためには PAE 拡張が必要となるように仕様が変更されています。以前の Xen バージョン 2.x では不要でした。仕様変更により多くのユーザが影響を受ける可能性はあります。
 <
 
 ** 仮想完全化(fully-virtualized)ゲスト OS について(HVM/Intel-V/AMD-V) [#u818e98b]
 
  仮想完全化(fully-virtualized)ゲスト OS を運用するにはホストとなる CPU が仮想化に対応している必要があります。典型的な例としましては、Intel VT や AMD-V です。Xen は両 CPU が対応している一般的な 'HVM' 層(レイヤー)を用います。Intel VT をサポートしているか調べるには 'vmx' フラグを調べてみてください。AMD-V サポートは 'svm' フラグです。
 
  ....CPU が Intel の場合....
  # grep vmx /proc/cpuinfo 
  flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht
    tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
 
  ....CPU が AMD の場合....
  # grep svm /proc/cpuinfo
  flags           : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx
    mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy
 
 * 仕様 [#v90615d5]
 
  コマンドライン上で root ユーザ権限が必要な場合、行の先頭文字列は『 # 』となっています。root ユーザになるには 'su -' コマンドを使うのが一般的です。コマンド入力後は root パスワードを入力してください。
 
 * Xen のインストール [#p8f7c7b8]
 
  Fedora Core 6 を新規インストールする場合には、Xen の専用部門が設けられていて、そこで Xen をインストールするかどうか選ぶことができます。
 
  もう既に Fedora Core 6 をインストールしてしまっている場合でも、Xen カーネルやツール群は以下のコマンドを実行することでインストール可能です。
 
  # yum install kernel-xen xen virt-manager
 
  この yum コマンドにより xen が必要とするカーネルや管理ツールなどのパッケージ群がインストールされます。'kernel-xen' パッケージにはハイパーバイザーであるホスト OS やゲスト OS として動作するカーネルが入っています。同様に 'xen' パッケージでは管理プログラム群がセットアップされます。
 
  yum のインストール後には GRUB の設定も追加されています。ファイル /boot/grub/grub.conf が自動編集され、xen カーネルが動作するような記述がされています。ですが、標準でブートするようには設定されていません。ブート時に xen カーネルが稼働するようにするには grub.conf の編集が必要です。
 
  GRUB でブートする際に xen-kernel が標準で起動されるようにするには、ファイル /boot/grub/grub.conf を編集して、xen カーネルをブートさせるように編集してください(*2)。
 
  以下の記述例は /boot/grub/grub.conf で Xen 仮想マシンのカーネルが起動するようにしたものです。
 
  default=1
  timeout=5
  splashimage=(hd0,0)/grub/splash.xpm.gz
  hiddenmenu
  title Fedora Core (2.6.18-1.2784.fc6)
          root (hd0,0)
          kernel /boot/vmlinuz-2.6.18-1.2784.fc6 ro root=LABEL=/1 rhgb quiet
          initrd /boot/initrd-2.6.18-1.2784.fc6.img 
  
  title Fedora Core (2.6.18-1.2784.fc6xen)
          root (hd0,0)
          kernel /boot/xen.gz-2.6.18-1.2784.fc6
          module /boot/vmlinuz-2.6.18-1.2784.fc6xen root=LABEL=/1
          module /boot/initrd-2.6.18-1.2784.fc6xen.img
 
 
 * Xen を有効にする方法 [#f6c057ad]
 
  Xen カーネルでシステムが起動した後に、正常にカーネルが xen に対応しているかどうか念のために確認を大古ないます。Xen カーネルが動作中であれば、以下のコマンドを実行して fc6xen という記述があるかどうか確認してください。
 
  # uname -r
  2.6.17-1.2600.fc6xen
  
  # xm list
  Name                              ID Mem(MiB) VCPUs State  Time(s)
  Domain-0                           0      610     1 r----- 12492.1
 
  この出力結果は、Xen カーネルが読み込まれている事と、Domain-0 (ホスト OS ) が稼働中である事が分かります。
 >
  標準のセットアップではゲスト OS のネットワーク接続は、ホスト OS に自動的にブリッジされる事に注意しておいてください。つまり、ゲスト OS は自動的にホスト OS と同じ IP アドレスを取得して動作しているという事です。DHCP サーバが IP アドレスを提供するような設定であるか、設定のあるネットワークでしたら、ゲスト OS に対して適切に IP アドレスを割り当てるような設定が必要になってきます。ネットワークの接続方法はファイル /etc/xen/xend-config.sxp ファイルを編集します。
 <
 
 * Fedora ゲスト・システムの構築 [#r1c63496]
 
  Fedora Core 6 での Xen インストールについてですが、Fedora Core 6 のゲスト OS も anaconda(インストーラー)をサポートしており、ゲスト上で利用可能になっています。インストール作業を行いたい場合は xenguest-install プログラムを用いるか、GUI インターフェースの virt-manager を使います。
 
 ** 'xenguest-install' を用いた Fedora ゲスト・システムの構築 [#j5bb560e]
 
  xenguest-install プログラムを用いると、コマンドライン上での対話型(インタラクティブ)インストール作業となります。
 
  # /usr/sbin/xenguest-install
 
  新しいゲスト OS を作成する際には様々な不明点も出てくるでしょう。そのような場合のための --help オプションが準備されています。速攻でインストール作業を終わらせたい場合(キック・スタート)のためのオプション -x ks=options もあります。
 
 + 『 What is the name of your virtual machine? 』まず仮想マシンの名前を考えます。これはゲスト OS を区別するためにラベルと呼ばれる事になり、管理上に必要となるものです。ラベルは xm コマンドを用いて仮想マシンを管理する際や、GNOME の Xen パネル(アプレットです)で動作する virt-manager で表示・管理される名前にもなります。補足しておきますと、ここで指定した名前は設定ファイルにも用いられます。たとえば /etc/xen/<名前> ファイル中にゲスト OS に対する設定が記述されます。
 + 『 How much RAM should be allocated (in megabytes)? 』次はどれだけメモリ容量 (RAM)を割り当てるかの設定です。単位は MB(メガバイト)で指定します。たとえば 256 MB の場合は 256 とします。現行バージョンの Xen では 256 MB 以下の RAM 割り当ては推奨されていませんのでご注意下さい。
 + 『 What would you like to use as the disk (path)? 』その次にはディスク上のパスを指定します。ゲスト OS が使用するディスク・イメージをローカル・ディスク上のファイルのパス名として指定します。たとえば /home/joe/xenbox1 といった指定方法です。ここで指定されたファイルがゲスト OS のディスク・イメージ全てとなります。
 + 『 How large would you like the disk to be (in gigabytes)? 』ディスク容量の割り当ては GB (ギガバイト)単位で指定します。どの程度が適切でしょうか。"標準"(デフォルト)インストールのためには 4 GB 程度の容量が必要となります。もし、前項で既にパス上にファイルが存在している場合、この質問項目は表示されません。
 + 『 Would you like to enable graphics support (yes or no): 』アプリケーションのインストーラーをグラフィカルにするかどうか、yes か no を入力します。
 + 『 What is the install location? 』インストール元となる場所はどこですか?、この質問は Fedora Core 6 のインストール時と同様に anaconda がどの方法を使ってインストールするかの選択になります。選択肢は6つあり、中には NFS、FTP、HTTP による指定もサポートされています(その場合はインストール・ツリーの指定を適切に行ってください)。たとえば、それぞれ次のように指定してください。
 
 >
 - nfs:my.nfs.server.com:/path/to/test2/tree/
 - http://my.http.server.com/path/to/tree/
 - ftp://my.ftp.server.com/path/to/tree
 <
 
 >
 [注意] インストール作業はネットワーク経由で行わなくてはいけません。ローカル上のディスクや CD-ROM を使ってのインストールはできないのです。ですが、ホスト OS 上に installation tree (インストレーション・ツリー)を予め準備しておき、NFS 共有ディレクトリとして用いる方法もあります。
 <
 
  さて、実際のインストール作業はこれからが本番です。もしグラフィカルなインストール環境が利用可能であれば VNC ウインドウなどを使うことも出来ます。もし、グラフィカルな環境でなくとも、標準的なテキスト形式によるインストールも可能です。どちらも同様に仮想サーバの設置が可能です。
 
 ** 'virt-manager' を用いた Fedora ゲスト・システムの構築 [#q33b3b66]
 
  次のコマンドを root ユーザ権限で動作させることによって、GUI によるグラフィカルな仮想マシン管理ソフトを起動できます。
 
  # virt-manager
 
 >
 [注意] Gnome メニューの System Tools から Virtual Machine Manager を実行する際、既に root 権限でログインしている場合には root パスワードを入力する必要がありません。もし root 権限が無い場合にはパスワード入力を求められますが、パスワードを入力しない場合は read-only(リード・オンリー=設定を見るだけ) となります。
 <
 + "Open Connection"(接続する) ダイアログ・ウインドウで、"Local Xen Host"(ローカルの Xen ホスト)を選び、"Connect"(接続)をクリックします。
 + virt-manager ウインドウの下の方にある "New" (新規作成)ボタンを押すか、"File"(ファイル)→"New"(新規作成)を選びます。
 + ボタンを押すと、コマンドライン上の xenguest-install (上記で既述)と土曜にいくつかの質問が表示されるウィザード形式でセットアップが進みます。ウィザード形式ではグラフィカルな利用を想定していますので、コマンドラインのように入力が個別に必要となることはありません。
 + ウィザードの最終ページに "Finish"(完了)ボタンがあります。ボタンをクリックするとゲスト OS が作成されます。少し時間が経つと、VNC ウインドウが開き、通常通りのインストール手続きに入ります。
 
 * インストール後の作業 [#a4cc8662]
 
  ゲスト OS のインストール後は GUI の virt-manager プログラムか、コマンドライン上では xm コマンドを用いて管理することになります。
 
 ** 'virt-manager' でグラフィカルに仮想マシンを管理する [#wd5528b2]
 
  次のコマンドを実行することで、GUI Virtual Machine Manager (仮想 OS 管理マネージャ)を起動できます。
 
  # virt-manager
 
  root ユーザで動作していない時には root パスワードの入力が求められます。パスワードを入力しない状態では設定変更の権限がない監視モードとなります。
 
 - "Open Connection"(接続する) ダイアログ・ウインドウで、"Local Xen Host"(ローカルの Xen ホスト)を選び、"Connect"(接続)をクリックします。
 - メイン・ウインドウ上で仮想マシンの一覧が表示されます。"Domain 0" と表示されているのはホスト OS (ホスト・コンピュータ)です。
 - 仮想マシンが一覧に表示されていない場合、可能性として仮想マシンが動作していない事が考えられます。仮想マシンを稼働させるには "File"(ファイル)→"Restore a saved machine..."(仮想マシンの修復)を選択して、ゲスト OS のディスク・イメージとなっているファイルを選択します。
 - 画面上にはそれぞれの CPU やメモリ使用率などが表示されます。表示項目を変更したい場合は "View"(表示)メニューを選んでください。
 - 仮想コンソール(virtual console)を開くには、仮想マシン名の上でダブルクリックします。
 - 仮想マシンのハードウェア性能を変更したい場合には "View"(表示)→"Details"(詳細) をクリックしてください。
 - シリアル・コンソール(serial console)で直接アクセスしたい場合(グラフィカルなアクセスが出来ない場合)には"View"(表示)→"Serial Console"(シリアル・コンソール)を選んでください。
 
  virt-manager に関する機能や詳細情報については[[開発プロジェクトのウェブサイト>http://virt-manager.et.redhat.com/]]をご覧下さい。
 
  virt-manager のバグや問題については [[BugZilla>http://bugzilla.redhat.com/]] の 'virt-manager' 部門で報告いただけると幸いです。
 
 ** 'virsh' でコマンドラインから仮想マシンを管理する [#f6ecabb4]
 
  virsh ユーティリティはコマンドライン上で仮想マシンの管理を可能とするものです。virsh は libvirt 管理 API を実装しているので、旧来の Xen xm ツールよりも多くの利点を備えています。
 
 - virsh は Xen の状態を更新する際に、しっかりとしたコマンド群や文法・構文(semantic)を提供しています。
 - virsh を使えば特権ユーザでなくとも(root 権限がなくても)、read-only (リード・オンリー)で動作可能なので、仮想マシンのドメイン一覧や詳細情報を表示する事が可能です。
 - virsh は(将来的に) libvirt ハイパーバイザー万能ツール(agnostic)として、同様の管理ツールである QEMU、VMWare などの仮想マシンも Xen 同様に管理できるようになるでしょう。
 
  仮想マシンを XML 形式の vm 定義ファイルを使って構築することもできます。
 
  # virsh create <path to VM xml config>
 
  現在稼働中の仮想マシンを表示するには、
 
  # virsh list  
 
  ゲスト OS を適切に停止させるためには、
 
  # virsh shutdown <virtual machine (name | id | uuid)>
 
  選択したゲスト OS の仮想マシンのスナップ・ショット((ボリュームラベルの完全なバックアップの事です。写真を撮るようにという意味でスナップ・ショットと呼ばれています))を保存するには、
 
  # virsh save <virtual machine (name | id | uuid)> <filename>  
 
  保存されているスナップ・ショットから復旧させるには、
 
  # virsh restore <filename>
 
  仮想マシンに関連する設定情報を XML 形式ファイルで出力するには、
 
  # virsh dumpxml <virtual machine (name | id | uuid)
 
  そのほか、virsh を利用するにあたってのコマンドライン上のオプション一覧を表示するには
 
  # virsh help 
 
  上記のコマンドを実行するか、あるいはマニュアル virsh(1) を参照してください($ man virsh )。
 
  virsh のバグや問題については [[BugZilla>http://bugzilla.redhat.com/]] の 'virsh' 部門で報告いただけると幸いです。
 
 ** 'xm' でコマンドラインから仮想マシンを管理する [#s871064c]
 
  virsh コマンド以外にも、仮想マシンをコマンドライン上で管理するために xm ユーティリティを用いることができます。xm は Xen に特化したツールです。仮想マシンにシリアル・コンソール接続する場合には、
 
  # /usr/sbin/xm create -c <name of virtual machine> 
 
  現在稼働中の仮想マシンを表示するには、
 
  # xm list
 
  ゲスト OS を停止するには、
 
  # /usr/sbin/xm shutdown <virtual machine name>
 
  ファイルにバックアップとして仮想マシンのスナップ・ショットを保存するには、
 
  # /usr/sbin/xm save <virtual machine name> /<filename>
 
  保存されたスナップ・ショットから復旧するには、
 
  # /usr/sbin/xm restore /<filename>
 
  top コマンドのように全仮想マシンの状況を表示するには、
 
  # /usr/sbin/xm top
 
  そのほか、xm を利用するにあたってのコマンドライン上のオプション一覧を表示するには、
 
  # /usr/sbin/xm help
 
  xm のバグや問題については [[BugZilla>http://bugzilla.redhat.com/]] の 'xen' 部門で報告いただけると幸いです。
 
 * トラブルシューティング(困ったときは) [#n66defdc]
 
 ** ログ・ファイルについて [#v7079164]
 
  Xen 関連問題を解決するため、2つのデバッグ情報を出力するログファイルが記録されます。/var/log/xen/xend.log には xm.log と同程度のログが記録されます。残年ながら、ファイルに記録されるログ情報は非常に短いもので、分かる人には理解できるのですが、なにせログ内容が短いのであまり有用とはいえないものです。以下の例は NetBSD/xen カーネルからゲスト OS を作成しようとしたときのものです。
 
  [2005-06-27 02:23:02 xend] ERROR (SrvBase:163) op=create: Error creating domain:(0, 'Error')
  Traceback (most recent call last):
    File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvBase.py", line 107, in _perform
      val = op_method(op, req)
    File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDomainDir.py", line 71, in op_create
      raise XendError("Error creating domain: " + str(ex))
  XendError: Error creating domain: (0, 'Error')
 
  次のファイル /var/log/xen/xend-debug.log には分かり易い詳細な情報が記録されます。NetBSD/xen カーネルを起動しようとした場合には、次のように表示されるでしょう。
 
  ERROR: Will only load images built for Xen v3.0
  ERROR: Actually saw: 'GUEST_OS=netbsd,GUEST_VER=2.0,XEN_VER=2.0,LOADER=generic,BSD_SYMTAB'
  ERROR: Error constructing guest OS
 
  Xen に関して何らかのエラーが発生したときには /var/log/xen/xend.log と /var/log/xen/xend-debug.log 双方に記録されます。
 
  仮想完全化(fully-virtualized)されたゲスト OS (ドメイン)を用いる場合(例えば、実行時に変更不可能な OS を用いる場合)、それらの情報は /var/log/xen/qemu-dm*.log として関連情報が保存されます。
 
  最後に、ハイパーバイザー側(ホスト OS 上のシステム)の動作状況は次のコマンドで確認可能です。
 
  # xm dmesg
 
 
 
 ** シリアル・コンソール [#v26b70b6]
 *** ホストへのシリアル・コンソール接続 [#h1165826]
 
  非常に難しい問題に対処する場合、シリアル・コンソール接続は非常に助けとなるでしょう。Xen カーネル自身が停止してしまう場合やハイパーバイザーがエラーとなってしまう際など、何らかのエラーがローカル・ホスト上に記録されています。シリアル・コンソール接続によって、リモート・ホストの状況を確認することができるのです。
 
  Xen ホスト OS に対してシリアル・コンソール出力を行いたい場合はセットアップ作業が必要です。そうすることで、リモート・ホストの状況を把握可能となります。そのためには /etc/grub.conf の編集が必要です。以下は記述例です。
 
  title Fedora Core (2.6.17-1.2600.fc6xen)
          root (hd0,2)
          kernel /xen.gz-2.6.17-1.2600.fc6 com1=38400,8n1 sync_console
          module /vmlinuz-2.6.17-1.2600.fc6xen ro root=LABEL=/ rhgb quiet console=ttyS0 console=tty pnpacpi=off
          module /initrd-2.6.17-1.2600.fc6xen.img
 
  この指定ではシリアル・コンソールの com1 ポート(Linux 上の /dev/ttyS0)に対して 38,400 bps の速度で通信するという事を行っています。"sync_console" はハイパーバイザー(ホスト OS )上のコンソール出力が停止してしまっている際に有用となるものです。"pnpacpi=off" はその動作を行う際に必要となる ACPI を無効にするオプションです。"console=ttyS0 console=tty" の意味はカーネルの出力するエラーメッセージ(通常時は dmesg でも確認できます)を VGA コンソール上で直接繋がれたディスプレイと、シリアル・コンソールに対しても同時に出力を行うという指定を行うものです。この作業さえ済ませておけば、ttywatch アプリケーション(fedora-extras に収納されています)を用いて、リモートホストのコンソール上のエラーをモデム経由で取得することもできます。リモート上では、
 
  # ttywatch --name myhost  --port /dev/ttyS0  
 
  こうすることで、出力を /dev/ttyS0 からファイル /var/log/ttywatch/myhost.log に記録先を変更することもできます。
 
 *** 仮想並行化ゲスト OS の場合 [#l2cc49c6]
 
  仮想並行化(para-virtulized)ゲスト OS の場合は、Domain-0 ホスト OS 上の機能として自動的にシリアル・コンソール出力の設定を備えています。コマンドライン上から参照するには、次のように入力します。
 
  # xm console
 
  あるいは、グラフィカルな virt-manager プログラムを使ってシリアル・コンソール出力を行うことも出来ます。単純に表示させたい場合はメニュー・バーから "View"(表示)→"Serial console"(シリアル・コンソール)を選んで'console'(コンソール)か'details'(詳細)ウインドウを参照してください。
 
 *** 仮想完全化ゲスト OS の場合 [#x2089e8f]
 
  仮想完全化(fully-virtualized)ゲスト OS の場合も自動的にシリアル・コンソール出力の設定を行おうとしますが、ゲスト OS のカーネルは完全にボックス化されるように設定されてしまっているため、そのままの状態では状況を確認することができません。Linux が仮想完全化された状態でのゲストの状態を確認したい場合は /etc/grub.conf を編集し、ゲスト OS の既述に'console=ttyS0 console=tty0'を追加する必要があります。このことにより、シリアル・コンソール、またはグラフィカルなツール上からも確認できるようになります。確認方法は仮想並行化ゲスト OS の時と同様です。
 
  # xm console
 
  あるいは、グラフィカルな virt-manager プログラムを使ってシリアル・コンソール出力を行うことも出来ます。単純に表示させたい場合はメニュー・バーから "View"(表示)→"Serial console"(シリアル・コンソール)を選んで'console'(コンソール)か'details'(詳細)ウインドウを参照してください。
 
 ** ゲスト OS のディスク・イメージのデータへのアクセス [#ua322e31]
 
  lomount と kpartx というゲスト OS のディスク・イメージにアクセスする際にとても役立つツールがあります。ただし、ゲスト OS が Domain-0 で動作している状態で使用しないでください! もし稼働中に使ってしまうとデータが破損するおそれがあります。くれぐれもご注意下さい。
 
 - lomount
 
  # lomount -t ext3 -diskimage /xen/images/fc5-file.img -partition 1 /mnt/boot
 
  lomount は小さなディスク・イメージとして動作しているだけであり、LVM ボリュームを扱うことはできません。より複雑な操作を行いたい場合には kpartx (device-mapper-multipath RPM) を用いてください。
 
 - kpartx
 
  # yum install device-mapper-multipath
  # kpartx -av /dev/xen/guest1
  add map guest1p1 : 0 208782 linear /dev/xen/guest1 63
  add map guest1p2 : 0 16563015 linear /dev/xen/guest1 208845
 
  これは通常のブロック・デバイスに対してのみ動作するもので、ゲスト OS がインストールされているイメージ・ファイルを操作するのではないという点をご注意下さい。ファイル・イメージを取り扱うには、まずループバック・デバイスを作成しなくてはいけません。
 
  # losetup -f
  /dev/loop0
  # losetup /dev/loop0 /xen/images/fc5-file.img
  # kpartx -av /dev/loop0
  add map loop0p1 : 0 208782 linear /dev/loop0 63
  add map loop0p2 : 0 12370050 linear /dev/loop0 208845
 
  この例では、標準の Fedora Core がインストールされフォーマットされた場所にイメージを組み込んでいます。内訳は /boot と1つの LVM ボリュームです。アクセスするには /dev/mapper を参照します。
 
  # ls -l /dev/mapper/ | grep guest1
  brw-rw---- 1 root disk 253,  6 Jun  6 10:32 xen-guest1
  brw-rw---- 1 root disk 253, 14 Jun  6 11:13 guest1p1
  brw-rw---- 1 root disk 253, 15 Jun  6 11:13 guest1p2
  # mount /dev/mapper/guest1p1 /mnt/boot/
 
  2つ目のパーティションである LVM ボリュームにアクセスするためには "vgscan" を使って状況の確認を行います。標準で "VolGroup00" とされるパーティション名を変更するには "vgchange -ay" を用います。
 
  # kpartx -a /dev/xen/guest1
  # vgscan
    Reading all physical volumes.  This may take a while...
    Found volume group "VolGroup00" using metadata type lvm2
  # vgchange -ay VolGroup00
    2 logical volume(s) in volume group "VolGroup00" now active
  # lvs
    LV        VG         Attr   LSize   Origin Snap%  Move Log Copy%
    LogVol00  VolGroup00 -wi-a-   5.06G
    LogVol01  VolGroup00 -wi-a- 800.00M
  # mount /dev/VolGroup00/LogVol00 /mnt/
  ...
  # umount /mnt
  # vgchange -an VolGroup00
  # kpartx -d /dev/xen/guest1
 
 >
 [メモ]"vgchange -an"を使って論理ボリュームにアクセスする際には''常に''実際のボリュームと混同しないように注意を払ってください。出来るだけボリューム名は変更した方が良いでしょう。ボリュームの削除は "kpartx -d" を、(利用可能であれば)ループ・デバイスは "losetup -d" を使って削除して作業を完了するのが良いでしょう。これには2つの理由があります。1つは、Fedora Core が標準のインストール時に用いるボリューム名 VolGroup00 との混同です。実際には異なった2つの LVM ボリュームが動作しているのですが、いずれも同じ名前を持っている状態になっているためです。システム上で LVM は適切に動作しますが、私たちの使う側にとっては混乱を引き起こしかねません。特にコマンドライン上では注意が必要です。&br;もう1つの理由として、もしゲスト OS を使用しなくなったとき、Domain-0 には依然 LVM には2つのボリュームが残り続ける事になります。もし、dom0 とゲストそれぞれのボリュームが同時に動作することがあれば、場合によってはデータの破損を招きかねないためです。
 <
 
 ** FAQ(よくある質問と回答) [#y1e07628]
 
 - 質問:xend を起動しようとしていますが何も起こりません。'xm list'コマンドを実行すると次のようなエラーが表示されます。
  Error: Error connecting to xend: Connection refused.  Is xend running?
  そこで、手作業で xend の起動を試みますが、またエラーが表示されてしまいます。
 
  ERROR: Could not obtain handle on privileged command interface (2 = No such file or directory)
  Traceback (most recent call last):
    File "/usr/sbin/xend", line 33, in ?
      from xen.xend.server import SrvDaemon
    File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line 21, in ?
      import relocate
    File "/usr/lib/python2.4/site-packages/xen/xend/server/relocate.py", line 26, in ?
      from xen.xend import XendDomain
    File "/usr/lib/python2.4/site-packages/xen/xend/XendDomain.py", line 33, in ?
      import XendDomainInfo
    File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 37, in ?
      import image
    File "/usr/lib/python2.4/site-packages/xen/xend/image.py", line 30, in ?
      xc = xen.lowlevel.xc.xc()
  RuntimeError: (2, 'No such file or directory')
 
  回答:どうやら Xen ハイパーバイザー(仮想化に対応)ではない Linux カーネルを起動してしまったように見えます。xen 対応カーネルかどうか確認してみてください。&br;
  あるいは、起動時に xen ハイパーバイザー対応カーネルを読み込むように選択していないかもしれません。対策としては grub.conf を編集して xen 対応カーネルを標準で読み込むように設定してみてください。
 
 - 質問:ゲスト OS を作成しようとすると "Invalid argument"(無効な引数)と表示されてしまいます。
 
  回答:これは利用しようとしているカーネルのイメージが、xen ハイパーバイザーと不適合な可能性があります。もし、Fedora Core 5 で作成したイメージ(PAE 拡張に非対応)を Fedora Core 6(PAE 拡張に対応)で使用しようとすると、このエラーが見受けられます。
 
 - 質問:yum のアップデートによって新しいカーネルを入手しましたが、そのたびに grub.conf が勝手に書き換えられてしまい困ります。私は常に xen 対応カーネルを読み込みたいのですが、どのような対処方法があるでしょうか。
 
  回答:linux カーネルの RPM パッケージは、何もしなくとも grub.conf を最新のカーネルに書き換えてしまいます。そこで、/etc/sysconfig/kernel ファイルを書き換えて 'kernel-xen' を指定し、常に xen 対応カーネルを読み込ませるよう grub.conf の標準とさせることができます。
 
 
 * 困ったときには? [#j66795d9]
 
  上記のトラブル・シューティングが問題解決につながらないようでしたら、[[Red Hat Bugzilla>https://bugzilla.redhat.com/]] の Fedora Core 6 に関する Xen のレポートを確認してみてください。"Fedora Core" 上での xen のトラブルは "Linux カーネル" に起因するものと、"xen" そのものに起因するバグや問題の可能性があるためです。バグ報告をしていただくと、xen 担当者から有用なアドバイスや問題解決策を提示していただけるかもしれません。
 
  Xen そのものに関する全般的な情報や問題に関しては Xen プロジェクトの[[ドキュメント>http://www.cl.cam.ac.uk/Research/SRG/netos/xen/documentation.html]]や、[[メーリングリストの過去ログ>http://lists.xensource.com/]]をご覧下さい。
 
  最後に付け加えておきますと、Fedora プロジェクトでは Xen サポートのための専門メーリングリスト [[Fedora Xen Mailing list>http://www.redhat.com/mailman/listinfo/fedora-xen]] を開設しており、ここでも諸処の問題について論議がなされています。
 
 * 補足説明 [#fe39a66f]
 
 - *1 GRUB を用いるのは、 Xen が Linux 仮想環境を実現するためには専用カーネルの指定が必要なためです。そのためには、複数のブートを可能とするブートローダー、つまり GRUB が必要とされます(GRUB 以外のブートローダーを使うことは想定されていません)。
 
 - *2 ファイル /etc/sysconfig/kernel を編集する事で、標準起動する linux カーネルを kernel-xen パッケージに対応したもの(次回起動時から有効)にすることも出来ます。
 
 
 ----
 :情報源|http://fedoraproject.org/wiki/FedoraXenQuickstartFC6?highlight=%28Xen%29%7C%28quickstart%29

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS