SLES 15 KVM仮想化設定およびVM自動起動ガイド

SUSE Linux Enterprise Server 15 は、QEMU/KVM ハイパーバイザーと libvirt 管理スタックを使用して KVM ホストとして機能します。このガイドは、ハードウェア仮想化の確認、サポートされているコンポーネントのインストール、ネットワークとストレージの選択、ゲストの作成、VM ごとの自動起動の有効化、ホストの再起動後にゲストが復旧することの確認など、再現性のあるセットアップを希望する管理者向けの実用的なリファレンスとして作成されています。

以下のコマンドとメニューパスは、 2026年9月10日発行のSUSE Linux Enterprise Server 15 SP7仮想化ガイドに基づいて検証されています。以前のSLES 15サービスパックも同様ですが、パッケージバージョン、デーモンのデフォルト設定、および利用可能なゲストプロファイルが異なる場合があります。SUSEは、libvirtとハイパーバイザ固有の直接管理を混在させるのではなく、libvirtを介してサポートされている仮想化を管理することを推奨します。

簡単な計画チェックリスト

アイテム何を決定または検証するか
CPUハードウェア仮想化はファームウェアでサポートされ、有効化されています。x86システムでは、Intel VT-xまたはAMD-Vが利用可能です。
ホストリソースSLES自体と各ゲストOSのために、十分なCPU、RAM、ストレージ、およびI/O容量を確保してください。
ネットワーキングゲストがLANへの通常のレイヤ2アクセスを必要とする場合はブリッジを使用し、NATまたはルーティングによる分離がより適している場合はlibvirt仮想ネットワークを使用します。
ストレージゲストディスクイメージの保存場所を選択し、バックエンドのファイルシステムまたはストレージプールに十分な空き容量があることを確認してください。
管理virsh、virt-install、Virtual Machine Managerなどのlibvirtツールを一貫して使用してください。
起動時の動作自動起動は、すべてのゲストに対して共通のグローバルスイッチを使用するのではなく、各永続仮想マシンごとに個別に設定されます。

1. ホストがKVMを実行できることを確認します。

KVMにはプロセッサ仮想化のサポートと、そのサポートをオペレーティングシステムに公開するファームウェア設定が必要です。x86ホストでは、まずIntelvmxまたはAMD svmCPUフラグを確認することで簡単にチェックできます。libvirtクライアントパッケージにはvirt-host-validate、より広範なホストチェックを実行する機能も含まれています。

egrep -c '(vmx|svm)' /proc/cpuinfo
sudo virt-host-validate qemu

CPUフラグのカウントが正であることは有用ですが、唯一の要件ではありません。検証でKVMが利用できないと報告された場合は、特に新しくプロビジョニングされたサーバーでは、まずBIOSまたはUEFIの設定を確認してください。SUSEのKVMホストのドキュメントには、仮想化はCPUでサポートされ、BIOS/ファームウェアで有効になっている必要があると記載されています。また、ネストされた仮想化は別の機能であることにも注意してください。SLES 15 SP7では、SUSEはネストされたKVMを製品版でサポートされているデフォルトではなく、テクノロジープレビューとしてドキュメント化しています。

SLES 15ホスト上のターミナルに、CPU仮想化チェックとvirt-host-validateの結果を表示。
プリフライト段階のターミナル画面:仮想マシンを作成する前に、CPU仮想化フラグとホスト検証がチェックされます。

2. KVMサーバーとlibvirt管理ツールをインストールします。

最もサポート体制が整っている方法はYaSTを使うことです。YaSTを開き、[仮想化] > [ハイパーバイザーとツールのインストール]を選択し、 [ KVMサーバー]を選択します。libvirt管理スタックが必要な場合は、 [KVMツール]yast2-vmを選択してください。SUSEのドキュメントには、この設定に使用するYaSTモジュールとしてパッケージが記載されています。

コマンドラインによる自動化の場合、SLES は同じ機能をインストールパターンにグループ化します。ホストパターンと管理パターンの両方をインストールしてください。

sudo zypper install -t pattern kvm_server kvm_tools

