Show Table of Contents
7.4. Hypervisor の自動インストール (高度)
本セクションでは、Red Hat Enterprise Virtualization Hypervisor のカーネルコマンドラインパラメーターについて説明します。これらのパラメーターを使用すると、インストールを自動化することができます。以下に詳しい解説と、自動インストール用のパラメーターストリング例を記載します。
このインストール方法は、対話型インストールの代わりとなる方法です。本章で説明する方法で PXE サーバーを使用したインストールを行う際には、設定を若干調整すると、手動でシステムにアクセスせずに複数の Hypervisor のデプロイメントを行うことができます。
これらのパラメーターがどのように機能し、どのような影響をもたらすか理解しておくことが重要です。システムが PXE を使用して自動的にブートするように設定されている場合に、これらのパラメーターによって既存のシステムのデータが削除される可能性があります。
7.4.1. カーネル引数の仕組み
以下は、RHEV Hypervisor 起動シーケンスについての説明です。自動インストールにともなう問題のデバッグに役立つ場合があります。
- ovirt-early サービスにより、
/etc/default/ovirt
ファイルのストレージ、ネットワーク、および管理パラメーターが設定されます。これらのパラメーターは、起動シーケンス中に Hypervisor に渡されるカーネル引数によって決定します。 /etc/init.d/ovirt-firstboot
スクリプトにより、カーネルコマンドラインまたは TUI インストールで設定したパラメーターに基づいて、実行するインストールのタイプが決定されます。
7.4.2. 必須パラメーター
インストールには、少なくとも以下のパラメーターが必要です。
- 以下のパラメーターのいずれか (実行するインストールまたは再インストールのタイプによって異なる)
install
: インストールを開始します (既存のインストールを検出した場合も含む)。reinstall
: 現在のインストールを削除してクリーン再インストールを開始します。upgrade
: 既存のインストールをアップグレードします。
storage_init
パラメーター: ローカルストレージデバイスを初期化します。BOOTIF
: Hypervisor が Manager への接続に使用するネットワークインタフェースを指定します。PXE ブートを使用する場合には、pxelinux
によりBOOTIF
が自動的に提供される可能性があります。
以降のセクションでは、これらのパラメーターの詳細について説明します。
Red Hat Enterprise Virtualization Manager で Red Hat Enterprise Virtualization Hypervisor を使用するには、以下のパラメーターを少なくとも 1 つ渡す必要があります。
adminpw
- 管理者権限でログインして Red Hat Enterprise Virtualization Hypervisor を設定することができます。
management_server
- 使用する Red Hat Enterprise Virtualization Manager を指定します。
rhevm_admin_password
- Red Hat Enterprise Virtualization Manager でホストを追加するプロセスで使用するパスワードを指定します。
7.4.3. ストレージのパラメーター
以下のパラメーターにより、Hypervisor をインストールするためのローカルストレージデバイスが設定されます。
storage_init
storage_init
パラメーターは、自動インストールに必要です。このパラメーターにより、ローカルストレージデバイスが初期化されます。Hypervisor がローカルインストールで使用するストレージデバイスは 1 つです。初期化の対象およびインストール先となるディスクを定義する方法は複数あります。- USB ストレージデバイスの場合には、ディスクタイプに
usb
パラメーターを選択します。以下はその例です。storage_init=usb
- SCSI ハードドライブの場合には、ディスクタイプに
scsi
パラメーターを使用します。以下はその例です。storage_init=scsi
- SCSI バスにも表示される可能性のある SATA ハードドライブなど、ATA バス上のハードドライブには、
ata
パラメーターを使用してディスクタイプを選択します。以下はその例です。storage_init=ata
- または、Linux デバイス名を
storage_init
パラメーターとして使用して、ストレージデーバイスを指定することもできます。/dev/disk/by-id
形式でのデバイス名の使用はサポートしていません。storage_init
には、/dev/mapper/disk
または/dev/disk
の形式を使用する必要があります。以下の例では、/dev/sda
デバイスを指定しています。storage_init=/dev/sda
storage_init
の値をusb
、scsi
、ata
のいずれかに指定した場合には、シリアル番号を追加して使用するデバイスを明示的に設定することもできます。システムにアタッチされている全ディスクのシリアル番号を確認するには、以下の例のコマンドを実行します。例7.15
udev
シリアル番号の確認$
for d in /dev/sd?; do echo $d `udevadm info -q env -n $d | egrep 'ID_BUS=|ID_SERIAL='`; done
/dev/sda ID_SERIAL=ST9500325AS_6VE867X1ストレージタイプとシリアル番号の両方を指定する場合には、この 2 つの値を必ずコロン (:
) で区切るようにしてください。以下はその例です。storage_init=
ata
:3600508b100104a3953545233304c0003
注記
システムの再起動後に、デバイス名が同じとなる保証はありません。デバイス名は変更される可能性があります。storage_vol
storage_vol
パラメーターは、storage_init
パラメーターで設定されたストレージデバイスのパーティション分割に使用します。storage_vol=
の後に、Boot、Swap、Root、Config、Logging、Data のパーティションのサイズ (MB) を指定することができます。Boot パーティションは常に 50 MB、Red Hat Enterprise Virtualization Hypervisor 7 の Root パーティションは常に8600 MB で、再設定はできません。その他のパーティションについては、以下で説明します。storage_vol
パラメーターで定義したパーティションSwap
- swap パーティションは、頻繁にアクセスされないメモリーページをハードドライブにスワッピングするのに使用します。これにより、RAM 内のメモリーページが解放され、より頻繁にアクセスされるページに使用されるようになり、パフォーマンスが向上します。swap パーティションのデフォルトサイズは、システムにインストールされている RAM の容量とオーバーコミット比 (デフォルトは 0.5) に基づいて計算されます。Hypervisor には、swap パーティションが 1 つ必要です。また、swap パーティションのサイズを 0 に設定して無効にすることはできません。swap パーティションの最小サイズは、8 MB です。swap パーティションのサイズを確認する方法は https://access.redhat.com/ja/solutions/108483 を参照してください。上記の Red Hat ナレッジベースソリューションの公式を使用し、オーバーコミット比に対応したストレージを追加してください (RAM × オーバーコミット比)。
推奨 swap + (RAM * オーバーコミット) = swap パーティションサイズ
値を空のままにした場合には、swap パーティションの推奨値が設定されます。 Config
- config パーティションには、Hypervisor の設定ファイルが格納されます。config パーティションのデフォルト最小サイズは 8 MB です。
Logging
- logging パーティションには Hypervisor の全ログが格納されます。logging パーティションには、最小で 2048 MB のストレージが必要です。ただし、リソースに余裕がある場合には、より大きなサイズのストレージを logging パーティションに割り当てることを推奨します。
Data
- data パーティションは、KVM のコアファイルを格納するのに十分なサイズである必要があります。コアファイルは、ゲストの RAM サイズにより異なります。また、data パーティションは、カーネルダンプ (別名: kdump) のファイルを格納するのにも十分なサイズでなければなりません。通常、kdump ファイルは、ホストのシステム RAM と同じサイズです。data パーティションには、Hypervisor のアップグレード用の Hypervisor ISO ファイルも格納されます。data パーティションには、最小でで 512 MB のストレージが必要です。推奨サイズ、少なくともホストシステムメモリーの 1.5 倍のサイズに 512 MB を加算した容量です。サイズの値を
-1
に指定して残りの領域をすべて使用するように設定するか、0
に指定して無効に設定することができます。
パーティションは任意の順序で指定することができます。各パーティションは、size,type
という構文で指定します。指定するパーティションは、コロン (:
) で区切ってください。256 MB の Swap パーティションと 4096 MB の Logging パーティションを指定する場合には、完全なパラメーターはstorage_vol=256,Swap:4096,Logging
です。注記
以前のパーティションサイズの指定方法は、現在も使用することができます。この方法では、パーティションのサイズは、以下のような特定の順序で指定する必要がありました。storage_vol=BOOT:SWAP:ROOT:CONFIG:LOGGING:DATA
ただし、Boot、Root パーティションの再設定はできないので、それらのパーティションのサイズは省略可能です。以下はその例です。storage_vol=:SWAP::CONFIG:LOGGING:DATA
サイズの指定がない場合は、パーティションはデフォルトのサイズで作成されます。256 MB の Swap パーティション、4096 MB の Logging パーティションを指定するには、以下が正しい構文となります。storage_vol=:256:::4096:
storage_vol
パラメーターの標準の形式は以下のとおりです。storage_vol=256,EFI:256,Root:4096,Swap
iscsi_name
iscsi_name
パラメーターは、iSCSI イニシエーター名を設定するのに使用します。iSCSI イニシエーター名は、iSCSI Qualified Name (IQN) の形式を取ります。この形式は、RFC 3720 で定義されており、http://tools.ietf.org/html/rfc3720 で入手することができます。IQN は、以下の要素で構成され、「.
」の文字で区切られます。- リテラル文字列
iqn
- ドメインが命名機関の管理下に置かれた日付 (yyyy-mm 形式)
- 逆順ドメイン名: demo.redhat.com が com.redhat.demo となる
- オプションとして、命名機関によって指定されたストレージターゲット名: 先頭にコロンが付く
例7.16
iscsi_name
以下の例は、2011年 7 月作成の demo.redhat.com ドメインにアタッチされた iSCSI イニシエーターの IQN を示しています。iscsi_name=
iqn
.2011-07.com.redhat.demo
7.4.4. ネットワークのパラメーター
複数のネットワークのオプションが利用可能です。Hypervisor を自動インストールするには、以下のパラメーターを追加する必要があります。
- IP アドレスまたは DHCP の設定
- DHCP でホスト名が解決されない場合のホスト名の設定
- Red Hat Enterprise Virtualization Manager ネットワークのアタッチ先のインターフェース
以下の一覧には、任意および必須の両パラメーターの説明と使用例をまとめています。
ネットワークのパラメーター
BOOTIF
BOOTIF
パラメーターは、自動インストールに必要です。BOOTIF
パラメーターにより、Hypervisor が Red Hat Enterprise Virtualization Manager への接続に使用するネットワークインタフェースが指定されます。重要
PXE を使用して Hypervisor を起動し、IPAPPEND 2
ディレクティブを使用したインストールを行うと、BOOTIF=<MAC>
がカーネル引数に自動的に追加されます。IPAPPEND 2
ディレクティブを使用する場合には、BOOTIF
パラメーターを使用する必要はありません。BOOTIF
パラメーターは、以下の 3 つのいずれかの形式で引数を取ります。link
- アクティブなリンクが 1 つある 第 1 のインタフェース (カーネルにより列挙される) を使用する場合に指定します。これは、複数のネットワークインタフェースコントローラーがありながらも、1 つしかプラグインできないシステムに有用です。
eth#
- カーネルドライバーの初期化順序により決定された NIC を使用する場合に指定します (
#
は NIC の番号)。この番号を確認するには、Hypervisor を起動して Hypervisor Configuration Menu から Shell を選択し、ifconfig | grep eth*
のコマンドを使用して、システムに接続されたネットワークインターフェースを一覧表示します。次回の起動時には、そのネットワークインターフェースに同じeth#
マッピングが適用される保証はありません。BOOTIF=eth0
<MAC>
- 括弧内に明示的に定義された MAC アドレスを使用する場合に指定します。
ip
ip
パラメーターは、BOOTIF
パラメーターにより定義されるネットワークインタフェースコントローラーの IP アドレスを設定します。ip
パラメーターには、IP アドレス (0.0.0.0の形式)、またはdhcp
を使用することができます。ip=192.168.1.1
ip=dhcp
ipv6
ipv6
パラメーターは、ip
パラメーターのエイリアスです。指定可能な値は、dhcp
またはauto
です。netmask
netmask
パラメーターは、ip
パラメーターにより定義される IP アドレスのサブネットマスクを設定します。netmask=255.255.255.0
gateway
gateway
パラメーターは、インターネットゲートウェイを設定します。gateway=192.168.1.246
dns
dns
パラメーターは、最大 2 台の DNS サーバーのアドレスを設定します。各 DNS サーバーのアドレスは、コンマで区切る必要があります。dns=192.168.1.243,192.168.1.244
hostname
hostname
パラメーターは、ホスト名を設定します。ホスト名は、完全修飾ドメイン名かつ解決可能なドメイン名でなければなりません。hostname=rhev1.example.com
ntp
ntp
パラメーターは、1 台または複数の Network Time Protocol (NTP) サーバーのアドレスを設定します。各 NTP サーバーのアドレスをコンマで区切る必要があります。ntp=192.168.2.253,192.168.2.254
vlan
vlan
パラメーターは、Red Hat Enterprise Virtualization Manager に接続されるネットワークの VLAN 識別子を設定します。VLAN を使用する場合は、このパラメーターを設定する必要があります。vlan=vlan-id:
例vlan=36:
bond
bond
パラメーターにより、ボンディングが設定されます。各インターフェース名をコンマで区切る必要があります。BOOTIF=bond01 bond=bond01:nic1,nic2
7.4.5. Red Hat Network (RHN) のパラメーター
以下のパラメーターは、Hypervisor ホストを Red Hat Network (RHN) に自動的に登録する場合に使用します。少なくとも
rhn_activationkey
を指定するか、rhn_username
と rhn_password
の両方のパラメーターを指定する必要があります。Satellite サーバーに対して登録する場合には、rhn_url
パラメーターを必ず指定してください。
rhn_type
- このマシンの RHN エンタイトルメントメソッドを設定します。
sam
を指定すると、エンタイトルメントメソッドは、証明書ベースの RHN に設定され、カスタマーポータル、コンテンツ配信ネットワーク、およびサブスクリプションサービス (サブスクリプション管理) が統合されます。classic
を指定すると、エンタイトルメントメソッドは RHN クラシックに設定され、従来のチャンネルエンタイトルメントモデル (チャンネルアクセス) を使用することでコンテンツアクセスのグローバルビューが提供されますが、システムレベルのサブスクリプション使用状況についてのインサイトは提供されません。デフォルト値はsam
です。 rhn_username
rhn_username
パラメーターは、RHN に接続する際に使用するユーザー名を設定します。rhn_username=testuser
rhn_password
rhn_password
パラメーターは、RHN に接続する際に使用するパスワードを設定します。rhn_password=testpassword
rhn_activationkey
rhn_activationkey
パラメーターは、RHN に接続する際に使用するアクティベーションキーを設定します。アクティベーションキーを使用すると、システムの登録、RHN サービスレベルへのシステムのエンタイトルメント取得、特定のチャンネルやシステムグループへのシステムのサブスクリプションをすべて 1 回の操作で行うことができます。rhn_activationkey
とrhn_username
の両方を提供した場合には、rhn_activationkey
の値が使用されます。rhn_activationkey=7202f3b7d218cf59b764f9f6e9fa281b
rhn_org
- このパラメーターは、SAM のみに使用します。カーネルコマンドラインで
rhn_activationkey
とともに使用すると、--org org_name --activationkey key_value
と同じようにシステムが SAM に登録されます。rhn_org=org_name
rhn_url
rhn_url
パラメーターは、ホストを登録する際に使用する Satellite Server の URL を設定します。rhn_url=https://satellite.example.com
rhn_ca_cert
rhn_ca_cert
パラメーターは、Satellite Server に接続する際に使用する CA 証明書の URL を設定します。この値を指定しない場合のデフォルト値はrhn_url
/pub/RHN-ORG-TRUSTED-SSL-CERT
です。rhn_ca_cert=https://satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT
rhn_profile
rhn_profile
パラメーターは、RHN に登録される、対象となるホストのプロファイル名を設定します。デフォルト値はシステムのホスト名です。rhn_profile=testhost
7.4.6. 認証パラメーター
adminpw
adminpw
パラメーターは、admin
ユーザーのパスワード設定に使用します。指定する値は、ハッシュ化済みである必要があります。シャドウパスワードメカニズムが対応しているハッシュスキームは、すべてサポートされています。パスワードをこのパラメーターで使用できるようにハッシュ化するには、以下のコマンドを実行することを推奨します。# openssl passwd -1
openssl
コマンドは、使用するパスワードの入力を求めるプロンプトを表示します。パスワードのハッシュ表現が返されるので、それをadminpw
の値に使用することができます。rootpw
rootpw
パラメーターは、一時的なroot
パスワードを設定するのに使用します。初めてroot
でシステムにログオンする際に、パスワードを変更する必要があります。指定する値はハッシュ化を済ませておく必要があります。シャドウパスワードメカニズムでサポートされているハッシュスキームはすべてサポートしています。以下のコマンドを実行することが、このパラメーターと合わせて使用できるようにパスワードをハッシュ化するための推奨の方法です。# openssl passwd -1
openssl
コマンドを実行すると、使用するパスワードの入力が求められ、rootpw
の値に使用することができるパスワードのハッシュ表現が返されます。重要
root
パスワードは、デフォルトでは設定されません。また、Red Hat サポートの依頼で有効にした場合を除き、このパスワードはサポートされてません。rhevm_admin_password
rhevm_admin_password
パラメーターは、root
パスワードを設定し、SSH パスワード認証を有効化します。指定する値は、ハッシュ化が済んでいる必要があります。シャドウパスワードメカニズムでサポートされているハッシュスキームはすべてサポートしています。以下のコマンドを実行することが、このパラメーターと合わせて使用できるようにパスワードをハッシュ化するための推奨の方法です。# openssl passwd -1
openssl
コマンドを実行すると、使用するパスワードの入力が求められ、rhevm_admin_password
の値に使用することができるパスワードのハッシュ表現が返されます。重要
このパラメーターを設定すると、SSH パスワード認証が有効化されてしまいます。これは、Red Hat サポートの依頼で有効にした場合を除き、サポートされません。初期設定がの完了後に、SSH パスワード認証を無効にすることを推奨します。ssh_pwauth
ssh_pwauth
パラメーターは、SSH 接続でのパスワード認証を有効化するかどうかを選択するのに指定します。許容される値は、0
(無効) および1
(有効) です。デフォルト値は0
です。ssh_pwauth=1
重要
SSH パスワード認証は、デフォルトでは無効になっており、Red Hat サポートの依頼で有効にした場合を除きサポートされません。
7.4.7. その他のパラメーター
firstboot
firstboot
パラメーターは、既存のインストールが存在しないものとしてシステムを扱うように指定します。reinstall
パラメーターは、firstboot
パラメーターの直接のエイリアスで、firstboot
と同様に使用することができます。警告
システム上のディスクにHostVG
という名前のボリュームグループがある場合には、firstboot
パラメーターを使用すると、既存のデータが消去されます。firstboot
パラメーターをstorage_init
パラメーターとともに使用した場合にも、storage_init
で指定されているディスク上のデータは消去されます。install
install
パラメーターは、既存のインストールが存在しないものとしてシステムを扱う必要がある場合に指定します。install
パラメーターは、CD-ROM、DVD、USB、PXE のいずれかのメディアから起動する際に使用することを目的としています。cim_enabled
- Common Information Model (CIM) 管理インフラストラクチャーの使用を有効にします。
cim_passwd
- Common Information Model (CIM) 管理インフラストラクチャーのパスワードを設定します。
disable_aes_ni
- AES-NI 暗号化の命令セットを無効にします。許容される値は
y
またはn
です。 kdump_nfs
- このパラメーターは、kdump 用の NFS サーバーを設定します。このパラメーターの構文は、
kdump_nfs=hostname:nfs_share_path
です (例:kdump_nfs=nfshost.redhat.com:/path/to/nfs/share
)。 local_boot
local_boot
パラメーターは、upgrade
パラメーターのエイリアスです。local_boot_trigger
- インストールが正常に完了した場合に PXE を確認して無効化するためのターゲット URL を設定し、それ以降はシステムがディスクから起動するようにします。
netconsole
netconsole
パラメーターは、カーネルメッセージをロギングする必要のあるサーバーのアドレスを設定します。netconsole
パラメーターは、 IP アドレスまたは完全修飾ドメイン名を指定することができます。またオプションでポート (デフォルトのポートは 6666) を指定可能です。netconsole=rhev.example.com:6666
nfsv4_domain
nfsv4_domain
パラメーターは、NFSv4 に使用するドメインを指定します。nocheck
nocheck
パラメーターにより、インストール ISO の MD5 チェックがスキップされます。メディアがリモートに配置されている場合や低速の場合には、MD5 チェックに長時間を要する可能性があります。management_server
management_server
パラメーターは、Red Hat Enterprise Virtualization Manager のアドレスを設定します。management_server
パラメーターは IP アドレスまたは完全修飾ドメイン名を指定できます。またオプションでポート (デフォルトのポートは 443) の指定も可能です。management_server=rhev.example.com:443
mem_overcommit
mem_overcommit
パラメーターは、メモリーオーバーコミットをサポートするために、swap の追加に使用する乗数を指定します。デフォルトのオーバーコミット値は 0.5 です。mem_overcommit=0.7
qemu_pxe
qemu_pxe
パラメーターは、仮想マシンで使用するネットワークブートローダーの選択に使用します。指定可能な値は、gpxe
およびetherboot
です。qemu_pxe=gpxe
reinstall
reinstall
パラメーターは、既存のインストールが存在しないものとしてシステムを扱うように指定します。firstboot
パラメーターは、reinstall
パラメーターの直接のエイリアスで、reinstall
と同様に使用することができます。警告
システム上のディスクにHostVG
という名前のボリュームグループがある場合には、reinstall
パラメーターを使用すると、既存のデータが消去されます。reinstall
パラメーターをstorage_init
パラメーターとともに使用した場合にも、storage_init
で指定されているディスク上のデータは消去されます。snmp_password
- Simple Network Management Protocol のパスワードを有効化し、設定します。
syslog
- rsyslog サーバーを指定のアドレスに設定します。また、ポートを指定することもできます。構文は
syslog=hostname[:port
] です。 upgrade
upgrade
パラメーターにより、既存の Hypervisor イメージが起動メディアによって提供されるバージョンにアップグレードされます。Hypervisor は自動的にアップグレードされ、アップグレードが完了するとリブートします。Hypervisor イメージが未インストールの場合には、storage_init
パラメーターで選択したデバイスにイメージがインストールされます。アップグレードの実行時には、以前のブートエントリーは BACKUP としてgrub.conf
に保存されます。アップグレードの手順の後にリブートが失敗した場合は、BACKUP ブートエントリーが新しいデフォルトとして自動的に選択されます。uninstall
uninstall
パラメーターは、既存の Red Hat Enterprise Virtualization インストールを削除します。ホストのボリュームグループが削除され、システムが再起動します。
7.4.8. Hypervisor の自動インストールの例
この例では、Hypervisor の自動インストールのためのカーネルコマンドラインパラメーターを使用しています。
重要
この例は、すべてのシステムで正しく機能しない可能性があります。上記のパラメーターの説明を確認して、デプロイメントを行うシステムに応じて、例を変更する必要があります。
カーネルコマンドパラメーターを使用した Hypervisor のインストールの一般的な例は以下のとおりです。
この例では、Manager は hostname:
rhevm.example.com
にあり、netconsole サーバーは同じマシン上に配置されています。
:linux storage_init=/dev/sda storage_vol=::::: local_boot BOOTIF=eth0 management_server=rhevm.example.com netconsole=rhevm.example.com
注記
PXE を使用するネットワーク上でブートするゲストには、カーネルパラメーターを自動的に追加することができます。本ガイドでは、PXE からの自動インストールについては、説明していません。