Virtualization
First Draft! Please comment on server mailing list |
Today’s Hardware is pretty much powerful enough to run not only one server but many of them.
Virtualization means that several complete and probably different operating systems run on one and the same hardware - as far as possible independently and isolated from each other.
Containers are an alternative. Here, several containers use the kernel of the host system simultaneously. The mutual isolation is lower, but the performance overhead is also lower.
Fedora Server uses KVM and the libvirt libraries for virtualization. Another alternative that is often used is XEN.
System software required for virtualization is not automatically installed. It can be added as an option during installation. However, a more targeted installation is a subsequent, precisely fitting installation.
After Fedora Server is enabled for virtualization, one or more virtual machines can be installed. This can also be Fedora Server, or any other distribution.
Adding Virtualization
This step includes an installation of the libvirt software and further configuration steps. For example, external connectivity must be set up for virtual machines, e.g. through a virtual bridge. Often, an internal network is also required for protected communication between the virtual machines or with the host system.
Adding Virtual Machines
There are two common ways to install virtual machines:
-
Use of the distribution-specific installation program with the help of specialized utilities
-
Installation of cloud (base) images, a variant of the operating system optimized for virtualization.
Distribution specific installation
To do this, the standard ISO file is copied to the server and then executed via a utility. The web-based administration tool Cockpit is currently recommended for Fedora Server. An alternative is Virt-Manager, a graphical utility. However, it must be installed on the local workstation (Linux only) and then works via a ssh connection. Execution on the server itself is not supported, as Fedora Server is designed to be "headless", i.e. without a graphical user interface.
Experienced administrators can also initialize an installation via the command line using VNC and virt-install. However, this is comparatively time-consuming and error-prone.
Cloud Base Images
A special feature of cloud images is a configuration for a specific runtime environment and purpose with the help of a special program, cloud-init. The necessary information is provided by the cloud system, e.g. Open Stack. These are not readily available on an autonomous server. With Fedora 33 and version 3 of the virt-install program, the installation and use of cloud images and cloud-init has been greatly simplified.
Installation is now accomplished with a single and simple invocation of the virt-install CLI program. Currently, no support is available through a graphical or web-based program.