このkvm_serverパターンは、基本的なQEMU/KVMホスト環境をインストールします。また、kvm_toolsゲストの管理と監視のためのlibvirtベースのツールも追加します。依存関係のリストはサービスパックによって異なるため、最小限のホスト設計を厳密に管理している場合を除き、手書きのパッケージリストを維持するよりも、ドキュメントに記載されているパターンをインストールする方が望ましいです。

参考資料: SUSE: 仮想化コンポーネントのインストール。

KVMサーバーとKVMツールが選択されたYaST仮想化ウィンドウ
YaSTで、KVMサーバーとKVMツールを選択して、ハイパーバイザーとlibvirt管理スタックをインストールします。

3. 本番環境のトラフィックを移行する前に、VMネットワークモデルを選択してください。

SUSEでは、ゲストOSがホストのLANに直接接続する場合、ネットワークブリッジをデフォルトかつ推奨される接続方法として説明しています。ブリッジはレイヤ2スイッチのように機能し、ホストの物理インターフェースとVMの仮想インターフェースが同じイーサネットセグメントを共有します。これは通常、独自のLANアドレス、受信サービス、DHCP予約、または他のマシンからの通常の可視性を必要とするインフラストラクチャVMにとって最も明確な選択肢となります。

libvirt仮想ネットワークは、ゲストが隔離された環境を必要とする場合や、シンプルなアウトバウンド接続が必要な場合に最適です。NATを使用すると、複数のゲストがプライベートサブネット上に留まりながら、ホストの外部アドレスを共有できます。ルーティングモードでは、アドレス変換なしでトラフィックを転送しますが、周辺ネットワークでの適切なルーティングが必要です。

ホストがwicked、SUSE がサーバーホストのデフォルトのネットワーク管理サービスとして文書化している を使用している場合は、YaST または対応するコマンドライン構成を使用してブリッジを作成します。NetworkManager システムでは を使用できますnmcli。リモート サーバーでは注意が必要です。ホスト IP 構成をブリッジに移動すると、変更が間違っている場合に SSH が中断される可能性があります。メンテナンス ウィンドウをスケジュールするか、コンソール アクセスが確保されていることを確認してください。

参考資料: SUSE: VM ホスト サーバーの準備。

YaSTのネットワーク設定で、ブリッジbr0がeth0に接続されていることが示されています。
br0を物理イーサネットインターフェースに接続したブリッジネットワークの例。ゲストがレイヤ2 LANアクセスを必要とする場合に適しています。

4. KVMカーネルモジュールがロードされていることを確認します。

インストール後、KVM のカーネル側を確認します。Intel ホストは通常​​ を使用しkvm_intel、AMD ホストは を使用しますkvm_amd。SUSE の KVM ホスト設定ガイドでは、プロセッサ固有のモジュールをロードし、 で確認する方法が説明されていますlsmod。

sudo modprobe kvm_intel   # Intel host
# or
sudo modprobe kvm_amd     # AMD host

lsmod | grep kvm

汎用kvmモジュールとプロセッサ固有モジュールが表示されるはずです。モジュールのロードに失敗した場合は、ソフトウェアエミュレーションでVMを作成するだけでは先に進めません。ソフトウェアのみのエミュレーションが設計の一部である場合を除き、ファームウェアの仮想化設定とホストの互換性をまず再確認してください。

参考資料: SUSE: KVM VM ホスト サーバーの設定。

SLESターミナルでlsmodの出力にkvmおよびkvm_intelモジュールが表示されている。
Intelホスト上で想定されるモジュールチェックでは、汎用KVMモジュールとIntel固有のKVMモジュールの両方が表示されます。

5. サービスパックで使用されているlibvirtデーモンモデルを確認します。

SLES 15 SP7 では、モジュール式の libvirt デーモン モデルがデフォルトで有効になっています。KVM の場合、プライマリ ハイパーバイザー デーモンは ですvirtqemud。セカンダリ デーモンは、仮想ネットワークやストレージなどの機能を処理します。SUSE は従来型のモノリシックlibvirtdデプロイメントについてもドキュメント化していますが、両方のモデルを任意に有効にすることは推奨されません。

デフォルトのSP7 KVMホストで、QEMUデーモンを確認します。

