<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vm on blog.iankulin.com</title><link>https://blog.iankulin.com/tags/vm/</link><description>Recent content in Vm on blog.iankulin.com</description><generator>Hugo</generator><language>en-AU</language><lastBuildDate>Fri, 10 Feb 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.iankulin.com/tags/vm/index.xml" rel="self" type="application/rss+xml"/><item><title>Saved by the qemu_guest_agent</title><link>https://blog.iankulin.com/saved-by-the-qemu_guest_agent/</link><pubDate>Fri, 10 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/saved-by-the-qemu_guest_agent/</guid><description>&lt;p&gt;Literally an hour after I wrote the post &lt;a href="https://blog.iankulin.com/proxmox-qemu-guest-agent/"&gt;about installing the qemu guest agent&lt;/a&gt; in a VM and explaining how it can be used to inject root level commands into a VM, I had use of it due to a mistake.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d decided to add myself to the sudoers file. Since the last line in that file is a directive to include all the files in the /etc/sudoers.d directory, the accepted way to do that for local changes is to create a file in that directory with the necessary commands.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# User privilege specification
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root	ALL=(ALL:ALL) ALL
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Members of the admin group may gain root privileges
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;%admin ALL=(ALL) ALL
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Allow members of group sudo to execute any command
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;%sudo	ALL=(ALL:ALL) ALL
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# See sudoers(5) for more information on &amp;#34;@include&amp;#34; directives:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;@includedir /etc/sudoers.d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The format of this command is important to get right, since if you stuff it up, sudo will not work, and I don&amp;rsquo;t even have a root login for this server, so then I&amp;rsquo;d be in a pickle. It&amp;rsquo;s so important to not stuff this up that there is a special command for editing the files that won&amp;rsquo;t let you save them if you&amp;rsquo;ve made a mistake.&lt;/p&gt;
&lt;p&gt;Out of an abundance of caution, I decided to copy the system sudoers file to the directory as a starting point since it would have the correct format and be easy to edit. It didn&amp;rsquo;t occur to me that then the &lt;code&gt;@includedir&lt;/code&gt; at the end would become an infinite loop.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-2.06.12-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;So here I am, logged in as ian, with no sudo, needing to edit or delete a protected file, and with no root login. Luckily, it&amp;rsquo;s a VM running the qemu user agent, so I can access it from Proxmox.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-2.04.37-pm.png"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-2.04.37-pm.png" width="895" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saved by over-engineering! Thank you open source contributors.&lt;/p&gt;</description></item><item><title>Proxmox - Qemu-guest-agent</title><link>https://blog.iankulin.com/proxmox-qemu-guest-agent/</link><pubDate>Thu, 09 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/proxmox-qemu-guest-agent/</guid><description>&lt;p&gt;One of the strengths of having virtual machines (VMs) running inside a hypervisor like Proxmox is how they are isolated from each other and their host. This is a strength - if there is a problem with a particular VM nothing else should be affected by it.&lt;/p&gt;
&lt;p&gt;But this can also be a pain if the hypervisor needs access to a VM to control or monitor it in some way that&amp;rsquo;s only possible from inside the VM. Proxmox can use the &lt;a href="https://qemu-project.gitlab.io/qemu/interop/qemu-ga.html"&gt;Qemu Guest Agent&lt;/a&gt; for this purpose. To over simplify, this is a deamon that runs in the VM and opens a unix socket/virtual serial port to the hypervisor, and listens for commands on it. With Proxmox, the main use of this is to aid in orderly shutdowns and backups, but it also allows us to run commands in the VM from Proxmox - an obvious security compromise. You definitely would not want to install this daemon on a hosted VPS.&lt;/p&gt;
&lt;h4 id="installing-qemu-guest-agent"&gt;Installing Qemu-guest-agent&lt;/h4&gt;
&lt;p&gt;I&amp;rsquo;m running Unbuntu Server 22.4.1 inside Proxmox 7.3 for the following examples.&lt;/p&gt;
&lt;p&gt;Use apt (or whatever you distro uses) to install the agent inside the VM.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install qemu-guest-agent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will do the usual thing - build the list, ask your permission to use the disk space, then download and unpack everything.&lt;/p&gt;
&lt;p&gt;Some guides on the internet will tell you to either use &lt;code&gt;systemctl&lt;/code&gt; to start the agent now, or to reboot the VM. Don&amp;rsquo;t do either of those.&lt;/p&gt;
&lt;p&gt;Instead, shutdown the VM entirely from Proxmox. Then in Proxmox, with the VM selected, we need to go into &lt;code&gt;Options&lt;/code&gt; and find &lt;code&gt;QEMU Guest Agent&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-9.21.27-am.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;To change an option you either double click on the line your are interested in, or select it and click edit up the top. So do that for &lt;code&gt;QEMU Guest Agent&lt;/code&gt; and select the box to enable it.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-9.33.05-am.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Once that&amp;rsquo;s done. We&amp;rsquo;ll select the VM and start it. If you watch the summary screen as it starts, you&amp;rsquo;ll be able to see if everything is working by watching the IP Address field. It will start off saying &lt;em&gt;Guest Agent not running&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-9.37.33-am.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;But then change once the boot gets to the stage of running all the daemons. This is an example of the hypervisor being able to use the agent to get information about what&amp;rsquo;s going on inside the VM.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-9.33.53-am.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;If you want to double check everything is working, you can &lt;code&gt;ssh&lt;/code&gt; into the VM, and have a look at the process with &lt;code&gt;systemctl status qemu-guest-agent&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-12.07.46-pm.png"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-12.07.46-pm.png" width="938" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or, we can look from the host. If you select the shell of the node - remember mine was called &lt;code&gt;pve&lt;/code&gt;, you have a console for the root node that owns all the virtual machines. We can run qm with &lt;a href="https://qemu.readthedocs.io/en/latest/interop/qemu-ga-ref.html"&gt;all sorts of options&lt;/a&gt; to accomplish different things. One of the most interesting is &lt;code&gt;qm guest exec&lt;/code&gt; which allows us to run whatever we&amp;rsquo;d like, as root, on the guest vm.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-29-at-12.13.17-pm.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;The number 101 in &lt;code&gt;qm guest exec 101 -- hostname&lt;/code&gt; is the Proxmox id for the server we want to access - it&amp;rsquo;s shown in the server view in the top left, and the text after &lt;code&gt;--&lt;/code&gt; is the command to execute. What&amp;rsquo;s returned is some JSON with the exit code and the output. This should be a chilling reminder that anyone with access to the proxmox account will also have root access to all your VM&amp;rsquo;s running the daemon.&lt;/p&gt;</description></item><item><title>Proxmox - Installing a Virtual Machine</title><link>https://blog.iankulin.com/proxmox-installing-a-virtual-machine/</link><pubDate>Tue, 07 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/proxmox-installing-a-virtual-machine/</guid><description>&lt;p&gt;Installing your first virtual machine (VM) in the Proxmox hypervisor is pretty straightforward. This post runs through those steps using Proxmox 7.3.&lt;/p&gt;
&lt;p&gt;You need an operating system for your virtual machine, I&amp;rsquo;m going to use &lt;a href="https://ubuntu.com/download/server"&gt;Ubuntu server&lt;/a&gt; in this example, but it could just as easily be &lt;a href="https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016-essentials"&gt;Windows server&lt;/a&gt;, or regular windows, or one of the desktop Linux distributions. Whichever you decide, you&amp;rsquo;ll need to find and download the ISO for it. The ISO is a (usually quite large) file needed to install the operating system.&lt;/p&gt;
&lt;p&gt;Once, you&amp;rsquo;ve got the ISO for the operating system, you need to upload it into Proxmox via the web interface. The ISO will be stored in the &lt;code&gt;local&lt;/code&gt; directory style storage. If you click on it in Proxmox, you&amp;rsquo;ll see there&amp;rsquo;s actually a section for ISOs, as well as buttons there to upload an ISO from your machine, or to directly download it into ProxMox from a link.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-27-at-5.45.54-pm-copy.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Above you can seen I&amp;rsquo;ve now got two ISO images stored in my local storage. Once an image is there, you are ready to install it.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.03.45-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;In the top right of the Proxmox screen there are two blue buttons. One of them says &amp;ldquo;Create VM&amp;rdquo;, and that&amp;rsquo;s what we want to do. Now there will be a series of dialogs to click through and fill out. Most things we can just leave as defaults, but a few need some decisions.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.06.56-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;The node (your server) is already filled out. Mine is &lt;code&gt;pve&lt;/code&gt; since I just used the default name when I first installed Proxmox. The VM (virtual machine) ID is used by Proxmox to identify the server. You can change this to any three digit number you haven&amp;rsquo;t used. I&amp;rsquo;m keeping 100. Some people use this to separate their server types, for example all their production servers might be in the three hundreds.&lt;/p&gt;
&lt;p&gt;You need to come up with a name for this VM. These can only use letters and numbers - no punctuation. I like to keep them short, and describe the purpose of this VM, but perhaps you want to name yours after the OS you are using. I&amp;rsquo;m calling this one dockerhost because it&amp;rsquo;s going to host my Docker containers. Once you&amp;rsquo;ve decided, hit &lt;code&gt;next&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.15.02-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s where we choose the image, I&amp;rsquo;m going with the Unbuntu I downloaded earlier.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.16.46-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;The System page - I&amp;rsquo;m just leaving all the defaults and hitting &lt;code&gt;next&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.18.24-pm.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;On the Disks page, we go have a decision to make: how much drive space does this VM get. You&amp;rsquo;ll remember from our discussion about thin provisioning that we can allocate more disk than we have, but it&amp;rsquo;s not a good idea. The final decision about this is something you need to make considering the purpose of this VM and the space you&amp;rsquo;ve got available to you. You might need to google around for recommendations. It&amp;rsquo;s pretty easy to increase the disk size after your VM is created, but more difficult to reduce it.&lt;/p&gt;
&lt;p&gt;The Wizard has suggested 32GB for me, but the &lt;a href="https://linuxconfig.org/ubuntu-22-04-minimum-requirements"&gt;minimum spec is for 2.5GB&lt;/a&gt;. I am going to be downloading a few large containers, so 10GB seems like a good starting point for me.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.29.27-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Next is the CPU&amp;rsquo;s. Leave the defaults for everything, except you need to make a decision about the number of cores. My baby server only has two cores, but yours may have a eight or more. Proxmox will ration things out to some extent by time slicing - so you can easily run eight VM&amp;rsquo;s all allocated one core on a four core processor. And in fact, since a lot of them will probably just be sitting there waiting for something to happen, none of them will need to wait.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s probably a bad idea to allocate all of your cores to one VM, so I&amp;rsquo;m going to say &amp;lsquo;one&amp;rsquo; for mine, but you should also consider the processing needs of your VMs.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.44.45-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Another important consideration is the amount of memory. Again, the needs will be determined by your use case. In my case, the minimum spec is for 1GB, but I&amp;rsquo;m planning on loading up some large containers and I have 8GB in hardware. So I&amp;rsquo;ll go with 4GB. The story with the minimum memory field is a &lt;a href="https://pve.proxmox.com/pve-docs/pve-admin-guide.html#qm_memory"&gt;little bit complicated&lt;/a&gt;, but basically, setting this lower than the max memory gives Proxmox a little bit of flexibility to share it around if you&amp;rsquo;re not using it all - which sounds like a good idea, so I&amp;rsquo;ll say my minimum is 2GB.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.47.21-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Networking in a visualized environment is a whole thing. But I have simple needs and only one hardware port, so all these defaults are fine for us.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.48.50-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;The Confirm page is just a last chance to look over what we&amp;rsquo;ve chosen, then we can press &lt;code&gt;Finish&lt;/code&gt; to create our VM! A few seconds later it should be showing up in the server view. If we click on the VM in the server view, we can see the summary. It&amp;rsquo;s not very exciting yet because our machine is not running.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-3.57.42-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve highlighted the buttons we are going to use next in the image above. &lt;code&gt;Start&lt;/code&gt; is going to start the VM, and we&amp;rsquo;ll need to open the &lt;code&gt;Console&lt;/code&gt; to see what&amp;rsquo;s going on. Go ahead and click both of these now, and sit back in amazement.&lt;/p&gt;
&lt;p&gt;What happens next depends on what OS you are installing into this VM. You&amp;rsquo;ll just need to work your way through the questions accordingly. One point worth noticing though is that if is asks you questions like &amp;ldquo;Use the entire disk&amp;rdquo;, it&amp;rsquo;s talking about the virtual disk you allocated - not the physical disk.&lt;/p&gt;
&lt;p&gt;This operating system you&amp;rsquo;re installing now &lt;em&gt;doesn&amp;rsquo;t know&lt;/em&gt; it&amp;rsquo;s inside a virtual machine. Everything it sees - the machine bios, the screen, the memory - it&amp;rsquo;s all faked - and managed by Proxmox. You and Proxmox are playing god here. From the VM point of view, it could be installed directly on hardware. It doesn&amp;rsquo;t know the true nature of it&amp;rsquo;s world.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/pappademas_matrixkeanureeves.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-4.15.24-pm.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;While you are killing time waiting for your new OS to install, if you haven&amp;rsquo;t used noVNC before, it&amp;rsquo;s worth noticing the little slide in options on the left edge there.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-6.45.34-pm.png"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-28-at-6.45.34-pm.png" width="974" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I most commonly use it to force this window fullscreen, but in the &amp;ldquo;Extra Keys&amp;rdquo; button might be handy if you&amp;rsquo;re running a Windows OS and want the Windows key. I don&amp;rsquo;t love this console window - I&amp;rsquo;d rather SSH in and use my terminal, but it&amp;rsquo;s a handy tool that&amp;rsquo;s always going to work if the VM is running.&lt;/p&gt;</description></item><item><title>Proxmox Hypervisor</title><link>https://blog.iankulin.com/proxmox-hypervisor/</link><pubDate>Wed, 01 Feb 2023 00:00:00 +0000</pubDate><guid>https://blog.iankulin.com/proxmox-hypervisor/</guid><description>&lt;p&gt;I &lt;a href="https://blog.iankulin.com/pi-server/"&gt;mentioned a while ago&lt;/a&gt; that the price of the &lt;a href="https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/"&gt;Raspberry Pi4&lt;/a&gt; was getting such that it&amp;rsquo;s smarter to purchase one of the little business workstations instead. Depsite having little need for such a thing, I went ahead and bought an &lt;a href="https://support.hp.com/au-en/document/c04266271"&gt;HP Elitedesk 800 G1&lt;/a&gt; &amp;ldquo;mini&amp;rdquo; PC. It has 8GB RAM (which is the max for the Pi4) as well as a 128GB SDD, the processor is an Intel i5.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-26-at-10.54.25-am.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;This compares pretty well with the 8GB Pi4 which only has a fraction of the storage (on an SD card) at around $400. One area where the Pi would have an edge might be in power consumption - I expect it would be a bit less. One possible catch for young players is that the HP has a &amp;lsquo;display port&amp;rsquo; rather than HDMI for the screen connection, so pick up a $5 adapter if you&amp;rsquo;re getting one. The metal case and nice finishing on the HP actually looks really great in my office compared with my Pi 3b+ dev server that&amp;rsquo;s sort of hanging on the end of a cat5 cable.&lt;/p&gt;
&lt;p&gt;My reason (excuse) for getting the HP is that I&amp;rsquo;m quite interested in getting some experience with (having a play with) deploying web apps in Docker containers. I&amp;rsquo;m also thinking that having better Linux skills and some understanding of devops would be helpful for working in IT in any capacity.&lt;/p&gt;
&lt;p&gt;Virtualization (running several servers inside one physical server) has a number of benefits anyway, but when your main purpose is to fiddle around with things, it&amp;rsquo;s the perfect tool. How this works is that you have a layer between the hardware and the virtual machines (VMs) called the hypervisor. The hypervisor deals with the hardware, and allocates resources to the separate VMs it is hosting. It&amp;rsquo;s probably worth underlining separate in that sentence. The VMs can be set up to communicate via networking, or have access to shared storage, but they are running independently. If one of them crashes for some reason, the others are not affected.&lt;/p&gt;
&lt;p&gt;In practice this means that I can install and run a number of different operating systems on my server. They can be stopped, started, exported, deleted etc all without affecting each other or any &amp;lsquo;critical&amp;rsquo; systems I&amp;rsquo;ve got running in the same box. There&amp;rsquo;s a number of choices for virtualization software. Microsoft has Hyper-V, VMWare is probably the most famous and has a reduced feature, free version called ESXi. That would probably be a good choice if you want directly transferable skills as VMWare have a substantial profile in the commercial world.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://enlyft.com/tech/virtualization-platforms"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-26-at-12.40.24-pm.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But one of the missing features from ESXi is central management, and I want to play with my toys, and anyway, all the cool kids are using &lt;a href="https://www.proxmox.com/en/proxmox-ve"&gt;Proxmox&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.iankulin.com/images/screen-shot-2023-01-26-at-12.25.13-pm.png"&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-26-at-12.25.13-pm.png" width="1000" alt=""&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Like a couple of others on this list, Proxmox is built on Linux, and is a great choice for a home server setup. It is available for commercial use with different (&lt;a href="https://www.proxmox.com/en/proxmox-ve/pricing"&gt;paid&lt;/a&gt;) tiers of support.&lt;/p&gt;
&lt;h4 id="installing-proxmox"&gt;Installing Proxmox&lt;/h4&gt;
&lt;p&gt;There&amp;rsquo;s quite a few guides around for installing and setting up Proxmox, I won&amp;rsquo;t rehash all the steps here, but rather just make a couple of points, especially in relation to the HP 800 as a host.&lt;/p&gt;
&lt;p&gt;I followed &lt;a href="https://www.youtube.com/watch?v=Flw_ycAwT3E"&gt;this video from Darin Wood&lt;/a&gt;. He did lead me a bit astray by fiddling around with the storage options using the command line. That&amp;rsquo;s probably great if you are going to use an external NAS, but form my situation it would have been better to just leave all the storage defaults as they where - so when Darin gets to those commands just skip over them.&lt;/p&gt;
&lt;p&gt;If Darin is a bit dry for you, a very enthusiastic alternative might be &lt;a href="https://www.youtube.com/watch?v=Flw_ycAwT3E"&gt;this series&lt;/a&gt; from Jeremy Cioara (&lt;a href="https://www.youtube.com/watch?v=Flw_ycAwT3E"&gt;Viatto&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Other points were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I used Balena Etcher to flash the USB thumbdrive with the 7.3 &lt;a href="https://www.proxmox.com/en/downloads/category/iso-images-pve"&gt;Proxmox ISO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To get the BIOS settings on the HP, you mash the F10 key on start up, but if you just want to choose the boot device, F9 does a better job of that (because you don&amp;rsquo;t need to change it back later).&lt;/li&gt;
&lt;li&gt;A couple of places mentioned having to turn virtualization on in the BIOS of the HP - it&amp;rsquo;s in the &lt;a href="https://h30434.www3.hp.com/t5/Desktops-Archive-Read-Only/How-to-turn-on-the-virtualization-on-hp-elitedesk-800-g1/td-p/3958272"&gt;BIOS settings under security&lt;/a&gt;, but mine was already on, so perhaps it&amp;rsquo;s on by default. &lt;a href="https://en.wikipedia.org/wiki/X86_virtualization#Hardware-assisted_virtualization"&gt;AMD and Intel processors have some special features to support virtualization&lt;/a&gt;, so that&amp;rsquo;s probably what that&amp;rsquo;s about.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a couple of config files to edit so you can do the updates - this is the step to make your life a bit complicated for not paying for Proxmox support. They are well explained in all the guides.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Apart from that, I pretty much just followed all the instructions and used the defaults (I used a made up email address, and &lt;code&gt;local&lt;/code&gt; as my hostname), and I was soon up and running. The only other thing I did was go into my router settings to reserve the IP address that the Proxmox machine had picked up from the DHCP server to prevent (the low chance of) it changing in the future.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.iankulin.com/images/screen-shot-2023-01-26-at-1.29.27-pm-copy.jpg" alt=""&gt;&lt;/p&gt;</description></item></channel></rss>