In my previous post, we discussed creating a VM template in Proxmox. In this post, we will see how to move a Proxmox VM or container to a different disk.
Traefik is an open-source, cloud-native reverse proxy and load balancer that simplifies the deployment and management of applications across multiple servers or containers. With Traefik, developers can easily and seamlessly route traffic to the appropriate service instance and ensure high availability, reliability, and security. In this article, I'll explore the features and limitations of Traefik as a reverse proxy and load balancer for containers.
HashiCorp Nomad is a powerful orchestration and scheduler tool that can be an easily operated Kubernetes alternative. Nomad provides an orchestrator for containers, virtual machines, and other resources. The de facto standard for a container orchestrator today is Kubernetes. However, Kubernetes is extremely challenging and complex. It requires a specialized skillset that can present a barrier to entry regarding running production workloads in self-hosted clusters.
A Proxmox VM template is a preconfigured virtual machine image that can be used to create new virtual machines. The template is essentially a snapshot of a virtual machine that has been configured with a specific operating system, applications, settings, and any other necessary configurations, allowing you to deploy new virtual machines quickly to save time and effort. In this post, you will learn how to create a VM template and quickly clone a new VM from the template.
A Docker registry allows your organization's users to store and distribute Docker images, which are used to create and run containers. There are two main types of registries in Docker: public and private. In this post, you will learn how to configure a private Docker registry.
VMware's NSX Advanced Load Balancer is a rebrand of the Avi Networks load balancer, as VMware purchased Avi Networks in 2019. The NSX Advanced Load Balancer is one of the central technologies in the current VMware software-defined networking stack. It provides modern software-defined load-balancing capabilities for VMware NSX, Tanzu Kubernetes, and traditional web applications.
Portainer allows you to manage Docker containers and Kubernetes with a graphical user interface (GUI) without ever touching the command line. Aside from this, what else is Portainer good for? Read on as we delve into the benefits of using Portainer.
In my previous article, we discussed the MacVLAN network in Docker. Today, I will outline the differences between IPvlan and MacVLAN, explain the advantages of IPvlan, and show you how to create a VLAN with IPvlan.
The macvlan network driver allows you to assign a MAC address to Docker containers, which enables your containerized application to connect directly to your physical network.
A slow computer means more trouble your way! Source: Unsplash
Old hardware calls for a refresh. Otherwise, you’ll be dealing with slow computers, meaning you’ll reduce your productivity and your company’s ROI. Even worse, slow computers are an open door for security breaches.
When refreshing your server hardware, you should consider your budget, support plan, warranty period, and capacity planning. But it’s another story when you’re refreshing server hardware to use it as a virtualization host. So I’ll be showing you 3 extra things you need to keep in mind when planning for a virtualization host hardware refresh.
3 Best Practices to Refresh Your Virtualization Hardware
When refreshing your virtual hardware, you can put yourself ahead of the game in many ways. These transitions aren’t always easy, so you want to try your best to make it as smooth as possible for your systems. I’ve got 3 of my favorite tips for making your virtual hardware refresh as easy as can be:
1. Don’t Focus Your Hardware Planning Solely on Capacity
When it comes to purchasing a virtualization host, the natural tendency is to try to estimate your future capacity requirements. You can then select server hardware with the CPU, memory, storage, and network resources to meet the anticipated demand.
While this type of capacity planning is undeniably important, it’s also important to consider any additional hardware requirements. For example, when Windows 11 was released, Microsoft included a TPM 2.0 chip among the hardware requirements. So, it seems that any future Windows releases will also have a similar requirement.
Finding a current-generation server that doesn’t include a TPM 2.0 chip is hard. But it’s worth your time to list TPM 2.0 among your hardware specifications before making a server purchase.
You should also consider GPU hardware. It’s becoming increasingly common for workloads, particularly those that leverage machine learning, to require a physical GPU. You may already have VMs running in your data center mapped to a physical GPU.
When purchasing new server hardware, consider how many GPUs you’ll need to invest in. It’s also important to think about how you’ll migrate GPU-dependent VMs off the old hardware and onto the new hardware. That’s because VMs don’t generally support live migration.
2. Consider How the Transition Will Impact Clustered Workloads
Cluster capacity is another key consideration when refreshing virtualization host hardware. More specifically, you’ll have to consider whether or not your failover clusters have any room for growth.
Suppose, for a moment, you run Hyper-V on a group of clustered Windows servers. The maximum number of nodes in a failover cluster is 64. If your cluster consists of fewer than 64 nodes, you can simply join the new servers to the existing cluster, live migrate VMs to the new hardware, and then evict your old servers from the cluster.
On the other hand, if you have a 64-node cluster, you won’t be able to join any new nodes to the cluster until you remove one or more of the old nodes. Removing a cluster node will momentarily reduce the cluster’s capacity, at least until you add the new node to the cluster. So you’ll have to consider the impact of the upgrade process on the cluster’s ability to absorb any node failures that might coincidentally occur at the time of the migration.
3. Assess the Impact of the Refresh on Normal Operations
If you’re running Hyper-V, you’ll have to consider whether or not you can live migrate your VMs to the new hardware. When you migrate a Hyper-V VM to dissimilar hardware, you may have to enable processor compatibility mode for the VM before moving it.
That said, you may have to shut down the VM to enable processor compatibility mode. Another option is to simply power down the VM before attempting the migration. In either case, you’ll need to plan for possible downtime.
Hyper-V’s processor compatibility mode allows you to migrate the VM to a server with a different CPU version.
The Bottom Line
When refreshing your virtualization hardware, you must consider factors beyond capacity planning estimates. Otherwise, you’ll be dealing with a slow computer that causes your company many problems. That’s because the hardware you choose directly impacts how easy or difficult the migration process will be.
You also shouldn’t focus your hardware planning solely on capacity when refreshing your hardware. In addition, you should consider how the transition will impact clustered workloads. Lastly, you must also assess the impact the refresh will have on normal operations.
If you have more questions in mind, check out the FAQ and Resources sections below.
Does a hardware refresh always necessitate using CPU compatibility mode?
No, not every situation requires using CPU compatibility mode. If the new hosts are architecturally similar to the old hosts, you probably won’t have to enable CPU compatibility mode. Likewise, you won’t have to worry about CPU compatibility if you were to replace all of the hosts at once rather than trying to work new hosts into an existing cluster.
Should I run burn-in tests?
Burn-in tests fell out of fashion at some point, but I still find it important for any hardware that’ll host mission-critical workloads. The basic idea behind a burn-in test is that when you plug in and power up a new server, that server is unproven. You have no idea at that point if the server will be reliable or if it contains faulty components that made it past quality control. A burn-in test is designed to confirm the integrity of the server’s hardware.
How do you go about performing a burn-in test?
Performing a burn-in test doesn’t have a standard method. Everyone has their ideas about what such a test entails. That said, you can find guides online that can walk you through the process.
Why is it difficult to live migrate a VM using a physical GPU?
A VM using GPU passthrough is linked to a specific GPU device within the server hardware. So, the hardware dependency once made live migrations impossible for such VMs. Today, you can live migrate GPU-accelerated VMs. That said, doing so requires you to have just the right hardware.
What are the requirements for using processor compatibility mode?
According to Microsoft, you can only enable or disable processor compatibility mode while a VM is off. Processor compatibility mode will allow you to move a running VM to a host with a different CPU version. That said, you can’t move a running VM to a host equipped with a processor from a different manufacturer. For such moves, you must shut down the VM, and processor compatibility mode isn’t required.
Ready to deploy Hyper-V? SOURCE: TheDigitalArtist on Pixabay
You’d think the process of deploying Microsoft’s Hyper-V couldn’t be simpler. Simply install Windows and then the Hyper-V role. Unfortunately, it really isn’t that simple. This is because you need to complete several other tasks to ensure a successful deployment. It’s also very easy to forget about these tasks.
That said, I’ve created a checklist of some easy-to-miss steps in the deployment process to help you get started on the right foot for Hyper-V. I also divided the checklist into categories, depending on which stage of the deployment process you’re in. After going over this checklist, you should be all good to go!
Before I Begin
Before I get started, consider the following:
This isn’t intended to be a completely comprehensive checklist. Every Hyper-V deployment is different, so the required tasks will differ from one business to the next. I’ve based this checklist on my own experiences with deploying Hyper-V. Microsoft also offers a checklist, which you can find on its website
Subtasks are beyond the scope of this checklist. For example, you can have numerous tasks associated with setting up failover clustering. These tasks go well beyond what I’m covering here
Alright, now that that’s all said and done, here’s the checklist!
Hyper-V Host Deployment Checklist
You’ll find 4 main checklist categories. As mentioned above, these categories depend on which stage of the deployment process you’re in. Underneath each category, you’ll find a checklist to ensure you don’t miss any important tasks.
1. Ensure Host Hardware Is Ready
First, you need to ensure that your host hardware is ready for provisioning. You could just take a new server out of the box, mount it in a rack, and install Windows. But you’ll be better off doing a little prep work before deploying an OS on a new server. Some tasks you might consider completing include:
Update the server’s firmware to the latest version
Verify that the host adheres to Microsoft’s hardware compatibility list for Hyper-V. Ensure that any additional hardware (such as PCIe cards) you install in the server also adheres to Microsoft’s hardware requirements
Check if you need to update the firmware for any ancillary devices. These devices include NICs, storage controllers, or even hard disks. Note that firmware updates don’t exist for every hardware device
2. Use the Right OS
In this next step, you need to ensure you have the necessary Windows licenses and that you’re running an appropriate version of Windows Server. Here are a few things to consider:
Ensure you have a Windows Server license for your Hyper-V server. The Windows Server edition you choose will majorly affect the overall cost. Windows Server Standard Edition, for example, only allows for one virtual machine (VM) per license. On the other hand, Windows Server Datacenter Edition licenses support multiple VMs
Check if you have to stack your Windows Server licenses. For instance, a Windows Server Standard Edition license only supports up to 16 cores. The same applies to the Datacenter Edition. Servers with more than 16 cores will require additional licenses
Purchase licenses for any VMs running an OS other than Windows Server. You need to do this even though Windows Server Datacenter Edition allows for unlimited VMs
Purchase Client Access licenses (CALs) for each user or device accessing your server
Run Hyper-V on a server-core deployment, which doesn’t include the Windows desktop. This is regardless of whether you’re running Windows Server Standard Edition or Datacenter Edition
Install all available updates after installing Windows Server
Server-core deployments don’t include the Windows desktop.
3. Install Hyper-V
Once you’ve installed and updated Windows, it’s time to install Hyper-V and the required supporting software, if any. Consider the following:
Install the Hyper-V role manually. You can’t find Hyper-V installed by default with Windows Server. You also shouldn’t install any other Windows Server roles on the server
Install the Failover Clustering Feature if the Hyper-V host will be a part of a failover cluster
Install a backup agent on your Hyper-V server (you may require other configuration tasks for non-agent-based backup solutions) if you’re using a backup solution that requires the use of agents. Also, ensure you have the required licenses to back up an additional server
Verify you didn’t install any applications (other than low-level utilities such as antiviruses and backup agents) on the host OS
Installing Hyper-V as a Windows Server role.
4. Finalize Post-Installation Tasks
Once you’ve installed Hyper-V and any required supporting software, you might need to work on some post-deployment tasks. Some of these tasks include:
Join the Hyper-V host to a domain if doing so is appropriate for your business
Enable management for your Hyper-V host and the VMs that will reside on it. The Hyper-V Manager is the default management tool for Hyper-V, but it isn’t the only option available. You can also manage Hyper-V using PowerShell or System Center Virtual Machine Manager. In addition, some businesses enable RDP on their host servers (to allow remote access), while others leave RDP disabled for security reasons
Create or join the host to an existing failover cluster if you installed the Failover Clustering role
Ensure the host adheres to your desired state configuration. Even if you don’t use Microsoft’s Desired State Configuration tool, you need to configure the host to adhere to your organization’s security policies
Set the default virtual machine path to the appropriate location. The default virtual machine path points to the system drive by default, but you might need to redirect it
Verify that the Windows clock and time zone are set correctly
Adjust the power management settings as required by your business
And we’re done! If you’ve reached this point, you’re probably all good to go in terms of Hyper-V host deployment. Let’s wrap up now.
The Bottom Line
Deploying Microsoft Hyper-V involves much more than just installing the Hyper-V role. You must complete several other tasks as well. These tasks range from preparing the server hardware and purchasing the correct software licenses to adjusting the server’s clock and power profile.
The checklist above gives you a good idea of the tasks that are easy to miss when deploying Hyper-V. You might want to save it as a reference for the future. Overall, I hope it proved to be useful to you and your business.
Do you have more questions about Hyper-V deployments and other related topics? Check out the FAQ and Resources sections below!
What happens if I can’t see some of my server’s hardware listed on the Windows Compatible Products List?
If you can’t see a server or its connected hardware listed on the Windows Compatible Products List, that server may still be able to run Windows. An omission from the list doesn’t necessarily indicate that you’ll have problems getting Windows to work properly. It means that Microsoft hasn’t certified the hardware for use with Windows. In other words, Microsoft doesn’t guarantee that Windows will work properly on the device.
What should I worry about when running Windows on hardware that isn’t on the Windows Compatible Product List?
You shouldn’t worry about any issues from a licensing perspective. But if you experience problems, you may have trouble getting Microsoft support to resolve the issue if they suspect it lies with your hardware. You may also have difficulty explaining to your boss why you chose to run a production workload on non-certified hardware.
Can I run Hyper-V on Windows Server Essentials?
Yes, Windows Server Essentials does support Hyper-V. However, Windows Server 2022 Essentials is only available from an OEM. You can, however, purchase Windows Server 2019 Essentials licenses from Microsoft.
Why does Microsoft recommend against installing other roles alongside the Hyper-V role?
Why is it important to adjust a Hyper-V server’s power management settings?
While it’s true that electricity is one of a data center’s greatest costs, minimizing a Hyper-V host’s power consumption can adversely affect the server’s performance. As such, it’s a good idea to balance power efficiency and server performance.