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
# grep sie /proc/cpuinfo
Copy to Clipboard Copied! このコマンドの出力には、プロセッサーに必要な仮想化拡張があることを示すsie
エントリーが含まれている必要があります。features : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie
features : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie
Copy to Clipboard Copied! - KVM カーネルモジュールを読み込みます。
modprobe kvm
# modprobe kvm
Copy to Clipboard Copied! - KVM カーネルモジュールが読み込まれていることを確認します。
lsmod | grep kvm
# lsmod | grep kvm
Copy to Clipboard Copied! KVM が正常にロードされた場合は、このコマンドの出力に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>
<cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu>
Copy to Clipboard Copied! これにより、ホストがppa15
機能およびbpb
機能をサポートしている場合は、ゲストでも利用できます。 - 特定のホストモデルを使用している場合、
ppa15
およびbpb
機能を追加します。次の例では、zEC12
CPU モデルを使用します。<cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>zEC12</model> <feature policy='force' name='ppa15'/> <feature policy='force' name='bpb'/> </cpu>
<cpu mode='custom' match='exact' check='partial'> <model fallback='allow'>zEC12</model> <feature policy='force' name='ppa15'/> <feature policy='force' name='bpb'/> </cpu>
Copy to Clipboard Copied!
注記z12
ホストマシンでz114
およびz196
CPU モデルで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
$ cat /sys/module/kvm/parameters/nested
Copy to Clipboard Copied! このコマンドによって1
が返された場合、この機能は有効になっています。このコマンドによって0
が返された場合、以下の手順に従って有効にします。 kvm
モジュールをアンロードします。modprobe -r kvm
# modprobe -r kvm
Copy to Clipboard Copied! - ネスト機能をアクティブにします。
modprobe kvm nested=1
# modprobe kvm nested=1
Copy to Clipboard Copied! - ネスト機能は、ホストの次回起動時まで有効になります。永続的に有効にするには、以下の行を
/etc/modprobe.d/kvm.conf
ファイルに追加します。options kvm nested=1
options kvm nested=1
Copy to Clipboard Copied!
kvm-clock
サービスは、AMD64 システムおよび Intel 64 システムに固有のものであり、IBM Z の 時間管理 用に設定する必要はありません。