【LinuC 201試験】2.05 仮想マシンの作成と管理のまとめ|Linux初学者向け解説【virsh・virt-install・qcow2】

※本ページはプロモーションが含まれています

こんにちは!いつもブログを読んでいただき、ありがとうございます。

今回は、主題2.05「仮想化サーバー」の後半として、2.05.2 仮想マシンの作成と管理 を解説していきます!

virsh コマンドが多くて覚えられない!」「仮想マシンの作り方と止め方、どのコマンドを使えばいいの?」——前回の概念編に続き、今回は 実際に仮想マシンを操作するコマンド を丁寧に整理していきます。サブコマンドの「意味」とセットで覚えることで、引っかけ問題にも対応できるようになりますよ!

LinuC 201全体の学習ロードマップはこちらにまとめています♪

👉 【LinuC 201】独学合格へのロードマップ!勉強方法と出題範囲の全体像まとめ

前回の「仮想マシンの仕組みとKVM」をまだ読んでいない方は、先にそちらで概念を押さえておくとこの記事がよりスムーズに読めますよ。

👉 2.05 仮想マシンの仕組みとKVMのまとめ


📋 試験の重要情報と学習のゴール

まずは、この主題で絶対に外せない「キーワード」を確認しましょう。

項目内容
主題番号2.05.2 仮想マシンの作成と管理
重要度3(5段階中)
頻出キーワードvirt-installvirshqcow2、スナップショット、クローン、virt-manager

重要度3は「試験全体のなかで出題比率が高め」という意味です。virsh コマンドのサブコマンドは非常によく出るので、「何をするコマンドか」を意味とセットで覚えていきましょう!


1. 仮想マシンの作成 — virt-install|★★☆

virt-install とは?

virt-install は、コマンドラインから 新しい仮想マシンを作成してOSをインストール するためのコマンドです。libvirtd 経由でKVM/QEMUを使い、VMを構築します。

📝 試験ポイントvirt-install は新規作成専用のコマンドです。既存VMの管理(起動・停止など)には virsh を使います。用途の違いを覚えておきましょう。

# 最小構成の例(ISOファイルからインストール)
virt-install \
  --name centos-vm \             # 仮想マシン名
  --ram 2048 \                   # メモリ量(MB)
  --vcpus 2 \                    # 仮想CPU数
  --disk path=/var/lib/libvirt/images/centos-vm.qcow2,size=20 \  # ディスク(GB)
  --cdrom /path/to/centos.iso \  # インストールメディア(ISOファイル)
  --os-variant centos-stream9 \  # OSの種類(最適化設定を自動で適用)
  --network network=default      # NAT接続(libvirtのデフォルト仮想ネットワーク)

# 既存のディスクイメージを使って起動する(--import)
virt-install \
  --name myvm \
  --ram 2048 \
  --vcpus 2 \
  --disk path=/var/lib/libvirt/images/existing.qcow2 \
  --import \                     # 既存ディスクを使う(OSインストール不要)
  --network network=default

📝 --network オプションの使い分け --network network=default は libvirt のデフォルト仮想ネットワーク(NAT接続)に接続します。物理ネットワークに直接接続したい場合は --network bridge=br0 のようにブリッジインターフェースを指定します。virbr0 はNATネットワークのブリッジデバイス名ですが、試験では network=default という指定方法も押さえておきましょう。

virt-install の主要オプション早見表

オプション意味
--nameVM名(virsh での識別名)
--ramメモリ量(MB単位)
--vcpus仮想CPU数
--disk仮想ディスクのパスとサイズ
--cdromISOイメージのパス(インストールメディア)
--locationネットワークインストール先URL
--os-variantゲストOSの種類(最適化のため)。osinfo-query os コマンドで指定できる値の一覧を確認できる

📝 OS選択の補足 現在の実務では CentOS Linux はサポートが終了しており、CentOS Stream や Rocky Linux、AlmaLinux などが主流になっています。試験ではディストリビューション名よりも、コマンドや仕組みの理解が重視されます。 | --network | 使用するネットワーク | | --graphics none | テキストモード(GUIなし) | | --import | 既存ディスクをそのまま使用(OSインストール不要) |

