LPIC-3 Exam 305: LPIC-3 Virtualization and Containerization
This exam results from a split of version 2.0 of the exam 304.
試験のバージョン: 3.0
試験コード: 305-300
目的別の重さについて: 各項目には、重み付けの値が割り当てられています。重みは、試験における各目標の相対的な重要性を示しています。重みが高い目標は、より多くの問題で試験に取り上げられます。
バウチャーを購入する
Contents
はじめに
これは、LPIC-3 認定試験に必要な項目です。
バージョン情報
この試験範囲は、バージョン3.0です。
この試験は305試験のバージョン2.0を分割してできました。
304試験バージョン2.0から3.0への、試験範囲の変更点の詳細は、 こちらにあります。
試験範囲の翻訳
このwikiに、以下の試験範囲の翻訳があります:
- 英語
- 日本語
試験範囲
課題 351: Full Virtualization
351.1 仮想化の概念と理論 (総重量: 6)
総重量 | 6 |
説明 | 仮想化の一般的な概念・理論・専門用語を知っていて、理解している必要があります。これには、Xen,QEMU,libvirtの専門用語も含まれます。 |
主な知識分野:
- 仮想化の専門用語の理解
- 仮想化の長所と短所の理解
- 様々な種類のハイパーバイザーと仮想マシンモニタの理解
- 物理マシンと仮想マシンのマイグレーションの、主な観点の理解
- ホストシステム間での、仮想マシンのマイグレーションの、主な観点の理解
- スナップショット・一時停止・クローン作成・リソース制限などの、仮想マシンに対する仮想化の影響と機能を理解する。
- oVirt, Proxmox, systemd-machined, VirtualBoxの知識
- Open vSwitchの知識
用語とユーティリティ:
- ハイパーバイザー
- ハードウエア仮想マシン (HVM)
- 準仮想化(PV: Paravirtualization)
- エミュレーションとシミュレーション
- CPU フラグ
- /proc/cpuinfo
- マイグレーション (P2V, V2V)
351.2 Xen (総重量: 3)
総重量 | 3 |
説明 | Xenをインストール・設定・管理・マイグレーション・トラブルシューティングすることができる。対象は、Xenのバージョン4.x。 |
主な知識分野:
- ネットワークとストレージを含む、Xenの構造を理解する。
- Xenノードとドメインの設定を理解する。
- Xenノードとドメインを管理する。
- Xenインストールのトラブルシュート。
- XAPIの知識
- XenStoreの知識
- Xen Boot Parameterの知識
- xmユーティリティの知識
用語とユーティリティ:
- Domain0 (Dom0), DomainU (DomU)
- PV-DomU, HVM-DomU
- /etc/xen/
- xl
- xl.cfg
- xl.conf
- xentop
351.3 QEMU (総重量: 4)
総重量 | 4 |
説明 | QEMUをインストール・設定・管理・マイグレーション・トラブルシューティングすることができる。 |
主な知識分野:
- KVMとネットワークとストレージを含む、QEMUの構造を理解する。
- QEMUのインスタンスをコマンドラインで起動する。
- QEMUモニタを利用してスナップショットを管理する。
- QEMU Gest AgentとVirtIOデバイスドライバをインストールする。
- ネットワークとストレージを含む、QEMUのトラブルシューティング。
- QEMUの重要な設定パラメータの知識。
用語とユーティリティ:
- カーネルモジュール: kvm, kvm-intel and kvm-amd
- /dev/kvm
- QEMU monitor
- qemu
- qemu-system-x86_64
- ip
- brctl
- tunctl
351.4 Libvirt Virtual Machine Management (総重量: 9)
総重量 | 9 |
説明 | 仮想ホストと仮想マシン(`libvirt ドメイン')を、libvirtと関連ツールを利用して、管理することができる。 |
主な知識分野:
- libvirtの構造を理解する。
- libvirtコネクションとノードを管理する。
- スナップショットを含む、QEMUとXenドメインの作成と管理。
- ドメインのリソース消費の管理と解析。
- ストレージプールとボリュームの作成と管理。
- 仮想ネットワークの作成と管理。
- ノード間のドメインのマイグレーション。
- libvirtがXen,QEMUをどのように操作するか理解する。
- libvirtがdnsmasqやradvdなどのネットワークサービスをどのように操作するか理解する。
- libvirt XML設定ファイルを理解する。
- virtlogdとvirtlockdの知識。
用語とユーティリティ:
- libvirtd
- /etc/libvirt/
- virsh (関連するサブコマンドを含む)
351.5 仮想マシンのディスクイメージの管理 (総重量: 3)
総重量 | 3 |
説明 | 仮想マシンのディスクイメージを管理することができる。これには、様々な種類のディスクイメージのフォーマット間やハイパーバイザー間で、ディスクイメージを変換したり、イメージ内部のデータにアクセスできることを含みます。 |
主な知識分野:
- rawイメージ・qcow2・VMDKなどの様々な仮装ディスクイメージのフォーマットの仕様を理解する。
- qemu-imgを利用して、仮想マシンのディスクイメージを管理する。
- libguestfishを利用して、パーティションをマウントし、仮想マシンのディスクイメージに含まれるファイルにアクセスする。
- 物理ディスクの内容を、仮想マシンのディスクイメージにコピーする。
- 様々な仮想マシンのディスクイメージフォーマット間で、ディスクの内容をマイグレーションする。
- Open Virtualizationフォーマット(OVF)の知識
用語とユーティリティ:
- qemu-img
- guestfish (関連するサブコマンドを含む)
- guestmount
- guestumount
- virt-cat
- virt-copy-in
- virt-copy-out
- virt-diff
- virt-inspector
- virt-filesystems
- virt-rescue
- virt-df
- virt-resize
- virt-sparsify
- virt-p2v
- virt-p2v-make-disk
- virt-v2v
- virt-sysprep
課題 352: コンテナ仮想化
352.1 コンテナ仮想化の概念 (総重量: 7)
総重量 | 7 |
説明 | コンテナ仮想化の概念を理解している。これには、通常使われるLinuxのツールをLinuxコンポーネントのトラブルシューティングに使うだけではなく、コンテナ仮想化の実施に使用する、Linuxコンポーネントの理解が含まれる。 |
主な知識分野:
- システムとアプリケーションのコンテナの概念を理解している。
- カーネルネームスペースを理解し分析する
- コントロールグループを理解し分析する。
- ケイパビリティを理解し分析する。
- コンテナ仮想化における、seccomp, SELinux, AppArmorの役割を理解する。
- LXCとDockerが、namespace, cgroups, ケイパビリティ、seccomp, MACにどのように影響を及ぼすか理解する。
- runcの概念の理解。
- CRI-Oとcontainerdの理解。
- OCIランタイムとimage-spec(image specification)の知識。
- Kubernetes Container Runtime Interface (CRI)の知識。
- podman, buildah, skopeoの知識。
- Linuxとそれ以外の、rkt, OpenVZ, systemd-nspawn, BSD Jailsのようなフリーのオペレーティングシステムにおける、コンテナ仮想化のアプローチの知識がある。
用語とユーティリティ:
- nsenter
- unshare
- ip (関連するサブコマンドを含む)
- capsh
- /sys/fs/cgroups
- /proc/[0-9]+/ns
- /proc/[0-9]+/status
352.2 LXC (総重量: 6)
総重量 | 6 |
説明 | LXCとLXDを利用して、システムコンテナを利用することができる。LXCはバージョンが3.0以上を対象としている。 |
主な知識分野:
- LXCとLXDの構造の理解。
- ネットワークとストレージを含む、LXDを利用した存在しているイメージ上の、LXCコンテナを管理する。
- LXCコンテナプロパティの設定。
- LXCコンテナのリソース消費を制限する。
- LXDプロファイルを利用する。
- LXCイメージを利用する。
- 従来のLXCツールの知識。
用語とユーティリティ:
- lxd
- lxc (関連するサブコマンドを含む)
352.3 Docker (総重量: 9)
総重量 | 9 |
説明 | DockerノードとDockerコンテナを管理することができる。これには、DockerがノードのLinuxシステムとどのようにやり取りするかを理解するだけではなく、Dockerの構造を理解していることが含まれる。 |
主な知識分野:
- Dockerのアーキテクチャとコンポーネントを理解している。
- Dockerレジストリからイメージを利用して、Dockerコンテナを管理することができる。
- Dockerコンテナのイメージとボリュームを理解し管理する
- Dockerコンテナのログ取得を理解し管理する。
- Dockerのネットワーク機能を理解し管理する。
- コンテナイメージを作成するために、Dockerfileを利用することができる。
- レジストリDockerイメージを利用して、Dockerレジストリを実行する。
用語とユーティリティ:
- dockerd
- /etc/docker/daemon.json
- /var/lib/docker/
- docker
- Dockerfile
352.4 コンテナオーケストレーションプラットフォーム (総重量: 3)
総重量 | 3 |
説明 | コンテナオーケストレーションの重要性と、コンテナオーケストレーションの実施を提供する、Docker SwarmとKubernetesの主要な概念を理解する。 |
主な知識分野:
- コンテナオーケストレーションの関連性を理解する。
- Docker ComposeとDocker Swarmの主な概念を理解する。
- KubernetesとHelmの主な概念を理解する。
- OpenShift, Rancher, Mesosphere DC/OSの知識。
課題 353: VMのデプロイとプロビジョニング
353.1 クラウド管理ツール (総重量: 2)
総重量 | 2 |
Description | パブリッククラウドの一般的な製品を理解し、一般的なクラウド管理ツールの基本的な機能の知識を持つ。 |
主な知識分野:
- パブリッククラウドの、一般的な製品の理解。
- OpenStackの基本的な機能の知識
- Terraformの基本的な機能の知識。
- CloudStack, Eucalyptus, OpenNebulaの知識
用語とユーティリティ:
- IaaS, PaaS, SaaS
- OpenStack
- Terraform
353.2 Packer (総重量: 2)
総重量 | 2 |
Description | システムイメージを作成するために、Packerを利用することができる。これには、LXC/LCDのコンテナイメージを構築するだけではなく、様々なパブリッククラウドとプライベートクラウド環境でPackerを動作させることを含みます。 |
主な知識分野:
- Packerの機能と特徴を理解している。
- テンプレートファイルを作成し、管理することができる。
- 異なったビルダーを利用して、テンプレートファイルからイメージを構築することができる。
用語とユーティリティ:
- packer
353.3 cloud-init (総重量: 3)
総重量 | 3 |
説明 | 標準化されたイメージから作成した仮想マシンを設定するために、cloud-initを利用できる。これには、利用可能なハードウエアリソース・仕様・ディスク容量とボリュームに合わせて、仮想マシンを調節することを含みます。さらに、インスタンスにセキュアなSSHログインを許可し、特定のソフトウエアパッケージのセットをインストールするように、設定できなくてはいけません。 そして、clud-initのサポートにより新しいシステムイメージを作成できなくてはいけません。 |
Key Knowledge Areas:
- cloud-initの特徴と概念を理解している。これには、user-dataとcloud-initの初期化と設定が含まれる。
- cloud-initを、ファイルシステムの作成・リサイズ・マウントに利用でき、SSHキーやディストリビューションのリポジトリからのソフトウエアパッケージをインストールするような、ログイン認証を含む、ユーザアカウント設定する。
- システムーメージにcloud-initを導入する。
- テスト用にconfig drive datasourceを利用する。
用語とユーティリティ:
- cloud-init
- user-data
- /var/lib/cloud/
353.4 Vagrant (総重量: 3)
総重量 | 3 |
説明 | 仮想マシンのプロビジョニングを含む、仮想マシンの管理をVagrantを利用して行うことができる。 |
主な知識分野:
- ストレージとネットワーキングを含む、Vagrantの構造と概念を理解している。
- Atlasからboxを探し、利用する。
- Vagrantfile作成し実行する。
- Vagrant仮想マシンにアクセスする。
- Vagrant仮想マシンとホストシステム間で、フォルダを共有し同期する。
- Vagrantプロビジョニングの理解(例:ファイルとシェルのプロビジョナー)
- 複数マシン(multi-machine)のセットアップの理解
用語とユーティリティ:
- vagrant
- Vagrantfile