Open4
[TIL] 1.Server/Virtualization
完全仮想化と準仮想化
ハイパーバイザ型の仮想化には「完全仮想化」と「準仮想化」という二つの方式がある。
- 完全仮想化では、実在するH/Wを仮想環境上にエミュレートするため、ゲストOSは現実のH/Wをサポートするドライバを利用できる。
- 準仮想化では、現実のH/Wをエミュレートするのではなく、仮想環境にとって都合の良い仮想H/Wを規定するため、これに対応するドライバをインストールする必要がある。ゲストOSはこの仮想H/Wを直接操作しようとはせず、あくまでハイパーバイザと意思疎通を行うための抽象的なモデルとして参照する。実際の物理H/W操作はハイパーバイザから提供されるAPIやドライバを用いて、ハイパーバイザに直接命令する。
イメージファイルについて
イメージファイルとは、記憶装置に格納されたデータのファイルやフォルダの階層構造を保ったまま複製・保存したデータのことである。主な用途として、システムバックアップとして利用することや、光学ディスクの中身をファイルとして公開することが挙げられる。
イメージファイルには、記憶装置・システム基盤に応じて複数の規格が存在する。
- ISO:CDやDVDなどの光学ディスクのイメージファイル(OSインストールメディアの主流)
- IMG:USBメモリのイメージファイル
- VMDK:VMwareにおける仮想ハードディスクのイメージファイル
- VHD, VHDX:Microsoftにおける仮想ハードディスクのイメージファイル
VMDKとOVFとOVAの関係性
VMware環境の仮想マシンを様々な仮想化プラットフォームに移行/複製するために必要な情報を含んだパッケージが、以下に示すOVFパッケージである。
- .vmdk(VMDKファイル):VMwareにおける仮想ディスクのイメージファイルであり、仮想マシンにインストールされているOSやソフトウェアが格納されている。仮想ディスクの数だけ存在。
- .ovf(OVFファイル):仮想マシンの構成とリソース要件を記述するXMLファイル。CPUやメモリ、ネットワーク設定など仮想マシンの構成情報(ハードウェア設定)が含まれている。
- OVFパッケージ:VMDKファイルやOVFファイルなどの関連ファイルを含んだパッケージ(下図左)
- OVAファイル:OVFパッケージを一つのファイルにまとめたtarアーカイブファイル(下図右)
VMware環境→AWSへの移行
VM ImportはS3バケットに格納されたVMDKファイルからAMIを作成する機能。このAMIからEC2を復元することでVMware環境の仮想マシンをAWS環境にEC2として移行できる。
実際の作業としては、インポートする各種パラメータを定義したcontainers.jsonというファイルを作成し、S3バケットに格納したVMDKファイルを参照することで、どのVMDKファイルを使用してAMIを作成するのかということを定義する。
[
{
"Description": "First disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "test_bucket",
"S3Key": "vmware/testvm-disk1.vmdk"
}
},
{
"Description": "Second disk",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "test_bucket",
"S3Key": "vmware/testvm-disk2.vmdk"
}
}
]