思い出は銀の弾

ひよっこエンジニアが調べたことや経験したことをまとめます!

知っておくと嬉しい、仮想化の技術用語

qemu

オープンソースエミュレータ。ホストにカーネルドライバを必要としない。プロセッサをエミュレートするだけでなく、必要なすべてのサブシステムをエミュレートできる。

kvm

Kernel-based Virtual Machineのことで、Linuxカーネルに搭載されているハイパーバイザ。

KVMは仮想化のためのCPU拡張命令(HVM)をカーネルモジュールを介して使用するQEMUの特殊なオペレーティングモード。

libvirt

仮想化管理用の共通APIを提供するオープンソースプロジェクトであり、仮想間マシンの制御を抽象化したライブラリ。

qemu/kvmの場合VMのハードウェア仕様などを定義するXMLファイルは、標準では/etc/libvirt/qemu/.xmlにインストールされる。同様に仮想ネットワークのXML定義ファイルは/etc/libvirt/qemu/networks/.xmlにインストールされる。

virsh

libvirtコマンドラインツール。virshツールlibvirt管理APIを土台にして構築されている。

qemu-img

virshのコマンドの一つ。仮想化ゲストイメージ、追加のストレージデバイス、及びネットワークストレージのフォーマットに使用される。

qcow2, raw

qemu-imgが扱うイメージ形式のこと。qcow2はスナップショットが取れ、ディスク領域を拡張する際、IO性能が極端に劣化する。rawはスナップショットは取れず、ディスク領域を拡張する際のIO性能劣化はqcow2より優れる。

ブリッジ

セグメントとセグメントを接続する機器のこと。LAN同士のパケットのやりとりの橋渡しを子なう。リピータの機能に加えて、MACアドレスを元にフィルタリングを行うことができる。

Linux Bridge

ソフトウェアブリッジを使ってハードウェアをエミュレートできる。仮想化アプリケーション内で仮想NICを設定するなどが可能。

tapデバイス

仮想ネットワークのカーネルデバイスのこと。ソフトウェアで完全にサポートされているネットワークデバイスである。リンクレイヤをシュミレートし、イーサフレームのようにL2で動作する。

OpenStack

オープンソースで開発されているクラウド環境構築用のソフトウェア群。AWSのようなものをじぶん自身の環境でプライベートに構築できるものと捉えるとわかりやすい。各フェーズを管理するもの、認証系を担当するもの、WebUIでかんりできるもの、オーケストレーションを行うものなど、多くのツールがある。