-
サーバ構築のデージーネットTOP
-
OSS情報
-
OSS比較
-
サーバ仮想化とは?仮想基盤で使えるソフトウェアまとめ
サーバ仮想化とは?仮想基盤で使えるソフトウェアまとめ
現在、企業が扱うシステムなどでは仮想化システムを導入することが多くなり、一般的になりつつあります。仮想化環境を構築することで、物理リソースの削減による社内スペースの確保、リソースの効率的な管理、運用コストの削減などを実現することができ、ビジネスにおけるメリットは大きいといえます。近年、業務の効率化やDX化推進の需要が高まり、大規模なシステムを構築する機会が増えたことで、この仮想化システムの導入はより加速しています。そして仮想化の人気に伴い、仮想化に関連するソフトウェアも次々と開発されています。
この記事では、仮想化で使えるおすすめのソフトウェアを、以下4つのカテゴリに分け、それぞれの機能や特徴を解説しながらご紹介します。
仮想化とは
仮想化とは、CPU、メモリ、ディスクなどのリソースを、物理構成によらずに柔軟に分割したり統合したりする技術のことをいいます。ソフトウェアによって複数のハードウェアを統合し、1台の物理サーバで複数台のサーバのように振る舞うことができます。
通常、1台のパソコンに対し1つのOSが起動し、その上でアプリケーションを動かすのが基本です。これに対して、仮想環境にサーバを構築する仕組みでは、1台の物理的なハードウェアの中に仮想化ソフトウェアを稼働させ、複数の仮想サーバを隔離しながら個別のOSを動作させます。そうすることで、 複数台の物理的なマシンを用意する場合に比べてリソースの管理にかかる手間を省くことができます。また、リソースの配分も状況に応じて柔軟に設定することができるため、リソースを有効に利用でき高いパフォーマンスを確保することができます。なお、仮想環境を提供するプログラムを動作させる基盤のOSをホストOS、仮想環境上で動作するOSをゲストOSと呼びます。ホストOSはハイパーバイザーとも呼ばれています。
仮想マシンの種類
仮想マシン(VM)とは、仮想環境を実行するマシンのことをいいます。1台の物理サーバに、複数の仮想マシンを構築して個別に利用したり、それぞれの仮想マシンで異なるOSを並列して運用することも可能です。
仮想マシンには、使用するソフトウェアによって大きく分けて3つの手法があります。
ホスト型
ホスト型とは、ホストOS上に仮想化ソフトウェアをインストールし、その上でゲストOSを動かすことをいいます。ホスト型では、ホストOSとゲストOSで異なるOSを利用することが可能です。つまり、ホストOSにwindowsをダウンロードした場合に、ゲストOSはLinuxやMacを動かすといったことも可能です。ホスト型を利用できるソフトウェアとして、VMware Player、VMware Fusion、Oracle VirtualBoxなどがあります。
ハイパーバイザー型
ハイパーバイザー型とは、ホストOSを使用せず、ハイパーバイザーと呼ばれる仮想化のためのソフトウェアを直接サーバ上にインストールし動かす方法をいいます。ホストOSがないため、ハードウェアを直接制御することができ、処理速度を向上させることができます。そして複数の仮想マシンを効率よく動作させることも可能です。
コンテナ型
コンテナとは、OS上に他のサービスと分離させたアプリケーション環境をパッケージ化することをいいます。コンテナ型では、コンテナ内でアプリケーションを動かすため、アプリケーションに必要なファイルだけがコンテナに含まれています。各アプリケーションは、ホストコンピュータのカーネルを共有して動作します。コンテナ化することで、アプリケーションがあるコンピュータ環境から他のコンピュータ環境へ、アプリケーションの移行を早く確実に行うことが可能になります。
仮想基盤のOSS
完全仮想化や凖仮想化などの技術では、ハードウェアをエミュレーションした複数の仮想マシンを動かします。ここでは、仮想環境を構築するための主なOSSとして、oVirt、KVM、OpenStack、CloudStackを紹介します。また、各OSSとVMware製品との比較表も掲載しています。
1.oVirt
oVirtとは、仮想環境を統合的に管理するために設計された仮想基盤です。KVMをハイパーバイザーとして利用することができます。Red Hatの仮想化プラットフォームであるRed Hat Virtualizationの、オープンソースでの実装となります。
oVirtの詳細ページへ
通常、Linuxを使用して仮想環境を構築する場合、KVMを使用することができます。しかし、KVMだけでは、複数台のサーバーを使用した仮想環境の構築や、障害発生に備えたシステムの構築には対応していないという問題があります。oVirtでは、複数台のホストを統合管理することができ、ホストの追加などの操作もWebベースの管理ツールから容易に行うことができます。また、冗長構成を取ったシステム構築が可能なため、万が一ホストに障害が発生した場合も、該当ホストで起動していた仮想サーバを別のホストで自動的に再起動させることができます。
さらに、セルフホストエンジン構成で構築することで、管理コンソールをホスト上の仮想マシンとして起動することができ、別でハードウェアを用意する必要がありません。仮想マシンのライブマイグレーションにも対応しており、ホストのメンテナンス時などのサーバ移動も楽に行うことができます。OpenStackなどに比べて、インストールの方法も比較的簡単という特長もあります。
oVirtの資料をダウンロードする
2.KVM
KVMとは、Kernel-based Virtual Machineの略称で、Linuxカーネル上で動作する仮想化技術です。仮想マシンの作成や起動、ライブマイグレーション等を行うことができます。RedHatが中心となり開発が進められてきました。KVMを使ったRedHatの製品であるRedHat Virtualizationで機能改善が進んだことや、そのコミュニティ版の位置付けであるoVirtがリリースされたことなどにより、現在KVMはVMWare以外のソリューションとして注目されています。
KVMの詳細ページへ
KVMが他のハイパーバイザーと比べて非常に優れている点は、Linuxカーネルに完全に組み込まれている点です。通常のハイパーバイザーは、仮想マシンを動かすための機能として、メモリ管理、プロセス管理、スケジューラ、入出力管理、デバイス管理、セキュリティ管理、ネットワークスタックなどといった、本来はOSが提供する機能が必要です。しかし、KVMでは、これらの機能はLinuxに実装されているものをそのまま利用することができます。
他のソフトウェアと違い、Linuxカーネルそのものがハイパーバイザーとして動作することで、Linuxのリアルタイム処理の技術を利用することができます。仮想マシンの切り替えや制御をきめ細かく行うことができ、仮想マシンの性能を最大限に引き出すことが可能です。また、すべてのLinuxカーネルの機能を利用可能なため、新しい技術をいち早く取り入れることができ、安定性やセキュリティ対策においても優れています。
3.Proxmox VE
Proxmox VEは、DebianベースのLinuxディストリビューションに、KVMとLXCの2つの仮想化技術が統合されており、VMとコンテナの両方をサポートしています。Proxmox VEもKVMをハイパーバイザーとして利用することが可能です。
Proxmox VEの詳細ページへ
Proxmox VEは、非常に多くの機能を持ちますが、特に管理面に優れています。アプライアンスとして提供されているため、ISOイメージから物理マシンにProxmox VEをインストールするだけで、簡単に仮想環境の利用が可能です。Proxmox VEやdebianのリポジトリの追加・削除など仮想マシンの管理や、Cephの初期設定などもWEB UIから行うことができます。
またProxmox VE自体にCephストレージクラスタを管理する仕組みが存在するため、比較的手軽に導入することが可能です。Proxmox VEとCephを1台のハードウェアに同居させて、複数台並べていくハイパーコンバージド(HCI)構成を取ることができます。VMware ESXiから仮想マシンの移行も可能です。
Proxmox VEの資料をダウンロードする
4.OpenStack
OpenStackは、クラウド基盤を構築するOSSです。各種ハイパーバイザ(KVM/Xen/VMware Serverの無償製品版であるESXi/Hyper-Vなど)と組み合わせ、クラウドサービスの環境を構築することができます。
OpenStackの詳細ページへ
OpenStackのメリットは、プライベートクラウド、パブリッククラウドの両方で、クラウドサービスを構築することができる点にあります。プライベートクラウドでは、企業内や組織内にデータを置いておくクローズド環境向けとしてや、プライベートなIoTクラウドプラットフォームとして活用することができます。一方、パブリッククラウドでは、インターネットを通じて企業や個人など不特定多数のユーザにクラウドサービスを提供することができます。以上のようなメリットから、AWS(Amazon Web Services)のようなIaaS(Infrastructure as a Service)を提供するソリューションとして注目され、積極的に採用されています。さらに、プライベートクラウドとパブリッククラウドを連携させたハイブリッドクラウドの構築も行うことができます。
5.CloudStack
CloudStackとは、IaaSクラウドを構築するためのOSSです。日本語対応のWebインタフェースを利用できる、KVMやvSphere、Hyper-V等の様々なハイパーバイザーをサポートしているなどの特徴を持っています。
CloudStackの詳細ページへ
CloudStackは、NAT・ロードバランシング等のネットワーク機能を標準機能として使用することができます。そのため、シンプルな構成のクラウド環境の構築に適しています。一方で、独自のネットワーク構成やコンポーネントを使用したい場合等、複雑な構成のクラウド環境を構築したい場合は、OpenStackの利用が向いています。
CloudStackの資料をダウンロードする
VMware vSphereとの比較
同じく仮想環境を構築するソフトウェアとしては、VMwareのvSphereが最も有名です。しかし、2023年に米国のBroadcom社がVMware社を買収したことにより、VMware製品の価格高騰やサポート内容の変更が懸念されています。そのため最近は、VMware製品の代替として、仮想環境を構築できるオープンソースソフトウェアが注目されています。
上記で紹介した5つのOSSと、同じく仮想環境を構築するためのソフトウェアであるVMware vSphereについて、基本的な機能をまとめて比較しました。
機能 |
VMware vSphere |
oVirt |
KVM |
Proxmox VE |
OpenStack |
CloudStack |
仮想マシンのコンソール |
- 専用ソフト |
◯ |
× |
× |
× |
× |
× |
- Web コンソール |
◯ |
◯ |
× |
◯ |
◯ |
◯ |
- SPICE |
× |
◯ |
◯ |
◯ |
◯ |
× |
- VNC |
× |
◯ |
◯ |
× |
◯ |
◯ |
- RDP Client |
× |
◯ |
◯ |
× |
◯ |
◯ |
管理ウェブUI |
〇 |
〇 |
◯ |
○ |
◯ |
◯ |
ハイパーバイザー |
VMware ESXi |
KVM |
KVM |
KVM |
KVM,Xen, Vmware ESXi, Hyper-V |
KVM,vSphere, XenServer, Hyper-V 等 |
仮想マシンの操作 |
- 作成 |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- 削除 |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- クローン |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- メモリサイズ変更 |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- 仮想CPU数変更 |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- エクスポート(OVA) |
◯ |
◯ |
× |
△ 制限あり |
× |
◯ |
- テンプレートの作成 |
◯ |
◯ |
◯ |
○ |
◯ |
◯ |
- テンプレートからの作成 |
◯ |
◯ |
◯ |
○ |
◯ |
◯ |
ライブマイグレーション |
- 仮想マシン |
◯ |
◯ |
◯ |
◯ |
◯ |
◯ |
- ストレージ |
◯ |
〇 |
× |
◯ |
◯ |
◯ |
ホスト障害時 |
- 他ホストで仮想マシンを再起動 |
◯ |
◯ |
× |
○ |
◯ |
◯ |
- ダウンタイムなしで仮想マシンを継続 |
◯ |
× |
× |
× |
× |
× |
アンチウィルス/アンチマルウェア |
◯ |
× |
× |
× |
× |
× |
管理サーバ |
- HA構成 |
◯ |
◯ |
× |
- |
◯ |
◯ |
- バックアップ/リストア |
◯ |
◯ |
× |
- |
◯ |
◯ |
- アプライアンス提供 |
◯ |
〇 |
× |
- |
× |
× |
ゲストエージェント |
◯ |
◯ |
× |
○ |
◯ |
◯ |
ソフトウェアを導入する際には、上記の表のような点に注目し、目的や課題、利用環境に合わせた最適な選択をすることが大切です。
仮想化のおすすめOSS
- 仮想基盤のOSS
- ここでは、KVM、oVirt、Proxmox VE、OpenStack、CloudStackについて紹介します。
- コンテナ型で使えるOSS
- ここでは、Docker、podman、containerd、CRI-O、runc、Kata Container、gVisor、rkt、Kubernetes、Rancher、Portainerについて紹介します。