★ここがポイント! --import オプションは「既存のディスクイメージからVMを作成する(OSの再インストールは不要)」場合に使います。クラウドイメージなどを活用する際によく登場します。

📝 クラウドとの関係 AWSやGCPなどのクラウドサービスでも、内部ではKVMのような仮想化技術が使われています。「ディスクイメージからVMを起動する」という考え方は、AWSのAMI(Amazon Machine Image)などと非常に近い概念です。ここで学ぶ「仮想マシンの作成・管理」の知識は、そのままクラウド理解にもつながりますよ♪


2. virsh — VMを管理する最重要コマンド|★★★ 最頻出!

virsh は、libvirtd 経由で仮想マシンを管理するCLIコマンドです。試験で最も頻出のコマンド群 です。

📝 補足:libvirtd と virtqemud について 最近のlibvirt(バージョン6.0以降)では、従来の libvirtd から virtqemud などの分割デーモン構成に移行が進んでいます。ただしLinuC試験では「libvirtd」として出題されるため、まずはこちらを優先して覚えておきましょう。


VM一覧の確認

# 実行中の仮想マシンを表示する
virsh list

# 停止中も含めて全VMを表示する(試験頻出!)
virsh list --all

# 停止中のVMのみ表示する
virsh list --inactive

📝 試験ポイント:起動中のVMのみ表示するのは virsh list停止中も含めて全VMを表示するのは virsh list --all です。--all の有無で結果が大きく変わります。


VMの起動・停止・再起動

# VMを起動する
virsh start myvm

# VMを正常にシャットダウンする(OSにシャットダウン信号を送る)
virsh shutdown myvm

# VMを強制終了する(電源を抜くイメージ)
virsh destroy myvm

# VMを再起動する
virsh reboot myvm

# VMを一時停止する(サスペンド)
virsh suspend myvm

# 一時停止したVMを再開する(レジューム)
virsh resume myvm

停止系コマンドの重要な違い(ここ、試験に出ます!)

コマンド動作使う場面
virsh shutdown myvmゲストOSに正常終了の信号を送る通常の停止
virsh destroy myvm即座に強制終了(電源断)OSがフリーズして応答しない時

⚠️ 試験の最頻出ひっかけvirsh destroy は「VMを削除する」コマンドでは ありません。「強制終了(電源断)」するコマンドです。VMの定義を削除するのは virsh undefine です。


VMの定義(設定)の管理

# VMの詳細情報を確認する
virsh dominfo myvm

# VMのXML定義ファイルを表示する
virsh dumpxml myvm

# VMのXML定義ファイルを編集する
virsh edit myvm

# VMを定義から削除する(ディスクイメージは残る)
virsh undefine myvm

# VMを定義から削除しディスクも一緒に削除する
virsh undefine myvm --remove-all-storage

# XMLファイルからVMを登録する
virsh define /path/to/myvm.xml

# 自動起動を有効にする(OS起動時にVMも自動起動)
virsh autostart myvm

# 自動起動を無効にする
virsh autostart --disable myvm

📝 試験ポイントvirsh undefine は VM の「定義(登録情報)を削除する」コマンドです。--remove-all-storage を付けないと、仮想ディスクイメージファイル(.qcow2等)はディスク上に残ります。


スナップショット — VMを特定時点に戻す(★★★)

スナップショットとは、仮想マシンのある時点の状態を保存しておき、後で元に戻せる機能です。

# スナップショットを作成する
virsh snapshot-create-as myvm snap1 \
  --description "初期設定完了時点"

# スナップショット一覧を表示する
virsh snapshot-list myvm

# スナップショットの詳細を確認する
virsh snapshot-info myvm snap1

# スナップショットに戻す(ロールバック)
virsh snapshot-revert myvm snap1

# スナップショットを削除する
virsh snapshot-delete myvm snap1

