Show Table of Contents
27.2. 自動でのディスクイメージへのインストール
livemedia-creator を使うと、ディスクイメージの作成とそこへのインストールが自動でできるようになります。自動インストールを実行するには、インストール済みの Red Hat Enterprise Linux システムとキックスタートファイルが必要になります。ディスクイメージ自体は手動で作成する必要はありません。キックスタートファイルの作成および使用についての情報は、26章キックスタートを使ったインストール を参照してください。
27.2.1. livemedia-creator の概要
livemedia-creator を使ったカスタムイメージの作成は通常、2 段階のプロセスです。最初の段階では、一時ディスクイメージファイルが作成され、Red Hat Enterprise Linux のインストールプログラムである Anaconda がキックスタートファイルで提供されるパラメーターを基に、このイメージ上にシステムをインストールします。そして次の段階で、livemedia-creator がこの一時システムを使って最終的な起動可能イメージを作成します。
この動作は、追加オプションを指定することで変更可能です。たとえば、最初の段階のみを実行してディスクイメージファイルを作成したり、最初の段階を省略して既存のディスクやファイルシステムイメージを使用して最終的な起動可能な ISO イメージを作成するといったことができます。
livemedia-creator の使用例は 「カスタムイメージの作成」 で説明されています。lorax パッケージがインストールされているシステムでは、
livemedia-creator --help コマンドを使うと使用可能なオプションがすべて一覧表示されます。また、以下の追加ドキュメンテーションが lorax パッケージとともにインストールされています。livemedia-creator(1) man ページおよび README.livemedia-creator ファイル (/usr/share/doc/lorax-version/ ディレクトリーにあります。 version はインストールされている lorax のバージョンになります)。
27.2.2. livemedia-creator のインストール
livemedia-creator ツールは、lorax パッケージの一部です。このパッケージをインストールするには、
root で以下のコマンドを実行します。
#yum install lorax
また、lorax に加えてほかのパッケージをいくつかインストールする必要もあります。これらのパッケージは lorax の依存項目ではないので自動的にはインストールされませんが、livemedia-creator の使用目的によって必要となる可能性があります。以下のパッケージになります。
- virt-install: 新規の仮想マシンを構築するツールを提供するパッケージです。
--no-virtオプションが指定されていなければ、ライブメディア作成の第 1 段階で使用されます。 - libvirt、qemu-kvm、libvirt-client およびその他の仮想化ツール: virt-install を使用する際に、ご使用のマシンで仮想マシンの作成、稼働、管理ができる必要があります。Red Hat Enterprise Linux における仮想化についての情報および仮想化ツールのインストールと作業についての資料は、Red Hat Enterprise Linux 7 仮想化の導入および管理ガイド を参照してください。
- anaconda: Red Hat Enterprise Linux のインストールプログラムで、
--no-virtオプションが使用される場合、virt-install ではなくこちらが第 1 段階で使用されます。
本章のスコープ外となりますが、他のアプリケーションが必要となる場合もあります。livemedia-creator を使用し、指定したオプションで必要となるパッケージがない場合は、このプログラムは停止して、先に進む前にインストールが必要となるパッケージを知らせるエラーメッセージが表示されます。
27.2.3. キックスタートファイルのサンプル
カスタムのライブイメージを正常に作成するには、有効なキックスタート設定ファイルが必要になります。lorax では、2 つのサンプルが自動的にインストールされます。カスタムイメージの作成時には、これらのサンプルを参照するか、これらをコピーしてから使用目的に合わせてサンプルを修正することができます。提供されるサンプルは両方とも
/usr/share/doc/lorax-version/ ディレクトリーにあり、version はシステムにインストールされた lorax パッケージのバージョン番号になります。
利用可能なサンプルは、以下のものです。
rhel7-minimal.ks: 最小限のインストール (@coreグループ) およびカーネルや GRUB2 ブートローダーなどの必須のもののみを提供する設定ファイルです。root以外のユーザーは作成されず、グラフィカルインターフェースや追加パッケージはインストールされません。rhel7-livemedia.ks: グラフィカルインターフェースでライブシステムを作成する、より高度な設定ファイルです。rootに加えて、liveuserという名前のユーザーが作成されます。
これらのサンプルをインストールソースとして有効な場所で使用するには、両方とも修正する必要があります。これには、ファイルを修正し、url コマンドが有効なインストールソースを参照するように更新します。キックスタートについての詳細情報は、26章キックスタートを使ったインストール を参照してください。これらのサンプルが機能するためには、これ以外の変更は必要ありません。
重要
サンプルは、元の場所で修正しないでください。別のディレクトリーにコピーしてから、そのコピーされたものを修正してください。
注記
Red Hat では、Red Hat がインストールソースとして提供しているリポジトリーのみをサポートしています。
27.2.4. カスタムイメージの作成
このセクションでは、lorax パッケージのツールの共通使用パターンについて説明します。これは、使用可能なオプションの完全なリストを意味するものではありません。livemedia-creator の使用可能なオプションすべてを表示するには、
livemedia-creator --help を実行するか、livemedia-creator(1) man ページを参照してください。lorax についての詳細情報は、https://rhinstaller.github.io/lorax/lorax.html を参照してください。
27.2.4.1. lorax を使用した boot.iso ファイルの作成
Red Hat Enterprise Linux のインストールシステムは、lorax というツールで作成されます。この lorax を使用して、更新済みカーネルや追加パッケージなどを含む独自のインストールメディアを作成することもできます。
注記
lorax を使用するシステムは、作成する Red Hat Enterprise Linux のイメージと同じリリースであることが推奨されます。
以下の手順を root で実行すると、
boot.iso という名前のインストールイメージが results/images ディレクトリーに作成されます。-s= または --source= オプションを複数回使用すると、独自のリポジトリーを追加することができます。異なるリポジトリーで同一パッケージの複数バージョンが利用可能になっている場合は、最新版のパッケージが使用されます。
yum install lorax setenforce 0 lorax --noverifyssl -p RHEL -v 7 -r 3 \ -s https://cdn.redhat.com/content/dist/rhel/server/7/3/x86_64/os \ ./results/ setenforce 1
注記
上記のコマンドを使用するシステムは、Red Hat Subscription Manager に登録済みで、サブスクライブしている必要があります。詳細情報は、Red Hat Subscription Management を参照してください。
27.2.4.2. virt-install を使用したライブイメージの作成
livemedia-creator の最も一般的な使用方法では、virt-install を使ってライブイメージ作成プロセス用に使用する一時的な仮想マシンが作成されます。virt-install を使用してライブ ISO を作成するには、有効なキックスタートファイルと、Anaconda インストールプログラムを含む起動可能な ISO イメージが必要になります。これらのイメージは、Red Hat が 「最小限の起動用メディア」として提供しています。詳細は、「インストール USB の作成」 を参照してください。
以下のコマンドは、virt-install を使用してライブイメージを作成する際に最小限必要となるものです。
#livemedia-creator --make-iso --iso=/path/to/boot.iso --ks=/path/to/valid/kickstart.ks
/path/to/boot.iso を最小限の起動用メディアへのパスに置き換え、/path/to/valid/kickstart.ks をイメージ作成プロセスで使用する有効なキックスタートファイルへのパスに置き換えます。
このケースでは、以下のオプションがよく使用されます。
--vnc vnc: このオプションを使うと、TigerVNC などの VNC クライアントを使ってインストールプロセスを見ることができます。このオプションは、virt-install の--graphicsオプションに引き継がれます。詳細情報は、24章VNC を使用したインストール を参照してください。--ram x: 一時的な仮想マシン用の RAM の大きさを MiB 単位で指定できます。--vcpus x: 仮想マシンのプロセッサーの数です。
27.2.4.3. Anaconda のイメージインストールを使用したライブイメージの作成
livemedia-creator アプリケーションでは、virt-install が使用できない場合でも、Anaconda パッケージを使用してライブイメージを作成できます。この場合、インストールプログラムを含むイメージは必要ありませんが、Anaconda パッケージがシステムにインストールされている必要があります。プロセスはこの場合も 2 段階です。まず、一時ディスクイメージを作成し、システムをそのイメージにインストールします。次に、このイメージを使って最終的な起動用の ISO を作成します。
警告
Anaconda を使ったライブイメージの作成には、潜在的な危険が伴います。これは、仮想マシンの内部ではなく、システム自体の上でインストールプログラムを使用するためです。現時点では問題を引き起こす可能性のある既知のバグはありませんが、このプロセスによりシステム全体が使用できなくなる可能性があります。このため、
--no-virt オプションを使った livemedia-creator の実行が推奨されるのは、この目的にのみ特別に確保された仮想マシン (ゲスト) 上のみとなります。
重要
Anaconda でカスタムイメージを作成する前に、Security Enhanced Linux (
SELinux) を permissive (または disabled) モードに設定してください。SELinux のモード設定については、Red Hat Enterprise Linux 7 SELinux User's and Administrator's Guide を参照してください。
Anaconda を使ってライブイメージを作成するには、
--no-virt オプションを使用します。例を示します。
#livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --no-virt
27.2.4.4. ディスクまたはファイルシステムのイメージ作成
livemedia-creator を使って、ディスクまたはファイルシステムのイメージを作成することもできます。この場合、イメージ作成プロセスの第 1 段階のみを実行することになります。最終的な ISO は作成されず、一時的なディスクもしくはファイルシステムのイメージファイルへのインストールプロセスが終了した時点で、プログラムは停止します。その後に、このイメージをマウントしてエラーがないか検査します。これは、修正されたキックスタートファイルのトラブルシューティングの際に役立ちます。また、今後のイメージ作成時のために保存しておくと時間の節約にもなります。
注記
このセクションにある例ではすべて、
--no-virt オプションを使うこともできます。
第 1 段階後に作成プロセスを停止するには、いくつか方法があります。以下の例に示すように
--image-only オプションを使うことができます。
#livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso --image-only
また、
--make-iso の代わりに --make-disk オプションを使うこともできます。
#livemedia-creator --make-disk --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
--make-fsimage オプションを使用して、パーティション設定されたディスクイメージの代わりにファイルシステムイメージを作成することもできます。
#livemedia-creator --make-fsimage --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
これらのケースではすべて、パーティション設定されたディスクイメージかファイルシステムイメージがデフォルトで
/var/tmp/ ディレクトリーに作成されます。この場所を変更するには、--tmp /path/to/temporary/directory/ オプションを使用します。/path/to/temporary/directory/ は、ターゲットディレクトリーへのパスになります。
27.2.4.5. 以前に作成されたディスクもしくはファイルシステムのイメージの使用
すでにディスクもしくはファイルシステムのイメージがある場合 (「ディスクまたはファイルシステムのイメージ作成」 を参照)、これを livemedia-creator に提供して、最終的な起動用 ISO イメージを作成することができます。その場合、キックスタートファイルや Anaconda インストールイメージは必要ありません。これらが必要となるのは、イメージ作成プロセスの第 1 段階のみで、これはこのケースでは省略されています。
既存のパーティション設定されたディスクイメージファイルから最終的なイメージを作成するには、
--disk-image オプションを使用します。例を示します。
#livemedia-creator --make-iso --disk-image=/path/to/disk/image.img
ディスクイメージではなくファイルシステムのイメージを使用する場合は、代わりに
--fs-image オプションを使用します。
#livemedia-creator --make-iso --fs-image=/path/to/filesystem/image.img
27.2.4.6. アプライアンスの作成
livemedia-creator ユーティリティーを使用すると、アプライアンスイメージ (パーティション設定されたディスクイメージ) を作成することができます。これには、テンプレート使用で生成された記述を含む XML ファイルが含まれます。このケースでは、イメージインストールに加えて、仮想マシンのインストールがサポートされます。アプライアンスイメージと記述を作成するには、
--make-iso の代わりに --make-appliance オプションを使用します。例を示します。
#livemedia-creator --make-appliance --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
イメージと記述の XML ファイルは、
--resultdir オプションを使って別の保存場所を指定しなければ、両方とも /var/tmp/ ディレクトリーに保存されます。
アプライアンス作成に固有の追加オプションには、以下のものがあります。
--app-name name: アプライアンス名を指定し、これが<name>タグでマークされて XML 記述ファイルに現れます。デフォルト値はNoneです。--app-template /path/to/template.tmpl: 使用するテンプレートを指定します。デフォルトは、/usr/share/lorax/appliance/libvirt.tmplです。--app-file /path/to/app/file.xml: 生成される記述 XML ファイル名を指定します。デフォルト値は、appliance.xmlです。
27.2.4.7. Amazon Machine Image (AMI) の作成
Amazon Elastic Compute Cloud (EC2) 内で使用する Amazon Machine Image (AMI) を作成するには、
--make-ami オプションを使います。仮想およびイメージインストールの両方がサポートされています。
#livemedia-creator --make-ami --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
--resultdir オプションで別の場所を指定しなければ、ami-root.img という名前のイメージファイルが /var/tmp/ ディレクトリーに格納されます。
27.2.4.8. 追加の引数
以下のオプションは、上記のユースケースすべてで使用可能です (仮想インストール、Anaconda イメージインストール、およびその他)。
--keep-image: このオプションを指定すると、インストールの第 1 段階で使用される一時ディスクイメージファイルは削除されません。/var/tmp/ディレクトリーに格納され、diskgU42Cq.imgのようなランダム生成された名前が付けられます。--image-only: このオプションを使用すると、イメージ作成プロセスの第 1 段階のみが実行されます。最終的な起動用 ISO イメージを作成する代わりに、livemedia-creator は一時的なディスクイメージファイルのみを作成し、そのファイルへのインストールを実行します。このオプションを使用すると時間のかかる第 2 段階を省略し、一時的なディスクイメージファイルを検査するので、キックスタートファイルに加えた修正をテストする際に時間を節約できます。--image-name name: 一時的なディスクイメージファイルのカスタム名を指定できます。デフォルト名は、ランダム生成されたものになります (たとえば、disk1Fac8G.img)。--tmp /path/to/temporary/directory/: トップレベルの一時ディレクトリーを指定します。デフォルト値は、/var/tmp/です。このオプションを使う場合は、既存のディレクトリーを指定する必要があります。--resultdir /path/to/results/directory/: livemedia-creator の完了後に生成される起動用 ISO イメージが表示されるディレクトリーを指定します。既存のディレクトリーは指定できません。デフォルトは、/var/tmp/です。このオプションは、最終的な ISO イメージにのみ適用されます。ディスクもしくはファイルシステムのイメージを作成していて、特定の場所に保存したい場合は、--tmpオプションを使用します。--logfile /path/to/log/file/: プログラムのログファイルの場所を指定します。
27.2.5. livemedia-creator のトラブルシューティング
このセクションでは、livemedia-creator 使用時によく発生する様々な問題の解決方法を提案しています。ここで触れられていない問題が発生した場合は、問題のログファイルを見てください。これは、実行時に毎回自動的に生成され、
--logfile オプションを使って別のディレクトリーを指定しなければ、ツールを実行したディレクトリーに保存されます。ログファイルは、使用するオプションによって異なります。たとえば、--no-virt オプションを使用すると、virt-install.log は生成されません (代わりに、Anaconda からのログファイルが anaconda/ ディレクトリーに生成されます)。livemedia.log および program.log という他のファイルが毎回生成されます。
問題を発見して解決策を探るもうひとつの方法は、このユーティリティー実行時に
--image-only オプションを使用することです。このオプションは第 1 段階後にプログラムを停止するので、最終的な起動用 ISO ではなく、ディスクイメージファイルのみが生成されます。すると、第 2 段階の終了を待たずにディスクイメージファイルをマウントし、コンテンツを調べることができます。また、--keep-image オプションを使うと両方の段階を実行しますが、その後の分析用に一時ディスクイメージが保存されます。
キックスタートファイルへの変更をテストする際は、
--vnc オプションの使用が推奨されます。このオプションを使うと、VNC クライアントを使って仮想マシンに接続し、インストールプロセスを見ることができます。詳細は、24章VNC を使用したインストール を参照してください。
27.2.5.1. 仮想マシンのインストールが停止する場合
仮想インストールの第 1 段階中に何らかの理由でインストールプログラムが停止する場合、 livemedia-creator もインストールの完了を待機して停止することになります。プログラムに直接割り込むか、一時仮想マシンを停止することでこの問題を解決することができます。Livemedia-creator は、ゲストのオペレーティングシステムが停止したことを検出し、存在するすべての一時ファイルを削除します。
一時仮想マシンを停止するには、以下の手順にしたがいます。
手順27.1 一時仮想マシンを停止する
- virsh を使って、システム上で現在使用可能な仮想マシン (ゲスト) をすべて一覧表示します。出力は次のようになります。
#virsh list --allId Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off一時仮想マシンを特定します。名前が常にLiveOSで始まり、ランダムの数字および文字の文字列が続きます。 - 一時仮想マシンを特定したら、
virsh destroy nameコマンドを使ってこれを停止します。name は仮想マシンの名前になります。#virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed
27.2.5.2. 仮想マシンを使用したインストールの失敗
仮想インストールを実行中、初期段階に何らかの理由でプロセスが中断されてしまうと (ハードウェア障害や停電、キーボードによる中断など)、以前に作成した一時ディスクイメージおよび仮想マシンを削除するまで virt-install によるインストールを再開することができなくなります。一時ディスクイメージおよび仮想マシンの削除方法を以下で説明します。
すべてのステップが毎回必要とは限りません。たとえば、システム障害後の復元を実行している場合は、一時仮想マシンを停止する必要はなく、代わりに
virsh undefine name コマンドを使用するだけで済みます。また、livemedia-creator で作成した一時ファイルの消去だけが目的であれば、ステップ 4 と 5 を使用することもできます。
手順27.2 一時ゲストおよびディスクイメージファイルの削除
- virsh を使って、システム上で現在使用可能な仮想マシン (ゲスト) をすべて一覧表示します。出力は次のようになります。
#virsh list --allId Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off一時仮想マシンを特定します。名前が常にLiveOSで始まり、ランダムの数字および文字の文字列が続きます。 - 一時仮想マシンを特定したら、
virsh destroy nameコマンドを使ってこれを停止します。name は仮想マシンの名前になります。#virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed virsh undefine nameを使って一時仮想マシンを削除します。name には上記のステップと同じものを使います。#virsh undefine LiveOS-2a198971-ba97-454e-a056-799f453e1bd7Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 has been undefined- 一時ファイルシステムのマウント先を見つけます。
/var/tmp/ディレクトリー配下にあり、ファイル名はlorax.imgutilsの後ろに 6 桁のランダムな数字または文字が続いています。#findmnt -T /var/tmp/lorax.imgutils*TARGET SOURCE FSTYPE OPTIONS /var/tmp/lorax.imgutils.bg6iPJ /dev/loop1 iso9660 ro,relatimeumountコマンドを使ってアンマウントします。#umount /var/tmp/lorax.imgutils.bg6iPJ - virt-install によって
/var/tmp/ディレクトリー内に作成された一時ディスクイメージを見つけます。イメージファイルの名前は、--image-nameオプションを使って指定していなければ、インストールプロセスの開始時にランダムに生成され、コマンドラインに表示されます。例を示します。2013-10-30 09:53:03,161: disk_size = 5GB 2013-10-30 09:53:03,161: disk_img = /var/tmp/diskQBkzRz.img 2013-10-30 09:53:03,161: install_log = /home/pbokoc/lorax/virt-install.log mount: /dev/loop1 is write-protected, mounting read-only
上記の例では、/var/tmp/diskQBkzRz.imgが一時ディスクイメージになります。最初のメッセージを見つけられない場合は、手動で一時ファイルを特定することができます。lsコマンドを使って/var/tmp/ディレクトリーのコンテンツを一覧表示し、名前にdiskを含むファイルを出力からフィルターします。#ls /var/tmp/ | grep diskdiskQBkzRz.imgその後に一時ディスクイメージを削除します。#rm -f /var/tmp/diskQBkzRz.img
この手順のステップをすべて実行すると、virt-install を使って新たなインストールを開始することができます。
27.2.5.3. Anaconda を使用したインストールの失敗
Anaconda イメージインストール機能 (
--no-virt オプション) を使って実行していたインストールが中断されてしまった場合、anaconda-cleanup スクリプトを使用して回復させることができます。このスクリプトは anaconda パッケージと一緒にインストールされ、/usr/bin/ ディレクトリーに格納されます。
以下のコマンドを使用して、クリーンアップスクリプトを実行します。これには、root 権限が必要になります。
#anaconda-cleanup

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.