{"id":61324,"date":"2024-04-16T09:00:59","date_gmt":"2024-04-16T07:00:59","guid":{"rendered":"https:\/\/nolabnoparty.com\/?p=61324"},"modified":"2024-04-16T12:14:10","modified_gmt":"2024-04-16T10:14:10","slug":"proxmox-configure-high-availability-ha","status":"publish","type":"post","link":"https:\/\/nolabnoparty.com\/en\/proxmox-configure-high-availability-ha\/","title":{"rendered":"Proxmox: configure High Availability (HA)"},"content":{"rendered":"<p><img decoding=\"async\" class=\"aligncenter wp-image-61331 size-full\" title=\"proxmox-configure-high-availability-01\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-01.jpg\" alt=\"proxmox-configure-high-availability-01\" width=\"602\" height=\"202\" \/><\/p>\n<p>The <a href=\"https:\/\/www.proxmox.com\/en\/\" target=\"_blank\" rel=\"noopener\">Proxmox<\/a> High Availability cluster feature allows to <strong>automatically migrate VMs<\/strong> to another cluster member node if the node where the VMs run goes down.<\/p>\n<p>This feature guarantees the maximum VM availability <strong>reducing the downtime of the VM<\/strong> in case the node on which the VM is running fails.<!--more--><\/p>\n<p>To configure HA, you need a working <a href=\"https:\/\/nolabnoparty.com\/en\/create-a-proxmox-cluster\/\">Proxmox cluster<\/a>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61333 size-large\" title=\"proxmox-configure-high-availability-02\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-02-600x205.jpg\" alt=\"proxmox-configure-high-availability-02\" width=\"600\" height=\"205\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Create a Virtual Machine<\/h2>\n<p>To test High Availability we need to have <strong>one or more VMs running<\/strong> in the Proxmox cluster.<\/p>\n<p>To create a new VM, right click a Proxmox node and select <strong>Create VM<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61335 size-large\" title=\"proxmox-configure-high-availability-03\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-03-600x293.jpg\" alt=\"proxmox-configure-high-availability-03\" width=\"600\" height=\"293\" \/><\/p>\n<p>Assign a VM <strong>Name<\/strong> and click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61337 size-large\" title=\"proxmox-configure-high-availability-04\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-04-600x450.jpg\" alt=\"proxmox-configure-high-availability-04\" width=\"600\" height=\"450\" \/><\/p>\n<p>Specify how the OS should be installed. If you have an ISO available, select <strong>Use CD\/DVD disc image file (iso)<\/strong> option and specify both <strong>Storage<\/strong> and <strong>ISO image<\/strong> to use. Click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61339 size-large\" title=\"proxmox-configure-high-availability-05\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-05-600x450.jpg\" alt=\"proxmox-configure-high-availability-05\" width=\"600\" height=\"450\" \/><\/p>\n<p>If you don't have specific requirements, click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61341 size-large\" title=\"proxmox-configure-high-availability-06\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-06-600x450.jpg\" alt=\"proxmox-configure-high-availability-06\" width=\"600\" height=\"450\" \/><\/p>\n<p>Select the <strong>Storage<\/strong> to save the VM and click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61343 size-large\" title=\"proxmox-configure-high-availability-07\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-07-600x450.jpg\" alt=\"proxmox-configure-high-availability-07\" width=\"600\" height=\"450\" \/><\/p>\n<p>Specify <strong>Sockets<\/strong> and <strong>Cores<\/strong> for the VM then click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61345 size-large\" title=\"proxmox-configure-high-availability-08\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-08-600x450.jpg\" alt=\"proxmox-configure-high-availability-08\" width=\"600\" height=\"450\" \/><\/p>\n<p>Specify the amount of <strong>Memory (MiB)<\/strong> to assign to the VM. Click <strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61347 size-large\" title=\"proxmox-configure-high-availability-09\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-09-600x450.jpg\" alt=\"proxmox-configure-high-availability-09\" width=\"600\" height=\"450\" \/><\/p>\n<p>If you have any in your network, specify the <strong>VLAN Tag<\/strong> used by the VM. Click\u00a0<strong>Next<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61349 size-large\" title=\"proxmox-configure-high-availability-10\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-10-600x450.jpg\" alt=\"proxmox-configure-high-availability-10\" width=\"600\" height=\"450\" \/><\/p>\n<p>Enable <strong>Start after created<\/strong> option and click <strong>Finish<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61351 size-large\" title=\"proxmox-configure-high-availability-11\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-11-600x450.jpg\" alt=\"proxmox-configure-high-availability-11\" width=\"600\" height=\"450\" \/><\/p>\n<p>The VM is being created.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61353 size-large\" title=\"proxmox-configure-high-availability-12\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-12-600x292.jpg\" alt=\"proxmox-configure-high-availability-12\" width=\"600\" height=\"292\" \/><\/p>\n<p>Select the VM and click <strong>Console<\/strong> to configure the OS.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61355 size-large\" title=\"proxmox-configure-high-availability-13\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-13-600x277.jpg\" alt=\"proxmox-configure-high-availability-13\" width=\"600\" height=\"277\" \/><\/p>\n<p>After completing the procedure, the created VMs are <strong>up and running<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61357 size-large\" title=\"proxmox-configure-high-availability-14\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-14-600x280.jpg\" alt=\"proxmox-configure-high-availability-14\" width=\"600\" height=\"280\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Configure High Availability<\/h2>\n<p>To guarantee the maximum availability reducing the VM downtime, the system should be configured to leverage the High Availability (HA) feature.<\/p>\n<p>To configure Proxmox High Availability, <strong>some prerequisites<\/strong> must be met:<\/p>\n<ul>\n<li>At least <strong>three nodes cluster<\/strong> should be used to have\u00a0a reliable quorum (the configuration supports up to 16 nodes).<\/li>\n<li>A <strong>two nodes cluster is also possible<\/strong>, but it has some limitations.<\/li>\n<li>A shared storage.<\/li>\n<li>The Proxmox nodes must have the <strong>same version<\/strong> installed.<\/li>\n<\/ul>\n<p>Go to <strong>Datacenter &gt; HA <\/strong>and click <strong>Add<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61359 size-large\" title=\"proxmox-configure-high-availability-15\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-15-600x338.jpg\" alt=\"proxmox-configure-high-availability-15\" width=\"600\" height=\"338\" \/><\/p>\n<p>Select from the <strong>VM<\/strong> drop-down menu the virtual machine to protect with HA.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61361 size-large\" title=\"proxmox-configure-high-availability-16\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-16-600x231.jpg\" alt=\"proxmox-configure-high-availability-16\" width=\"600\" height=\"231\" \/><\/p>\n<p>Optionally add a <strong>Comment<\/strong> then click <strong>Add<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61363 size-large\" title=\"proxmox-configure-high-availability-17\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-17-600x222.jpg\" alt=\"proxmox-configure-high-availability-17\" width=\"600\" height=\"222\" \/><\/p>\n<p>The selected VM is now protected by High Availability.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61365 size-large\" title=\"proxmox-configure-high-availability-18\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-18-600x333.jpg\" alt=\"proxmox-configure-high-availability-18\" width=\"600\" height=\"333\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Test High Availability<\/h2>\n<p>Unplug the node 01 from the network to <strong>simulate a failure<\/strong>\u00a0(in the example a <a href=\"https:\/\/nolabnoparty.com\/en\/install-a-nested-proxmox-in-vmware\/\">nested Proxmox cluster<\/a> has been used).<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61367 size-large\" title=\"proxmox-configure-high-availability-19\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-19-600x449.jpg\" alt=\"proxmox-configure-high-availability-19\" width=\"600\" height=\"449\" \/><\/p>\n<p>The \"failed\" node is now <strong>displayed as offline<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61369 size-large\" title=\"proxmox-configure-high-availability-20\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-20-600x312.jpg\" alt=\"proxmox-configure-high-availability-20\" width=\"600\" height=\"312\" \/><\/p>\n<p>The VM protected by HA <strong>stops responding to ping<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61371 size-full\" title=\"proxmox-configure-high-availability-21\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-21.jpg\" alt=\"proxmox-configure-high-availability-21\" width=\"600\" height=\"227\" \/><\/p>\n<p>After few seconds the <strong>VM with HA is migrated to another node<\/strong> of the cluster (<em>pxmox02<\/em> node in the example). The VMs not protected by HA will stop working.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61373 size-large\" title=\"proxmox-configure-high-availability-22\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-22-600x388.jpg\" alt=\"proxmox-configure-high-availability-22\" width=\"600\" height=\"388\" \/><\/p>\n<p>HA <strong>powers on<\/strong> the protected VM on the node.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61375 size-large\" title=\"proxmox-configure-high-availability-23\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-23-600x343.jpg\" alt=\"proxmox-configure-high-availability-23\" width=\"600\" height=\"343\" \/><\/p>\n<p>The VM is now <strong>responding to ping<\/strong> restoring its normal functionality.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61377 size-full\" title=\"proxmox-configure-high-availability-24\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-24.jpg\" alt=\"proxmox-configure-high-availability-24\" width=\"600\" height=\"195\" \/><\/p>\n<p>The migrated VM is now running on the new node.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61379 size-large\" title=\"proxmox-configure-high-availability-25\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-25-600x386.jpg\" alt=\"proxmox-configure-high-availability-25\" width=\"600\" height=\"386\" \/><\/p>\n<p>The VMs not protected by HA must be <strong>started manually<\/strong>\u00a0once the failed node has been resumed.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61381 size-large\" title=\"proxmox-configure-high-availability-26\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-26-600x370.jpg\" alt=\"proxmox-configure-high-availability-26\" width=\"600\" height=\"370\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Configure High Availability using Groups<\/h2>\n<p>Compared to the previous configuration, the use of a HA Group extends the set of available operations when HA is triggered, such as Restricted, Nofailback and the Nodes to use during the VMs migration.<\/p>\n<p>For example if you want to <strong>migrate VMs only to specific Nodes<\/strong>, the use of HA Groups allows you to achieve that goal.<\/p>\n<p>To create a new HA Group, select <strong>Datacenter &gt; HA &gt; Groups<\/strong> and click <strong>Create<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61383 size-large\" title=\"proxmox-configure-high-availability-27\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-27-600x380.jpg\" alt=\"proxmox-configure-high-availability-27\" width=\"600\" height=\"380\" \/><\/p>\n<p>In the <strong>Create HA Group<\/strong> wizard, specify the requested options during HA operation:<\/p>\n<ul>\n<li><strong>ID<\/strong> - Name of the HA Group.<\/li>\n<li><strong>Restricted<\/strong> - VMs will run only on nodes belonging to this group.<\/li>\n<li><strong>Nofailback<\/strong> - VMs will be moved back to the failed node once it recovers. To avoid massive VMs migrations is recommended to enable this feature.<\/li>\n<li><strong>Node<\/strong> - Select which nodes should be included in this group.<\/li>\n<\/ul>\n<p>Click <strong>Create<\/strong> when done.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61385 size-large\" title=\"proxmox-configure-high-availability-28\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-28-600x492.jpg\" alt=\"proxmox-configure-high-availability-28\" width=\"600\" height=\"492\" \/><\/p>\n<p>The created HA Group.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61387 size-large\" title=\"proxmox-configure-high-availability-29\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-29-600x314.jpg\" alt=\"proxmox-configure-high-availability-29\" width=\"600\" height=\"314\" \/><\/p>\n<p>Now select <strong>HA<\/strong> section and click <strong>Add<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61389 size-large\" title=\"proxmox-configure-high-availability-30\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-30-600x316.jpg\" alt=\"proxmox-configure-high-availability-30\" width=\"600\" height=\"316\" \/><\/p>\n<p>Select the <strong>VM<\/strong> to protect and the <strong>Group<\/strong> to use. Click <strong>Add<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61391 size-large\" title=\"proxmox-configure-high-availability-31\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-31-600x165.jpg\" alt=\"proxmox-configure-high-availability-31\" width=\"600\" height=\"165\" \/><\/p>\n<p>The VM is now configured to leverage HA capabilities <strong>using the selected HA Group<\/strong>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-61393 size-large\" title=\"proxmox-configure-high-availability-32\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/2024\/04\/proxmox-configure-high-availability-32-600x292.jpg\" alt=\"proxmox-configure-high-availability-32\" width=\"600\" height=\"292\" \/><\/p>\n<p>If mission critical VMs are running in your Proxmox cluster, enabling HA ensure maximum availability <strong>minimizing the service disruption<\/strong>.<\/p>\n<p><img decoding=\"async\" title=\"signature\" src=\"https:\/\/nolabnoparty.com\/wp-content\/uploads\/images\/firma.jpg\" alt=\"signature\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Proxmox High Availability cluster feature allows to automatically migrate VMs to another cluster member node if the node where the VMs run goes down. This feature guarantees the maximum VM availability reducing the downtime of the VM in case the node on which the VM is running fails.<\/p>\n","protected":false},"author":3,"featured_media":61331,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":{"facebook_2879994398731222_17841400390232720":"","mastodon_115463926174894442_115463926174894442":"","linkedin_93tdZWzMZc_93tdZWzMZc":"","bluesky_did:plc:tkabz5kl2rukzdwtuongv3kz_did:plc:tkabz5kl2rukzdwtuongv3kz":""},"rop_publish_now_history":[],"rop_publish_now_status":"pending","footnotes":""},"categories":[2798],"tags":[1805,2795,1676],"class_list":["post-61324","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proxmox-en","tag-high-availability","tag-proxmox","tag-virtualization","has_thumb"],"_links":{"self":[{"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/posts\/61324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/comments?post=61324"}],"version-history":[{"count":0,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/posts\/61324\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/media\/61331"}],"wp:attachment":[{"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/media?parent=61324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/categories?post=61324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nolabnoparty.com\/en\/wp-json\/wp\/v2\/tags?post=61324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}