仮想化 – 概要

Markmc, Denisarnaud, Lhirlimann Version F34 onwards Last review: 2019-10-29 Needs Reviewing!
本ページでは、Fedoraに取り入れられている様々な仮想化技術を紹介します。

導入

Virtualization allows one to run many guest virtual machines on top of a host operating system such as Fedora. What this means is that using one computer, you can mimic several individual computers and even run different operating systems in each of these virtual machines. There are many different virtualization technologies, including both free and open source software and proprietary offerings. A good article on IBM DeveloperWorks (M Tim Jones, Dec 2006, archived) Web site illustrates the four main different virtualization families, namely

  • ハードウェア・エミュレーション

  • ハードウェア支援での完全仮想化

  • 準仮想化

  • OSレベルの仮想化(コンテナやゾーン)

ハードウェア・エミュレーション

virtualization hardware emulation

ハードウェア・エミュレーションでは、VMを使って必要なハードウェアを模擬します。実装例として以下があります。

ハードウェア支援での完全仮想化

virtualization hardware assisted full

完全仮想化では、ハイパーバイザー(バーチャル・マシン・モニター(VMM)とも呼ばれる)によりハードウェアを共有します。実装例として以下があります。

  • KVM / QEMU は仮想化用拡張(Intel VTやAMD-V)が含まれるx86系ハードウェアで完全仮想化を行うツールです。KVMを使用すれば、LinuxやWindowsのイメージに変更を加えることなくそのまま、複数同時に実行することができます。

  • Xen は、複数のOSを同一のハードウェアで同時に実行することができるようなサービスを提供するVMMです。RedHat ELディストリビューションでは2005年からXenが使われています。カーネルバージョン2.6.18でXen非対応となりましたが、再び上流カーネルでXenに必要なモジュール・修正が追加されました(2.6.37でDomU(ゲスト)、3.0でDom0(ホストの一部であるベースドメイン)に対応)。これにより、Fedora 8で非対応となったXenのDom0が、Fedora 16で再び対応となりました。

  • VirtualBox はx86またはAMD64/Intel64系ハードウェアで用いられる完全仮想化ツールです。サン・マイクロシステムズ社により作成され、現在はOracle社が完全管理しているプロジェクトです。デュアルライセンスであり、片方はGPLv2です。VirtualBoxは完全仮想化ツールの中では最速レベルと言われています。

準仮想化

[[File:Virtualization_Para.png|200px|thumb|Para-Virtualization]]

virtualization para

準仮想化ではゲストOSとプロセスを共有します。実装例として以下があります。

  • KVM (上記を参照)。

  • Xen (上記を参照)。

OSレベルの仮想化

Operating system-level virtualization partitions a host into insulated guests, which are therefore as kinds of chroot, but with much stronger resource isolation.

Originally, this family of virtualization was referred to as zones and evolved into highly sophisticated containers today.

A few implementations:

  • Docker isolate a single process in its own environment

  • OpenVZ and the Debian-based ProxMox for the off-the-shelf server

  • LXC (Linux Containers), an operating system–level virtualization method for running multiple isolated Linux systems (containers) on a single control host

  • Linux-VServer, which does not seem to be no longer active (the last news is dated back in 2009)

Fedora Support

At time of writing, Fedora includes full support for KVM/QEMU, Xen and LXC.

A number of third parties (e.g., RPMFusion) provide add-on packages for other virtualization technologies: OpenVZ, Linux-VServer, VirtualBox.

Anticipating this diversification of technology, since the days of Fedora Core 5, all core management applications have been built on top of the libvirt toolkit, which offers a technology independent API for managing virtual systems.

Clouds

As Cloud-based infrastructures rely, by nature, on virtualization technologies, both subjects are therefore heavily inter-related. The Fedora Cloud Edition is dedicated to the subject, worth to follow as well.

History

Fedora Core 5 was the first release to include Xen as a core integrated technology. The new Linux native virtualiation, KVM, was introduced to Fedora 7. For a more detailed account of virtualization progress in Fedora, consult the Virtualization History page.

News

There is semi-regular coverage of Virtualization news in various Fedora communication media, specifically in Fedora Magazine, Fedora Community Blog, and Fedora Discussion, #libvirt

Getting started

The Quick Docs article Virtualization – Getting Started provides an excellent overview to using the virtualization capabilities in Fedora.

Specifically for Fedora Server Edition there is extensive and step-by-step guidance available.

Various magazine articles on virtualization have introductory material as well.

Bugs

See Virtualization – How to Debug Issues for some tips on reporting virtualization bugs to bugzilla.

Mailing list and IRC

There isn’t any designated virt mailing list, so try the standard Fedora lists like users or devel lists.

oVirt

oVirt is a Fedora based project which provides small host images and a web-based virtual machine management console. See their website to learn more and get involved.