This article contains content contributions from LINBIT team members: solutions architects Matt Kereczman and Joel Zhou, CEO Philipp Reisner, and developer Moritz Wanzenböck.
If the Broadcom VMware acquisition negatively impacts you, you are probably looking around for possible VMware alternatives, especially if you have customers who are also affected. Or maybe you have not been affected yet but you want to be prepared in case of an uncertain future and you no longer want to be locked into a proprietary solution.
Fortunately, there are some commendable open source alternatives to the proprietary VMware platform. This article will explore a few of those platforms, presented in alphabetical order, and describe where and for whom they might make good fits. These platforms also integrate with LINBIT® open source software technology for high availability (HA), disaster recovery (DR), and software-defined storage (SDS). With a fully open source solution stack, you can avoid vendor lock-ins and disruption to your business and the services that you provide to your customers.
Apache CloudStack
As the description on its website states, Apache CloudStack is an open source “software system designed to deploy and manage large networks of virtual machines (VMs), as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.” Because of the vast number of features and concepts that CloudStack supports, such as clusters, pods, zones, regions, and its support for multiple hypervisor types, it might be best suited for large organizations that have the infrastructure and the personnel to understand, configure, deploy, and maintain the technology. This is not to say that the software is bloated, just that it is highly configurable and conceptually more complex than some of the other solutions mentioned in this article. As such, it might be beyond the scope of what a home lab or small business might want. That said, it is a great fit for public cloud providers.
How LINBIT Software Integrates With CloudStack
LINBIT SDS (DRBD® and LINSTOR®) open source software can integrate with CloudStack by using a plugin that is included in CloudStack versions 4.16.1 and later. Currently, you can only use the LINSTOR plugin for CloudStack to provision volumes for use with KVM hypervisors. You can use LINSTOR to provision volumes that can be used to back CloudStack primary storage. A benefit to integrating LINSTOR with CloudStack is that it can be a way to provide highly available primary storage that is also flexible to manage.
The LINSTOR User’s Guide has more details about installing LINBIT SDS and integrating it with CloudStack. There are also many CloudStack related videos on the LINBIT YouTube channel.
Using CloudStack to Solve Problems at Scale
All of LINBIT’s customers using CloudStack with LINSTOR are doing so to provide web hosting and VPS services to their own customers. Businesses are using CloudStack today to solve problems at scale that they could only previously solve by using very complex platforms, such as OpenStack.
OpenNebula
OpenNebula, according to its website, “combines virtualization and container technologies with multi-tenancy, automatic provision and elasticity to offer on-demand applications and services.” Similar to Proxmox VE, it supports KVM and LXC virtualization technologies, but also adds Firecracker and VMware (although you might be moving away from VMware, right?). One of OpenNebula’s strengths is that it is easy to integrate it with other systems in an organization because it provides a way to generate hooks that get called on various actions. For example, you could write a hook that inserts a name into a DNS server when a VM is created. The concept of hooks is a strength that makes OpenNebula a good fit for private clouds within a medium to large organization.
How LINBIT Software Integrates With OpenNebula
LINBIT SDS integrates with OpenNebula by using the LINSTOR OpenNebula plugin. This plugin allows for the deployment of VMs with highly available images that are backed by DRBD and attached across the network through DRBD’s own transport protocol. Besides bringing HA resiliency for your VM images and other SDS management conveniences, the LINSTOR plugin also supports live migration of VMs, even with the use of the SSH system datastore or the NFS shared system datastore.
You can watch a LINBIT-produced video overview about using LINBIT SDS with OpenNebula on the LINBIT YouTube channel.
How LINBIT Uses OpenNebula
Here at LINBIT, we have used OpenNebula since 2019 or so. That was the oldest VM that we could find anyway in our OpenNebula deployment. We use OpenNebula to host our internal infrastructure, such as our software package repositories, monitoring, DNS, and directory services. We also use OpenNebula to provision test infrastructure that does not fit a single workstation,
By using the LINSTOR OpenNebula plugin, we have been able to keep our critical VMs running while upgrading the hypervisor operating system, without having to turn off the VMs for even a second. Another benefit is that we have been able to create backups and roll back to known states after failed VM upgrades.
Proxmox VE
Proxmox VE is a Debian Linux-based hyperconverged infrastructure open source software. According to its website, Proxmox VE is an open source “server management platform for enterprise virtualization.” Proxmox VE uses the KVM hypervisor and Linux Containers (LXC) and can virtualize both Linux and Windows workloads. If you need a different virtualization technology besides KVM or LXC, Proxmox VE will not be a solution that you can use. Proxmox VE is generally easy to install, set up, and learn. As such, it is perfectly suited for small installations or home labs.
How LINBIT Software Integrates With Proxmox VE
Similar to the integration for CloudStack, LINBIT SDS integrates with Proxmox VE by using a plugin. When integrated, LINBIT SDS allows you to replicate VM disks on several Proxmox VE nodes. Besides the high availability of VM disks, this also allows you to live migrate active VMs within a few seconds and with no downtime, and without needing a central SAN appliance.
You can find more details about the LINBIT SDS integration with Proxmox VE in the LINSTOR User’s Guide. LINBIT Solutions Architect, Ryan Ronnander, also made an overview video, 10 Things You Can Do With LINSTOR and Proxmox VE, that highlights the integration’s features.
Using Proxmox VE to Offer VPS Services
One LINBIT customer, a cloud provider, uses Proxmox VE v7 and v8 to offer virtual private server (VPS) services in three different countries. Storage and replication infrastructure within the customer’s LINSTOR Proxmox integration consists of all NVMe drives and high-bandwidth networks, including RDMA. The customer has reported getting storage performance that is even better than the commercial storage software the customer was previously using.
XCP-ng
XCP-ng stands for “Xen Cloud Platform – next generation” and it began as a fork of the Linux Foundation’s Xen Project. As such, XCP-ng is built around the Xen hypervisor and it is meant to be a “fully integrated and dedicated virtualization platform, without requiring any deep Linux or system knowledge,” according to the XCP-ng documentation site. XCP-ng is the perfect fit when migrating from a Citrix Xen environment, because it supports APIs specific to desktop virtualization. It can also be a good fit for people coming from VMware.
How LINBIT Software Integrates With XCP-ng
LINBIT’s LINSTOR and DRBD are installed and integrated with XCP-ng using a set of scripts provided by XCP-ng’s core maintainers. This removes much of the “heavy lifting” required in creating a LINSTOR cluster, and removes any guess work as to what needs to be installed or configured for proper integration with XCP-ng. This integration is known as “XOSTOR” in the XCP-ng ecosystem.
XOSTOR is what would be considered a “disaggregated hyperconverged” storage solution. Plainly speaking, this means you can scale storage nodes and compute nodes separately, but block storage directly attached to compute nodes can be (and usually is) used to create the XOSTOR storage pools. XOSTOR takes the locally attached storage, and layers DRBD over it, to ensure there are more than one replicas of your data within the cluster in case of node or storage failures. DRBD also is used to “disklessly attach” the storage nodes to compute nodes, in case a VM is running on a node without its own local replica.
While XOSTOR is nearing its official supported release, it’s only available as a preview release at the time of writing this blog. Real life use cases are limited to those who are currently testing the integration. However, testing results so far indicate that XCP-ng bundled with XOSTOR has postured itself as a drop-in replacement for those coming from the proprietary VMware world. XCP-ng with XOSTOR is well suited for small to medium sized clusters containing up to 31 nodes.
Conclusion
Hopefully this overview of open source alternatives to VMware, and how you can integrate them with highly available software-defined storage, has given you some ideas for exploring a solution that might work for your needs. An open source alternative gives you peace of mind that a software solution cannot be taken away from you, and can work as an insurance policy of sorts against vendor lock-ins and disruptions. For over 20 years, LINBIT has helped companies all over the world, of various sizes, resources, and needs, customize and deploy the storage software solutions that it develops and maintains. If you think you might want help navigating your choices between open source alternatives to VMware and finding a solution that works best for your organization, reach out to us.
If you are interested in learning more about the post-Broadcomm VMware acquisition landscape, and what open source industry leaders are saying about it, LINBIT hosted a virtual community meeting on the topic. Joining the meeting were expert leaders and technologists from OpenNebula, ShapeBlue (CloudStack), and Vates (XCP-ng). You can watch a recording of the community meeting on the LINBIT YouTube channel.