{"id":1520,"date":"2024-03-11T00:34:39","date_gmt":"2024-03-11T05:34:39","guid":{"rendered":"https:\/\/zewwy.ca\/?p=1520"},"modified":"2024-03-11T00:34:39","modified_gmt":"2024-03-11T05:34:39","slug":"migrate-esxi-vm-to-proxmox","status":"publish","type":"post","link":"https:\/\/zewwy.ca\/index.php\/2024\/03\/11\/migrate-esxi-vm-to-proxmox\/","title":{"rendered":"Migrate ESXi VM to Proxmox"},"content":{"rendered":"<p>I&#8217;m going to simulate migrating to Proxmox VE in my home lab.<\/p>\n<p>I saw <a href=\"https:\/\/www.youtube.com\/watch?v=yGQK0t_h46k\">this YT video comparing the two<\/a> and gave me the urge to try it out in my home lab.<\/p>\n<p>In this test I&#8217;ll take one host from my cluster and migrate it to use <a href=\"https:\/\/www.proxmox.com\/\">Proxmox.<\/a><\/p>\n<p>Step one, move all VMs off target host.<br \/>\nStep two, remove host from cluster.<br \/>\nStep three, shutdown host.<\/p>\n<p>In this case it&#8217;s an old HP Folio laptop. Next Install PVE.<\/p>\n<p>Step one <a href=\"https:\/\/www.proxmox.com\/en\/downloads\">Download Installer.<\/a><br \/>\nStep two, Burn image or flash USB stick with image.<br \/>\nStep 3 boot laptop into PVE installer.<\/p>\n<p>I didn&#8217;t have a network cable plugged in, and in my haste I didn&#8217;t pay attention to the bridge main physical adapter, it was selected as wlo1 the wireless adapter. I <a href=\"https:\/\/www.youtube.com\/watch?v=jxW2it3v8Ps\">found references<\/a> to the bridge info being in \/etc\/network\/interfaces some reason this was only able to get pings to work. all other ports and services seemed completely unavailable.\u00a0 <a href=\"https:\/\/forum.proxmox.com\/threads\/cant-connect-to-web-gui-from-windows.106675\/\">Much like this person<\/a>, I simply did a reinstall (this time minding the physical port on network config). Then got it working.<\/p>\n<p>First issue I had was it poping up saying Error Code 100 on apt-get update.<\/p>\n<p>Using the built in shell feature was pretty nice, use it <a href=\"https:\/\/pve.proxmox.com\/wiki\/Package_Repositories#sysadmin_no_subscription_repo\">to follow this to change<\/a> the sources to use no-subscription repos.<\/p>\n<p>The next question was, how can I setup another IP thats vlan tagged.<\/p>\n<p>I thought I had it when I created a &#8220;Linux VLAN&#8221;, and defining it an IP within that subnet and tagging the VLAN ID. I was able to get ping replies, even from my machine in a different subnet, I couldn&#8217;t define the gateway since it stated it was defined on the bridge, make sense for a single stack. I figured it was cause ICMP is UDP and doesn&#8217;t rely on same paths (session handshakes) and this was probably why the web interface was not loading. I verified this by connecting a different machine into the same subnet and it loaded the web interface find, further validating my assumptions.<\/p>\n<p>However when I removed the gateway from the bridge and provided the correct gateway for the VLAN subnet I defined, the wen interface still wasn&#8217;t loading from my alternative subnetting machine. Checking the shell in the web interface I see it lost connectivity to anything outside it&#8217;s network ( I guess the gateway change didn&#8217;t apply properly) or some other ignorance on my part on how Proxmox works.<\/p>\n<p>I guess I&#8217;ll leave the more advanced networking for later. (I don&#8217;t get why all other hypervisors get this part so wrong\/hard, when VMware makes it so easy, it&#8217;s a checkbox and you simply define the VLAN ID in, it&#8217;s not hard&#8230;) Anyway I simply reverted the gateway back to the bridge. Can figure that out later.<\/p>\n<p>So how to convert a VM to run on ProxMox?<\/p>\n<p>Option 1) <a href=\"https:\/\/unixcop.com\/migrate-virtual-machine-from-vmware-esxi-to-proxmox-ve\/\">Manually convert from VMDK to QCOW2<\/a><\/p>\n<p>or<\/p>\n<p>Option 2) <a href=\"https:\/\/forum.proxmox.com\/threads\/migration-from-vmware-esxi-to-proxmox.130079\/\">Convert to OVF and deploy that.<\/a><\/p>\n<p>In both options it seems you need a mid point to store the data. In option 1 you need to use local storage on a Linux VM, almost twice it seems once to hold the VMDK, and then enough space to also hold the QCOW2 converted file. In option 2 the OP used an external drive source to hold the converted OVF file on before using that to deploy the OVF to a ProxMox host.<\/p>\n<p>I decided to try option 1. So I spun up a Linux machine on my gaming rig (Since I still have Workstation and lots of RAM and a spindle drive with lots of storage). I picked Fedora Workstation, and installed openssh-server, then (after a while, realizing to open firewall out on the ESXi server for ssh), transferred the vmdk to the fedora VM:<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/DAu5cU4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/DAu5cU4.png\" alt=\"\" width=\"1734\" height=\"1016\" \/><\/a><\/p>\n<p>106 MB\/s not bad&#8230;<\/p>\n<p>Then installed the tools on the fedora VM:<\/p>\n<pre>yum install -y qemu-img<\/pre>\n<p>NM it was already installed and converted it&#8230;<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/Rs6jZ83.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/Rs6jZ83.png\" alt=\"\" width=\"1500\" height=\"845\" \/><\/a><\/p>\n<p>On Proxmox I couldn&#8217;t figure out where the VM files where located &#8220;lvm-thin&#8221; by default install. <a href=\"https:\/\/forum.proxmox.com\/threads\/local-lvm.116289\/\">I found this thread<\/a> and did the same steps to get a path available on the PVE host itself. Then used scp to copy the file to the PVE server.<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/ql5ZUpb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/ql5ZUpb.png\" alt=\"\" width=\"2544\" height=\"786\" \/><\/a><\/p>\n<p>After copying the file to the PVE server, ran the commands to create the VM and attach the hdd.<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/kari6HK.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/kari6HK.png\" alt=\"\" width=\"2045\" height=\"563\" \/><\/a><\/p>\n<p>After which I tried booting the VM and it wouldn&#8217;t catch the disk and failed to boot, then I switched the disk type from SCSI to SATA, but then the VM would boot and then blue screen, even after configuring safe mode boot. I found my answer here: <a href=\"https:\/\/forum.proxmox.com\/threads\/unable-to-get-windows-to-boot-without-bluescreen.101136\/\">Unable to get windows to boot without bluescreen | Proxmox Support Forum<\/a><\/p>\n<p>&#8220;Thank you, switching the SCSI Controller to LSI 53C895A from VirtIO SCSI and the bus on the disk to IDE got it to boot&#8221;.<\/p>\n<p>I also used this moment to uninstall VMware tools.<\/p>\n<p>Then I had <a href=\"https:\/\/askubuntu.com\/questions\/1310440\/using-virtio-win-drivers-with-win7-sp1-x64\">no network, and realized I needed the VirtIO drivers<\/a>.<\/p>\n<p>If you try to run the installer it will say needs Win 8 or higher, but as pvgoran stated &#8220;I see. I wasn&#8217;t even aware there was an installer to begin with, I just used the device manager.&#8221;<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/BrhfIBJ.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/i.imgur.com\/BrhfIBJ.png\" alt=\"\" width=\"1334\" height=\"998\" \/><\/a><\/p>\n<p>That took longer then I wanted and took a lot of data space too, so not an efficient method, but it works.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m going to simulate migrating to Proxmox VE in my home lab. I saw this YT video comparing the two and gave me the urge to try it out in my home lab. In this test I&#8217;ll take one host from my cluster and migrate it to use Proxmox. Step one, move all VMs off &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/zewwy.ca\/index.php\/2024\/03\/11\/migrate-esxi-vm-to-proxmox\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Migrate ESXi VM to Proxmox&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","footnotes":""},"categories":[5],"tags":[45,456,345,88],"class_list":["post-1520","post","type-post","status-publish","format-standard","hentry","category-hypervisors","tag-migration","tag-proxmox","tag-vm","tag-vmware"],"_links":{"self":[{"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/posts\/1520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/comments?post=1520"}],"version-history":[{"count":2,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/posts\/1520\/revisions"}],"predecessor-version":[{"id":1523,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/posts\/1520\/revisions\/1523"}],"wp:attachment":[{"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/media?parent=1520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/categories?post=1520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zewwy.ca\/index.php\/wp-json\/wp\/v2\/tags?post=1520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}