Sergey Nivens - Fotolia
5 open source software applications for virtualization
Open source software comes with many benefits, but admins must first determine whether each tool's use cases align with their workload needs.
Open source tools can provide various benefits that proprietary products sometimes lack, such as improvements in flexibility and agility, speed, costs and security. Admins can find open source options to meet almost any of these needs, such Cockpit for administering servers; Proxmox Virtual Environment for improving Linux container and system management; KubeVirt for combining container and virtualization technologies; Open vSwitch for managing multiple physical servers; and AWS Firecracker for micro VM management.
When choosing an open source software application, admins must understand the features and use cases of each tool prior to use. This helps ensure that each tool meets workload and business needs.
Administer servers with Red Hat Virtualization's Cockpit tool
Red Hat Virtualization's Cockpit is a lightweight, open source tool used in a variety of Linux distributions, such as Red Hat Enterprise Linux (RHEL). Cockpit uses a system's APIs without special instruction or configurations and doesn't consume processor or memory resources when not in use. Admins can use Cockpit to manage Red Hat Virtualization (RHV) Hosts and RHEL nodes, and execute various administrative tasks.
The main benefit of using Cockpit is its ability to implement a self-hosted engine configuration, which requires one less physical server compared to a Manager configuration. On the other hand, Cockpit also introduces additional administrative overhead, meaning admins must dedicate more of their time and work to properly manage the tool.
Admins must first manually install Cockpit if they are using a RHEL server for the deployment host. Then, admins must enable the cockpit.socket command. From there, admins can launch the Cockpit interface by selecting the target host within the RHEL Administration Portal. After, admins can use their current RHV credentials to sign in and view details pertaining to CPU usage, memory usage, disk I/O and network traffic.
Improve system and Linux container management with Proxmox VE 6
Proxmox Virtual Environment (VE) is an open source virtualization management tool that integrates KVM and Linux container (LXC) services to provide admins with container features, simplified management, better security and improvements in availability. Proxmox VE's recent release, 6.1, introduced new and updated capabilities, such as pending changes, security protocols, network configurations and Simple Protocol for Independent Computing Environments.
To install Proxmox VE, admins must consider their cluster size, types of OSes they have to install, which Proxmox VE features they will use and other specific workload requirements. For example, to implement a high-availability cluster, admins must deploy at least three cluster nodes and maintain a certain level of hardware redundancy. In addition, admins should get to know Proxmox VE documentation and use support forums to better understand deployment steps.
Use KubeVirt to combine container and virtualization technologies
Admins are increasingly combining virtualization and containerization technologies in the data center to take advantage of the benefits of both. KubeVirt is an open source project that provides an extension to Kubernetes and is ideal for admins looking to run their workloads in VMs and orchestrate those VMs with Kubernetes tools. Admins can run containers as VMs on top of Kubernetes infrastructure with KubeVirt.
To use KubeVirt, admins must install additional binaries such as virtctl, which provides control options for VMs running on top of KubeVirt. To create containers and VMs with KubeVirt, admins can use YAML manifest files. To manage containers and VMs with KubeVirt, the project relies on KVM to integrate with Kubernetes components, which admins can use to store files that will survive after a system reboot.
It's important to keep in mind that KubeVirt isn't ideal for migrating large virtual workloads to a Kubernetes platform; it lacks broad hypervisor support and doesn't contain the tools to pull off such a large migration.
Cover multiple physical servers with Open vSwitch
Open vSwitch is a production-quality multilayer virtual switch created by the Linux Foundation and is available under the open source Apache 2.0 license. Open vSwitch enables admins to control network connections between VMs that run in highly dynamic, multiserver systems such as the cloud.
Open vSwitch is ideal for admins looking to manage distributed virtual systems that cover multiple physical servers. Open vSwitch offers support for several hypervisors, such as KVM, VirtualBox, Xen and Proxmox VE. Admins can use Open vSwitch on a variety of systems, such as Windows, non-POSIX embedded systems and FreeBSD. Open vSwitch's feature set includes multicast snooping, network interface card bonding with source-MAC load balancing and per-VM interface traffic policing.
Open vSwitch is written in the C language, which means the tool offers a platform-independent service that admins can easily port to other systems. Admins can also operate Open vSwitch partly in the kernel domain or entirely in the user domain without assistance from a kernel module. Admins generally run Open vSwitch in the kernel domain due to the performance penalty incurred while running the tool in a user-based deployment.
Manage micro VMs with AWS Firecracker
AWS Firecracker is an open source virtualization technology that provides a variety of serverless offerings, such as Lambda and Fargate. Firecracker is well known for its micro VM technology that enables admins to obtain the benefits of both containers and VMs.
Firecracker mainly relies on KVM to manage micro VMs hosted on a hypervisor at the Linux kernel level. Micro VMs are beneficial for admins who must run isolated virtual instances that can run a guest OS and a container-type workload simultaneously. In particular, Firecracker offers improved isolation for micro VMs by replacing QEMU with its own VM manager, which also improves resilience and speed. Admins can manage micro VMs through Firecracker because it uses a REST API that helps expose the Unix socket. Admins can then use command-line tools such as PowerShell to send instructions to Firecracker and receive output.