systemctl status virtqemud.service
sudo systemctl enable --now virtqemud.service

SUSE は、仮想マシンがホスト起動時に自動起動するように構成されている場合、関連する libvirt サービスを起動時に開始するように構成することを特に推奨しています。意図的にモノリシック libvirt を使用している古いインストール環境では、libvirtd.service代わりに libvirt とそのソケットを確認してください。既存のホストでデーモン モデルを切り替える前に、SUSE のドキュメントに記載されている移行手順に従い、ゲストを停止または退避させてください。

参考資料: SUSE: libvirt デーモン。

SLES 15ホスト上でvirtqemud systemdサービスがアクティブになっていることを示すターミナル画面
現在のSLES 15 SP7では、ホスト起動時のVM自動起動に依存する前に、モジュール式のvirtqemudサービスを確認してください。

6. 保存媒体およびインストール媒体を準備する

ゲストを作成する前に、仮想ディスクの配置場所とインストール用ISOイメージのマウント場所を決定してください。デフォルト設定は小規模なスタンドアロンホストには便利ですが、大規模なインストールでは、専用のLVMボリューム、個別のファイルシステム、NFS、iSCSI、またはlibvirtで管理されるその他のストレージを使用する場合があります。重要な運用ルールは、増大し続けるVMイメージでホストのルートファイルシステムが密かに埋め尽くされないようにすることです。

ファイルバックアップ型のゲストOSの場合、ディスクを作成する前に空き容量を確認してください。

df -h /var/lib/libvirt/images
ls -lh /data/ISOs/

libvirtストレージプールを使用する場合は、それを確認しvirsh pool-list --all、目的のプールがアクティブになっていることを確認してください。本番システムでは、ディスクイメージを自己管理型の不透明なファイルとして扱うのではなく、VMストレージを容量監視およびバックアップ設計に組み込むようにしてください。

7. 仮想マシンを作成する

ゲストは、Virtual Machine Manager を使用してグラフィカルに作成することも、コマンドラインから作成することもできますvirt-install。SUSE はvirt-install、libvirt を介してゲストを作成するためのコマンドラインツールとして を説明しており、再現性のあるビルドやリモート管理に特に役立ちます。

仮想マシンマネージャで、新しい仮想マシンを作成し、ローカルインストールメディアを選択し、ゲストオペレーティングシステムを選択し、メモリと仮想CPUを割り当て、ストレージを選択し、目的の仮想ネットワークを選択します。以下の画面では、例としてSLES 15 ISOを使用していますが、ライセンスされたサービスパックに適した正確なインストールイメージとプロファイルを使用してください。

仮想マシンマネージャの新規VMウィザードでローカルのSLES 15インストールメディアを選択
Virtual Machine ManagerはローカルのISOメディアからゲストOSを作成できます。インストールするサービスパックに対応するSLES 15イメージを選択してください。

同様のコマンドラインの例は次のとおりです。

sudo virt-install   --name sles15-vm   --memory 4096   --vcpus 2   --disk path=/var/lib/libvirt/images/sles15-vm.qcow2,size=40   --cdrom /data/ISOs/SLES-15-SP7-DVD-x86_64-GM-DVD1.iso   --network bridge=br0,model=virtio   --graphics spice

ワークロードに合わせて、メモリ、CPU数、ディスクサイズ、ISOパス、ネットワークソース、ファームウェア、グラフィックオプションを調整してください。ブリッジではなくlibvirt NATネットワークを使用している場合は、ブリッジオプションを適切な仮想ネットワークに置き換えてください。運用サポートが重要な場合は、SUSEの仮想化サポートドキュメントでサポートされているゲストオペレーティングシステムとデバイスの選択肢を確認してください。

参考資料: SUSE: virt-install を使用したゲストのインストール。

SLES 15仮想マシンを定義するvirt-installコマンドが表示されたターミナル画面
virt-installワークフローでは、ゲスト名、RAM、vCPU、ディスク、インストールメディア、ネットワーク接続を、繰り返し実行可能な単一のコマンドで定義します。

8. VMの自動起動を有効にする