📝 試験ポイント:スナップショットの作成は snapshot-create-as、一覧は snapshot-list、ロールバックは snapshot-revert です。動詞と操作の組み合わせで覚えましょう。


virsh コマンド全体の早見表(試験直前チェック用)

virsh サブコマンド動作
list起動中VMを一覧表示
list --all停止中含む全VMを一覧表示
start <VM名>VMを起動
shutdown <VM名>VMを正常停止(OS経由)
destroy <VM名>VMを強制終了(電源断)※削除ではない
reboot <VM名>VMを再起動
suspend <VM名>VMを一時停止
resume <VM名>VMを一時停止から再開
dominfo <VM名>VMの詳細情報を表示
dumpxml <VM名>VMのXML定義を表示
edit <VM名>VMのXML定義を編集
undefine <VM名>VMの定義を削除(ディスクは残る)
define <XMLファイル>XMLファイルからVMを登録
autostart <VM名>自動起動を有効化
autostart --disable <VM名>自動起動を無効化
snapshot-create-as <VM名> <スナップ名>スナップショットを作成
snapshot-list <VM名>スナップショット一覧表示
snapshot-revert <VM名> <スナップ名>スナップショットへロールバック
snapshot-delete <VM名> <スナップ名>スナップショットを削除

3. 仮想ディスクイメージの管理|★★☆

仮想ディスクの形式

仮想ディスクはファイルとして管理されます。代表的な形式を覚えましょう。

形式説明特徴
qcow2QEMU Copy On Write version 2KVM標準形式。スナップショット対応。使用した分だけ容量が増える(シン・プロビジョニング)
raw生のディスクデータシンプル・高速。スナップショット非対応
vmdkVMware形式VMware環境との互換性

★ここがポイント! KVMで最もよく使われるのが qcow2 形式です。「スナップショットが使える」「使用した分だけ容量を消費する(シン・プロビジョニング)」という2つの特徴を覚えましょう。


qemu-img — 仮想ディスクイメージを操作する

# 新しいディスクイメージを作成する(qcow2形式、20GB)
qemu-img create -f qcow2 /var/lib/libvirt/images/myvm.qcow2 20G

# イメージの情報を確認する
qemu-img info /var/lib/libvirt/images/myvm.qcow2

# ディスクイメージの形式を変換する(raw → qcow2)
qemu-img convert -f raw -O qcow2 source.img dest.qcow2

# ディスクイメージのサイズを変更する(10GB追加)
qemu-img resize /var/lib/libvirt/images/myvm.qcow2 +10G

📝 試験ポイントqemu-img info の出力に表示される virtual size(仮想サイズ)と disk size(実際の使用容量)が異なるのが qcow2 の特徴(シン・プロビジョニング)です。

📝 qcow2 と raw の使い分け qcow2 はスナップショット対応・容量可変で使い勝手が良い反面、raw 形式と比べてわずかにオーバーヘッドがあります。パフォーマンスが最優先の本番環境では raw が使われることもあります。試験では qcow2 の特徴を押さえておけば OK です。


VMのクローン(複製)

# virt-clone コマンドでVMをクローンする
# ※ クローン元のVMは停止状態である必要がある
virt-clone \
  --original myvm \           # クローン元のVM名
  --name myvm-clone \         # クローン先のVM名
  --file /var/lib/libvirt/images/myvm-clone.qcow2

⚠️ 注意virt-clone でクローンする際は、クローン元のVMを 停止状態 で実行するのが基本です。起動中のままクローンするとディスクデータの整合性が保証されません。


4. 仮想ネットワークの管理|★★☆

KVM環境では libvirt が仮想ネットワークを管理します。デフォルトで default という仮想ネットワーク(NAT構成)が用意されています。

# 仮想ネットワークの一覧を表示する
virsh net-list --all

# 仮想ネットワークの詳細情報を確認する
virsh net-info default

# 仮想ネットワークを起動する
virsh net-start default

