forgejo/git/repositories/d_mcknight/blog-content.git/pulls/4.patch
2025-01-10 20:55:33 -08:00

102 lines
5.2 KiB
Diff

From 3a68c6cc5c3009cff814ed8f7d87792fc5fb2a6b Mon Sep 17 00:00:00 2001
From: Daniel McKnight <daniel@mcknight.tech>
Date: Wed, 31 Jan 2024 07:00:47 +0000
Subject: [PATCH] XCP-ng vs Proxmox
---
2024-01-30_Compute_Setup.md | 83 +++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
create mode 100644 2024-01-30_Compute_Setup.md
diff --git a/2024-01-30_Compute_Setup.md b/2024-01-30_Compute_Setup.md
new file mode 100644
index 0000000..d5ede3e
--- /dev/null
+++ b/2024-01-30_Compute_Setup.md
@@ -0,0 +1,83 @@
+---
+date: 2024-01-30
+title: Picking a Compute Hypervisor
+tags:
+ - homelab
+ - compute
+ - proxmox
+ - xcp-ng
+---
+
+With storage configured (and backups configured), I am moving on to configuring compute resources. Currently, I have Docker containers
+managed in Unraid and my goal is to add some redundancy which I assume will involve migrating to Kubernetes nodes running on multiple
+physical servers. In preparation for this, I have moved my ddns and WireGuard services from Unraid to my pfSense router. This means I
+can maintain remote access to my network so long as my router is on, even if nothing else on the network is running. With that taken
+care of, now I need somewhere for all of the other containers.
+
+## System Requirements
+I have a few requirements for the hypervisor I use for virtualized compute:
+- Ability to run Windows, Linux, and BSD VMs
+- Support for hardware pass-through
+- Support for ZVol disks
+- Web UI for management
+- FOSS with reasonable throubleshooting resources/support options
+
+With those requirements in mind I found Proxmox and XCP-NG to be the popular options for what I'm looking to do and have started researching
+and testing those options.
+
+## First Impressions
+To start, I will set up each option and get an idea of what the UI looks like, how administration will work, and form some basic opinions.
+I expect that either option will do what I need, so its more a question of how easy it is to get things running and administer the server(s).
+
+### Proxmox
+This seems to be the more popular option at the moment, with an active community and development team. It seems to to check all my boxes,
+including support for clustering and more functionality then I will likely use. These are only first impressions after setup and poking around
+the Web UI:
+
+#### Pros
+- Web UI with 2FA support and user management
+- Support for LXC and VMs
+- System monitoring tools built-in
+- KVM virtualization on Debian is a familiar configuration
+
+#### Cons
+- The clock is incorrect with no obvious place to run NTP
+- Web UI doesn't appear customizable and is bloated with Ceph, Firewall, and Disk management tools I won't use
+- There's a "No Subscription" modal that appears EVERY TIME you login unless you purchase an annual subscription
+
+The subscription warning is annoying to me as it feels needlesly intrusive. A banner/watermark or option to dismiss
+for a month at a time would be nice, or even a one-time payment option just to remove the warning. There are threads
+on the Proxmox forums discussing this and it is a conscious design decision that seems to be here to stay.
+
+### XCP-ng
+The older and more established option of these 2. The management interface here (Xen Orchestra) is distinct from the
+core OS and runs in a container but for the purposes of this comparison I will include Xen Orchestra functionality:
+
+#### Pros
+- Maintained by the Linux Foundation
+- Clean and easily navigable management UI
+- Monitoring tools built-in
+
+#### Cons
+- xen hypervisor is less common than KVM
+
+Overall, I find this UI much simpler and easier to navigate compared to Proxmox. I also really like that Xen Orchestra is independent from
+the actual virtualization system. I am less certain of how xen will compare to kvm, but based on my initial impressions I will start setting
+up some things with xcp-ng and see how it goes.
+
+## Some other notes
+Prior to installing anything, I did do some research into Proxmox and XCP-ng. I saw that both
+[Linode](https://www.linode.com/blog/linode/linode-turns-12-heres-some-kvm/)
+and [AWS](https://www.theregister.com/2017/11/07/aws_writes_new_kvm_based_hypervisor_to_make_its_cloud_go_faster/) have adopted kvm in recent
+years, citing better performance (though Amazon is using their own hypervisor built on top of kvm). However, I am comparing Proxmox and
+XCP-ng, not kvm an xen, so I don't believe these comparisons are directly applicable. I also came across a
+[forum post on lawrencesystems.com](https://forums.lawrencesystems.com/t/xen-vs-xenserver-vs-kvm-vs-proxmox/14256) from the CEO and co-founder
+of the company responsible for Xen Orchestra explaining some of the details of Xen, how it compared to KVM, and what the goals are for XO.
+
+## Where to go from here
+I will continue with setting up XCP-ng and get a better idea of whether it is the solution I am looking for. I may do some more with Proxmox,
+but based on my initial impressions and its overall scope I don't think it fits as well into the setup I have in mind. For the moment, I have
+things installed on a spare computer (a loose motherboard and PSU on a shelf in the spare room) so I have somewhere to break things before
+committing to any deployment.
+
+
--
GitLab