VMの自動起動は、各永続ゲスト上のlibvirtプロパティです。SUSEのドキュメントには、この機能はデフォルトでは有効になっておらず、個別に有効にする必要があることが明記されています。すべてのVMを自動起動対象としてマークする単一のグローバルスイッチはありません。

ゲスト向けに有効化する:

sudo virsh autostart sles15-vm

設定を確認してください:

sudo virsh dominfo sles15-vm | grep -i autostart

後でこの動​​作を無効にするには:

sudo virsh autostart --disable sles15-vm

仮想マシンマネージャでは、同等の設定はゲストOSの「表示」>「詳細」>「起動オプション」にあり、そこで「ホスト起動時に仮想マシンを起動する」を有効にして変更を適用できます。

参考資料: SUSE: 基本的な VM ゲスト管理と自動起動。

SLESターミナルに、永続的なVMに対するvirsh autostartとdominfoの出力を表示
自動起動を有効にした後、virsh dominfo コマンドを実行すると、ゲストOSがホストの仮想化サービスと自動的に起動するように設定されていると報告されるはずです。

9. 自動起動が機能すると想定するのではなく、設定をテストする

意味のあるテストは、メンテナンス時間中にホストを制御された状態で再起動することです。再起動する前に、現在の状態を記録し、VMが永続的であることを確認してください。

sudo virsh list --all
sudo virsh dominfo sles15-vm

次にホストを再起動します。ホストが起動したら、仮想化デーモンとゲストの状態を確認します。

systemctl is-active virtqemud.service
sudo virsh list --all

デプロイメントでモノリシックな libvirt を使用している場合は、サービスチェックを に置き換えてくださいlibvirtd。自動起動された VM は、running手動で を実行することなくに移行する必要がありますvirsh start。また、VM の状態だけでなく、ゲスト内のサービスも確認してください。実行中の VM でも、アプリケーションの障害、ネットワーク構成の欠落、ファイルシステムの復旧問題などが発生する可能性があります。

トラブルシューティングリファレンス

症状確認すべき可能性のあるエリア便利なコマンド
KVMが利用できませんファームウェア仮想化が無効になっているか、CPUがサポートされていないか、カーネルモジュールが見つかりませんvirt-host-validate qemu
VMがLANに接続できませんブリッジメンバーシップ、ホストIP配置、VLAN、ファイアウォール、またはスイッチポリシーip linkそしてbridge link
VM定義は存在するが、起動しないディスクパス、アクセス許可、ストレージプール、XML、またはリソースの枯渇virsh start VMNAMEプラスジャーナルログ
ホスト再起動後、VMが起動しないホスト起動時に自動起動フラグまたはlibvirtデーモンが有効になっていませんvirsh dominfo VMNAMEそしてsystemctl is-enabled virtqemud
シャットダウンは停電のように動作しますゲストACPIまたはゲストOSのシャットダウン動作virsh shutdown VMNAME

SUSEは、強制シャットダウンはvirsh destroy電源を突然切断することと同等であり、ゲストファイルシステムの破損やデータ損失を引き起こす可能性があると警告しています。本番環境で仮想マシンを使用する前に、正常なシャットダウンと再起動の動作をテストしてください。

信頼性の高いSLES 15 KVMホストのための実用的なベースライン

クリーンなベースラインは簡単です。ホストをサポート対象の SLES 15 サービス パックに維持し、ドキュメント化されたパターンをインストールしkvm_server、kvm_toolslibvirt を一貫して使用し、ブリッジまたは仮想ネットワーク接続を意図的に選択し、VM ストレージをサイズ不足のルート ファイルシステムから離し、ブート時に起動する必要のあるゲストのみをでマークしますvirsh autostart。

SLES 15 SP7 では、見落としがちなデーモンの詳細に注意してください。モジュール式の libvirt デーモンがデフォルトvirtqemudになっているため、通常 KVM で検証するサービスもモジュール式になります。これは、現在のすべてのホストが従来のモノリシックな構成を中心としていると想定するのではなく、モジュール式のサービスを使用することを意味libvirtdします。この違いは、自動起動が正しく設定されているにもかかわらず、ホストの再起動後に仮想マシンが起動しない場合に、診断を行う際に重要になります。

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。