# 自動起動を有効にする
virsh net-autostart default
ネットワークモード説明用途
NATホストのIPアドレスでインターネットに接続(デフォルト)開発・テスト環境
ブリッジホストと同じネットワークに直接接続本番環境・外部からアクセスが必要な場合
isolatedホストやインターネットと切り離された閉じたネットワークセキュリティ重視のテスト環境

5. ライブマイグレーション|★★☆

ライブマイグレーションとは、VMを停止させずに別の物理ホストへ移動 させる技術です。本番環境でホストのメンテナンスをする際などに使います。

# 起動中のVMを別のホスト(desthost)に移行する
virsh migrate --live myvm qemu+ssh://desthost/system

📝 試験ポイント--live オプションをつけることで、VMを停止せずにマイグレーションできます。--live なしだと停止してから移行します。なお、ライブマイグレーションを実際に行うには、共有ストレージ(NFSなど)の用意や移行先ホストとのネットワーク疎通など、事前条件の整備が必要です。


試験で狙われる!引っかけポイントまとめ 💣

過去問を解いていて「ここ、引っかかりそう!」と感じたパターンをまとめました。試験直前に見直してくださいね。

#間違いパターン正しい理解
1virsh destroy でVMが削除されるdestroy強制終了(電源断)。削除は virsh undefine
2virsh list で全VMが表示されるvirsh list起動中のVMのみ。停止中も含めるには virsh list --all
3qcow2は最初から指定サイズの容量を使う❌ qcow2はシン・プロビジョニング形式で実際に使った分だけ消費する
4virt-clone は起動中のVMもクローンできる❌ クローン元のVMは停止状態である必要がある
5virsh undefine するとディスクイメージも削除される❌ デフォルトでは定義のみ削除。ディスクも消すには --remove-all-storage が必要
6virsh migrate は停止してから移行する--live オプションをつけると停止せずにマイグレーションできる

ツールの用途比較(まとめ)

ツール名種類主な用途
virt-installCLI新しいVMの作成・OSインストール
virshCLIVMのライフサイクル管理(起動・停止・スナップショット等)
virt-managerGUIVMの総合管理(作成・操作・監視)
virt-cloneCLI既存VMのクローン(複製)
qemu-imgCLI仮想ディスクイメージの作成・変換・確認

🎓 一緒に使っている教材はこちら

私がメインで使っている参考書と問題集です。よければ一緒に勉強していきましょう(笑)

【PR】▶ あずき本(Linux教科書 LinuCレベル2 Version 10.0対応) 概念や仕組みをしっかり理解したいときの辞書代わりに。まずここで基礎を固めます。

【PR】▶ スピードマスター LinuCレベル2問題集(白本) 本番に近い難易度で問題演習したいときに。あずき本で理解したあとに使うと定着度が上がります。

試験の申し込みはピアソンVUEの受験チケットが便利です。レベル1・レベル2どちらにも使える共通チケットで、楽天市場での購入なので楽天ポイントも貯まってお得ですよ!

【PR】▶ 【ピアソン専用】LinuCレベル1・レベル2・300試験・303試験・304試験共通受験チケット(電子チケット)


✅ まとめ

お疲れ様でした!今回のポイントをおさらいしましょう。

  • virt-install:新規VM作成専用。--import で既存ディスクから起動可
  • virsh list --all:停止中も含む全VMを確認。--all なしは起動中のみ
  • virsh destroy:強制終了(電源断)。削除ではない点に注意!削除は virsh undefine
  • virsh snapshot-create-as:スナップショット作成。snapshot-revert でロールバック
  • qcow2:KVM標準のディスク形式。シン・プロビジョニング+スナップショット対応
  • virt-clone:VM複製。クローン元は停止状態が必要
  • ライブマイグレーションvirsh migrate --live で停止せずに別ホストへ移行

主題2.05はこれで2記事完走です!仮想化の概念からコマンド操作まで、しっかり押さえられましたね。

皆さんにとって、今日も素敵な1日になりますように!


参考:LPI-Japan 公式試験範囲 https://linuc.org/linuc2/range/201.html

※本記事はLinuC レベル2 Version 10.0 の出題範囲をもとに作成しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA