LPIC-3 Virtualization and Containerization 305試験とは
LPIC-3 Virtualization and Containerization 305試験は、Linux Professional Institute(LPI)が実施しているLPIC-3の専門試験のひとつです。
Linux環境における仮想化とコンテナ技術を中心として、仮想マシン、ハイパーバイザー、コンテナ、仮想マシンのデプロイやプロビジョニングなどについて幅広く出題されます。
LPIC-1やLPIC-2で学習するLinuxの基本的な管理技術からさらに発展し、企業環境でLinuxの仮想化基盤やコンテナ環境を扱うための知識が求められる試験です。
LPIC-3 Virtualization and Containerizationの認定には305試験の合格が必要
LPIC-3には複数の専門分野があり、Virtualization and Containerizationは仮想化とコンテナ技術を中心とした認定です。
LPIC-3 Virtualization and Containerizationとして認定されるためには、305試験に合格し、有効なLPIC-2認定を保有している必要があります。
そのため、LPIC-1、LPIC-2とLinuxについて段階的に学習したあと、仮想化やコンテナについてさらに専門的な知識を身につけたい場合に適した認定資格です。
LPIC-3 Virtualization and Containerization 305試験の概要
LPIC-3 Virtualization and Containerizationの現行試験はVersion 3.0で、完全仮想化、コンテナ仮想化、VMのデプロイとプロビジョニングという3つの主題から構成されています。
単に仮想化の仕組みを理解するだけでなく、QEMU、KVM、libvirt、LXC、Dockerなど、Linux環境で利用される技術やツールについて実際に操作できる知識が求められます。
試験コードは305-300
LPIC-3 Virtualization and Containerization Version 3.0の試験コードは「305-300」です。
305-300は、従来のLPIC-3 304試験で扱われていた分野を分割して作られた試験のひとつです。
現在は仮想化とコンテナについて305試験、高可用性とストレージクラスタについて306試験という形で、それぞれ独立した専門分野として扱われています。
試験時間と出題数
LPIC-3 Virtualization and Containerization 305試験の試験時間は90分で、60問が出題されます。
問題形式には多肢選択式と空欄補充式が含まれています。
LPIC-3では個々の試験目標に重要度を示す「Weight」が設定されているため、試験対策では出題範囲だけでなく、それぞれの項目の重要度も確認しておくことが重要です。
LPIC-3の認定には有効なLPIC-2認定が必要
305試験を受験すること自体と、LPIC-3として認定されるための条件は分けて考える必要があります。
LPIC-3 Virtualization and Containerizationの認定を受けるためには、305試験への合格に加えて、有効なLPIC-2認定を保有している必要があります。
LPIC-3を目指す場合は、LPIC-1、LPIC-2で学習したLinuxシステム管理の知識を土台として、より専門的な分野へ学習を進めていきましょう。
LPIC-3 Virtualization and Containerizationの有効期間
LPIC-3 Virtualization and Containerizationの有効期間は5年間です。
認定取得後も、仮想化やコンテナをはじめとしたLinux関連技術の変化に合わせて継続的に学習することが重要です。
LPIC-3 Virtualization and Containerization 305試験の出題範囲
305-300試験の出題範囲は、大きく「完全仮想化」「コンテナ仮想化」「VMのデプロイとプロビジョニング」の3つの主題に分かれています。
それぞれの主題では、概念や仕組みだけではなく、Linux上で使用するコマンドや設定ファイル、仮想マシンやコンテナの管理方法についても確認しておきましょう。
主題351|完全仮想化
主題351では、Linux環境における完全仮想化について出題されます。
仮想化の基本概念やハイパーバイザーの種類に加えて、Xen、QEMU、KVM、libvirtなどの技術が試験範囲に含まれています。
特にlibvirtによる仮想マシン管理は重要度が高く、virshを使用した仮想マシンの操作、ストレージや仮想ネットワークの管理、スナップショット、マイグレーションなどについて理解しておく必要があります。
また、raw、qcow2、VMDKなどの仮想ディスク形式や、qemu-img、guestfishなどを利用した仮想ディスクイメージの管理も試験範囲です。
主題352|コンテナ仮想化
主題352では、Linuxにおけるコンテナ仮想化について出題されます。
コンテナを実現するためのnamespace、cgroups、Linux capabilitiesなどのLinuxカーネル機能に加えて、seccomp、SELinux、AppArmorなどとコンテナの関係についても理解する必要があります。
具体的なコンテナ技術としてはLXC・LXDやDockerが含まれており、コンテナの作成・管理、イメージ、ストレージ、ネットワーク、ログなどについて学習します。
さらに、Docker ComposeやDocker Swarm、Kubernetes、Helmなど、複数のコンテナを管理するコンテナオーケストレーションについても基本的な概念が試験範囲に含まれています。
主題353|VMのデプロイとプロビジョニング
主題353では、仮想マシンを効率的に展開するためのデプロイとプロビジョニングについて出題されます。
クラウド環境や仮想化環境で利用されるOpenStackやTerraformの基本的な知識に加えて、Packer、cloud-init、Vagrantなどが試験範囲に含まれています。
例えばcloud-initでは、仮想マシンの初回起動時にユーザーやSSHキー、ファイルシステム、パッケージなどを自動的に設定する仕組みについて理解する必要があります。
単に仮想マシンを作成するだけでなく、標準化されたイメージから複数の仮想マシンを効率的に展開・設定する方法について理解しておきましょう。
LPIC-3 Virtualization and Containerizationでは仮想マシンとコンテナの理解が重要
305試験では、仮想マシンとコンテナという2つの仮想化技術について、それぞれの仕組みや違いを理解することが重要です。
仮想マシンでは、ハイパーバイザーを利用して仮想的なハードウェア環境を構築し、その上でゲストOSを動作させます。一方、LinuxコンテナではnamespaceやcgroupsなどのLinuxカーネル機能を利用して、プロセスやリソースを分離します。
QEMU・KVM・libvirtなどによる仮想マシン環境と、LXC・Dockerなどによるコンテナ環境の両方を実際に操作し、それぞれがLinuxの機能とどのように関係しているのか確認すると理解しやすくなります。
LPIC-3 Virtualization and Containerization 305試験の勉強方法と対策
305試験では、用語やコマンドを暗記するだけでなく、実際にLinux上へ仮想化・コンテナ環境を構築して操作しながら学習する方法が効果的です。
公式の試験範囲を基準として、それぞれの技術を実際に動かしながら仕組みを確認していきましょう。
LPIC-1・LPIC-2で学習したLinuxの知識を復習する
305試験の学習を始める前に、LPIC-1・LPIC-2で学習したLinuxの基本的な操作やシステム管理について復習しておきましょう。
プロセス、ストレージ、ファイルシステム、ネットワーク、systemdなどの知識は、仮想マシンやコンテナを理解するうえでも必要になります。
特にコンテナ技術はLinuxカーネルの機能と密接に関係しているため、Linuxそのものの仕組みを理解していることが重要です。
公式の試験範囲と重要度を確認する
LPIでは305試験の詳細な試験範囲と各項目の重要度を公開しています。
学習を始める前に公式の試験範囲を確認し、どの技術についてどの程度の知識が求められているのか把握しておきましょう。
例えばVersion 3.0では、libvirtによる仮想マシン管理とDockerのWeightがそれぞれ9となっており、重要度の高い項目です。
仮想化とハイパーバイザーの仕組みを理解する
まずは、仮想化によってどのように複数のOSを動作させるのか、その基本的な仕組みを理解しましょう。
ハイパーバイザー、HVM、準仮想化、エミュレーションなどの用語について整理し、それぞれの違いを説明できるようにします。
また、P2VやV2Vなどのマイグレーション、スナップショット、クローン、リソース制限といった仮想マシン特有の機能についても確認しておきましょう。
QEMU・KVM・libvirtを実際に操作する
完全仮想化について学習するときは、QEMU・KVM・libvirtを実際のLinux環境で操作すると理解しやすくなります。
KVMのカーネルモジュールや/dev/kvmを確認し、QEMUによる仮想マシンの起動、libvirtによる仮想マシンの管理などを試してみましょう。
virshを利用した仮想マシンの起動・停止だけではなく、仮想ネットワーク、ストレージプール、ボリューム、スナップショットなどの管理方法も確認しておくことが重要です。
Linuxコンテナの仕組みを理解する
コンテナについては、Dockerなどのコマンドだけを覚えるのではなく、Linux上でコンテナがどのように実現されているのか理解することが重要です。
namespaceによるプロセスやネットワークなどの分離、cgroupsによるCPUやメモリなどのリソース管理、Linux capabilitiesによる権限管理について確認しましょう。
さらに、seccomp、SELinux、AppArmorなどがコンテナのセキュリティにどのように関係するのかについても整理しておきます。
Docker・LXCなどのコンテナ技術を実際に操作する
コンテナ環境を構築し、DockerやLXC・LXDを実際に操作してみましょう。
Dockerでは、イメージの取得、コンテナの作成・起動・停止、ボリューム、ネットワーク、ログなどの基本的な管理方法を確認します。
Dockerfileを使用したコンテナイメージの作成やDocker Registryについても試しておくと、試験範囲を実際の動作と関連付けて理解できます。
namespaceとcgroupsの仕組みを理解する
namespaceとcgroupsは、Linuxコンテナを理解するうえで重要な技術です。
namespaceはプロセスから見えるシステムリソースを分離する仕組みで、cgroupsはCPUやメモリなどのリソース利用を管理・制限するために使用されます。
nsenterやunshareなどのコマンドを利用したり、/proc以下のnamespace情報やcgroup関連の情報を確認したりして、コンテナの内部でLinuxの機能がどのように利用されているのか確認してみましょう。
仮想マシンのデプロイとプロビジョニングを理解する
仮想マシンを1台ずつ手動で構築するだけではなく、イメージや設定ファイルを利用して効率的に展開する仕組みについても学習します。
305試験ではPacker、cloud-init、Vagrantなどが試験範囲に含まれています。
特にcloud-initについては、user-dataを使用したユーザー作成、SSHキーの設定、パッケージのインストールなど、仮想マシンの初期設定を自動化する基本的な仕組みを確認しておきましょう。
コマンドと設定ファイルを関連付けて覚える
305試験では、多くのコマンドや設定ファイルが試験範囲に含まれています。
例えばQEMUではqemu-system-x86_64やqemu-img、libvirtではvirshや/etc/libvirt/、Dockerではdockerコマンドや/etc/docker/daemon.jsonなどが登場します。
単純にコマンド名だけを暗記するのではなく、「何を管理するためのコマンドなのか」「どの設定ファイルと関係するのか」を実際の操作と関連付けて覚えましょう。
問題演習で理解度を確認する
一通り試験範囲を学習したあとは、問題演習を行って理解度を確認しましょう。
問題を解いて間違えた部分については答えだけを覚えるのではなく、該当する試験範囲や公式ドキュメントを確認し、実際のLinux環境でも動作を確認すると理解を深めることができます。
特にlibvirt、Docker、namespace、cgroupsなどの重要度が高い分野については、問題演習と実機操作を繰り返しながら知識を定着させましょう。
305試験に合格するとLPIC-3 Virtualization and Containerizationに認定される
有効なLPIC-2認定を保有した状態で305試験に合格すると、LPIC-3 Virtualization and Containerizationとして認定されます。
LPIC-3はLPICの最上位レベルに位置付けられており、その中でも305試験はLinuxにおける仮想化とコンテナを専門的に扱う試験です。
LPIC-1・LPIC-2で身につけたLinuxの知識からさらに学習を進め、仮想マシンやコンテナを利用したシステムについて理解を深めることができます。
LPIC-3にはVirtualization and Containerization以外の専門分野もある
LPIC-3にはVirtualization and Containerization以外にも専門分野が用意されています。
現在のLPIC-3には、Mixed Environments、Security、Virtualization and Containerization、High Availability and Storage Clustersの4つの専門認定があります。
それぞれ300試験、303試験、305試験、306試験が対応しているため、Linuxについてさらに学習する場合は、業務や学