サーバー仮想化技術いろいろ

仕事上、ウィンドウズマシン上で Linux ツールを使いたいというケースが多いため、Virtualbox や Vmware を使うことは結構ありました。

VMware by Broadcom - Cloud Computing for the Enterprise
Optimize cloud infrastructure with VMware for app platforms, private cloud, edge, networking, and security.
Oracle VirtualBox

最近は、そういったソリューション以外にも、Kubernates やら Docker やら、そもそも KVM というのもあったり(KVMって単なるウィンドウマネージャだとずっと思ってたんですが仮想化技術だったんですね)、いろいろ乱立しているので、この辺りいったん整理しておきたいと思いました。

Vmaware, Virtualbox, Docker, Kubernetes, KVM

まず概要として、こちらのサイトを見ると、分かりやすかったです。

各仮想化技術の違いをざっと理解していくぅ - Qiita
補足学んだ知識のほとんどは,Qiitaではなくこちらにバーッとまとめております.…

これによると、

  • Vmware や Virtualbox はホスト型で、実在のHWの上にホストOSがいて、その上に仮想化アプリ(Vmware や Virtualbox )が動いて、その中で複数の仮想マシンを作ることができる。
  • KVM はハイパーバイザー型で、ホストOSがなくて BIOS からいきなりハイパーバイザーが立ち上がって、その上で仮想マシンが作られる。
  • Docker はコンテナ型で、仮想マシン全体(HW+ゲストOS)を作らず、サーバとしての機能を持つコンテナを仮想的に構築する。

という感じですかね。

KVM の詳細はこちらがわかりやすいかな。QEMU との組み合わせの話もありました。

【図解】Linux KVMの仕組みとは? - カゴヤのサーバー研究室
KVMとは、Linuxに最適化された仮想化技術の一つです。この記事ではKVMの基本的な仕組みを整理したあと、KVMを実際に動かす方法を解説しています。

こちらには、Docker と Virtualvox の違いについての議論がありました。

DockerとVirtualBoxの違いについて
### DockerとVirtualBoxの違いについて 以前研究室でわけも分からずvirtualboxを利用していたのですが、今それとは別にDockerなるものの名前をよく聞くようになったので

Dockerは、Linux上ではOSより上の部分だけ仮想化するので、マシンごと仮想化するVirtualBoxより軽量化できます(なお、WindowsやmacOSでは動かないので、Linuxの動くVirtualBoxを介して使う必要があります)

なるほど、分かってきた気がする。

 

じゃあ、Docker と Kubernetes は?

この記事のコンテナ技術に関する説明が分かりやすかったです。

いまさら聞けないDocker/Kubernetes | IT Leaders
サーバー仮想化を可能にした「ハイパーバイザー」という技術は、ITシステムの構築・運用に革命的な変化をもたらした。1台の物理サーバー上で複数のOSやアプリケーションを稼働可能にするハイパーバイザーは、パブリッククラウドの基盤技術として現在のI...

今回のもう1つのキーワードが「Kubernetes」だ。これは簡単に言うと、様々な環境で稼働する数多くのDockerコンテナを、効率よく管理するための“オーケストレーションツール”である。

Docker自体はこうしたコンテナの“作成・廃棄”の機能は持っているが、コンテナを効率よく配置したり、管理したりといった機能は備えていない。こうした文字通りオーケストラの指揮者の役割を果たすのがKubernetesというわけである。

なるほど、Docker と Kubernetes 、Vmware と Virtualbox の関係とは異なるんですね。

こういった棲み分け、使ってる人には何てことない話なんですが、使ったことないと、全体像が見えないんですよね。

っということで、仮想化技術の概要理解でした。

タイトルとURLをコピーしました