B.2. IBM Z での KVM 仮想化の使用
インストール
IBM Z ホストでは、ハイパーバイザーを専用の論理パーティション (LPAR) にインストールする必要があります。z/VM OS における KVM の実行はサポートされていません。また、LPAR は SIE (start-interpretive execution) 仮想化拡張をサポートする必要もあります。
Red Hat Enterprise Linux 7 for IBM Z に KVM 仮想化をインストールするには、以下を行います。
- カスタマーポータルのブート可能イメージ からホストシステムをインストールします。詳細な手順は、インストールガイドを参照してください。
- お使いのシステムがハイパーバイザーの要件を満たしているようにしてください。
- CPU の仮想化拡張が利用できることを確認します。
# grep sie /proc/cpuinfoこのコマンドの出力には、プロセッサーに必要な仮想化拡張があることを示すsieエントリーが含まれている必要があります。features : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie - KVM カーネルモジュールを読み込みます。
# modprobe kvm - KVM カーネルモジュールが読み込まれていることを確認します。
# lsmod | grep kvmKVM が正常にロードされた場合は、このコマンドの出力にkvmが含まれます。そうでない場合は、Red Hat Enterprise Linux 7 のカーネルのkernel-altバージョンを使用していることを確認します。
- 2章仮想化パッケージのインストール で説明されているその他の仮想化パッケージに加え、qemu-kvm-ma パッケージをインストールします。
- ゲストの設定時、ゲストを "Spectre" 脆弱性から保護するために、以下の方法の 1 つで CPU を設定 することが推奨されます。
- 以下のように、ホストの CPU モデルを使用します。
<cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu>これにより、ホストがppa15機能およびbpb機能をサポートしている場合は、ゲストでも利用できます。 - 特定のホストモデルを使用している場合、
ppa15およびbpb機能を追加します。次の例では、zEC12CPU モデルを使用します。<cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>zEC12</model> <feature policy='force' name='ppa15'/> <feature policy='force' name='bpb'/> </cpu>
注記z12ホストマシンでz114およびz196CPU モデルでppa15機能を使用すると、最新のマイクロコードレベル (バンドル 95 またはそれ以降) を使用するようにしてください。
アーキテクチャーの関連事項
IBM Z 向けの Red Hat Enterprise Linux 7.5 上の KVM 仮想化は、AMD64 や Intel 64 システムの KVM とは以下の点が異なります。
- IBM Z では SPICE および VNC プロトコルは利用できず、仮想グラフィカルカードデバイス はサポートされません。そのため、ゲストのグラフィカル出力は表示できません。
- IBM Z は、仮想 PCI デバイスおよび USB デバイスをサポートしていません。したがって、virtio-*-pci デバイスはサポートされていないため、代わりに
virtio-*-ccwデバイスを使用してください。たとえば、virtio-net-pciの代わりにvirtio-net-ccwを使用します。 - <boot dev='device'/> XML 設定要素は IBM Z ではサポートされていません。デバイスの起動順序を定義するには、<devices> セクションの <boot order='number'/> 要素を使用します。たとえば、ブート順序の指定 を参照してください。すべてのアーキテクチャーで、<boot order='number'/> を使用して起動順序の管理を行うことが推奨されます。
- SMBIOS 設定は利用できません。
- IBM Z で使用される ウォッチドックデバイス モデルは
diag288である必要があります。 - IBM Z で 入れ子になった仮想化 機能を有効にするには、以下を行います。入れ子になった仮想化は、IBM Z では AMD64 および Intel 64 システムと同様にテクノロジープレビューとして利用できるため、本番環境での使用は推奨されていないことに注意してください。
- 1. 入れ子になった仮想化がシステムで利用できるかどうかを確認します。
$ cat /sys/module/kvm/parameters/nestedこのコマンドによって1が返された場合、この機能は有効になっています。このコマンドによって0が返された場合、以下の手順に従って有効にします。 kvmモジュールをアンロードします。# modprobe -r kvm- ネスト機能をアクティブにします。
# modprobe kvm nested=1 - ネスト機能は、ホストの次回起動時まで有効になります。永続的に有効にするには、以下の行を
/etc/modprobe.d/kvm.confファイルに追加します。options kvm nested=1
kvm-clockサービスは、AMD64 システムおよび Intel 64 システムに固有のものであり、IBM Z の 時間管理 用に設定する必要はありません。