[{"data":1,"prerenderedAt":1112},["ShallowReactive",2],{"blog-en-proxmox-high-availability-setup":3,"blog-en-proxmox-high-availability-setup-alt":207},{"id":4,"title":5,"author":6,"body":7,"date":1097,"description":1098,"extension":1099,"image":175,"locale":1100,"meta":1101,"navigation":207,"path":1102,"seo":1103,"stem":1104,"tags":1105,"__hash__":1111},"blog\u002Fblog\u002Fen\u002Fproxmox-high-availability-setup.md","Proxmox HA Cluster Setup and Operations: Maximizing Availability","Kubo Team",{"type":8,"value":9,"toc":1072},"minimark",[10,22,31,36,45,50,91,158,162,166,169,249,253,260,263,355,358,362,371,462,470,474,481,485,488,546,550,553,637,649,653,657,660,737,741,749,769,773,776,818,822,826,829,891,895,902,923,927,930,992,1001,1005,1008,1015,1024,1029,1068],[11,12,13,14,21],"p",{},"Eliminating single points of failure is the top priority when operating mission-critical workloads. ",[15,16,20],"a",{"href":17,"rel":18},"https:\u002F\u002Fwww.proxmox.com\u002Fen\u002Fproxmox-virtual-environment\u002Foverview",[19],"nofollow","Proxmox VE"," features built-in HA (High Availability) that automatically fails over VMs and containers to other nodes when a node goes down, minimizing service downtime. This article provides a detailed walkthrough of building and operating a Proxmox HA cluster.",[11,23,24,25,30],{},"For high availability across Kubernetes workloads, ",[15,26,29],{"href":27,"rel":28},"https:\u002F\u002Fwww.hexabase.com\u002Fproduct\u002Fkubo\u002Fon-premise",[19],"Kubo On-Premise"," is the ideal solution. Combining Proxmox HA with fully managed K8s delivers consistent availability from infrastructure through to applications.",[32,33,35],"h2",{"id":34},"ha-cluster-prerequisites","HA Cluster Prerequisites",[11,37,38,39,44],{},"Based on the ",[15,40,43],{"href":41,"rel":42},"https:\u002F\u002Fpve.proxmox.com\u002Fwiki\u002FHigh_Availability",[19],"Proxmox official HA documentation",", the following prerequisites must be met.",[46,47,49],"h3",{"id":48},"hardware-requirements","Hardware Requirements",[51,52,53,61,67,73,85],"ul",{},[54,55,56,60],"li",{},[57,58,59],"strong",{},"Minimum 3 nodes",": Required for the quorum (majority vote) mechanism. 2-node setups can use a Corosync QDevice as a tiebreaker",[54,62,63,66],{},[57,64,65],{},"Shared storage",": Storage accessible from all nodes (Ceph, NFS, iSCSI, or FC)",[54,68,69,72],{},[57,70,71],{},"Redundant network",": Dedicated network for Corosync communication (10 GbE recommended)",[54,74,75,78,79,84],{},[57,76,77],{},"OOBM (Out-of-Band Management)",": Remote management interfaces such as ",[15,80,83],{"href":81,"rel":82},"https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fproducts\u002Fdocs\u002Fservers\u002Fipmi\u002Fipmi-home.html",[19],"IPMI",", Dell iDRAC, or HPE iLO",[54,86,87,90],{},[57,88,89],{},"Hardware Watchdog",": Hardware timer such as iTCO_wdt (Intel)",[92,93,94,110],"table",{},[95,96,97],"thead",{},[98,99,100,104,107],"tr",{},[101,102,103],"th",{},"Component",[101,105,106],{},"Role",[101,108,109],{},"Recommendation",[111,112,113,125,136,147],"tbody",{},[98,114,115,119,122],{},[116,117,118],"td",{},"Corosync",[116,120,121],{},"Inter-node communication and state sync",[116,123,124],{},"Dedicated 10 GbE network",[98,126,127,130,133],{},[116,128,129],{},"Shared Storage",[116,131,132],{},"VM\u002FCT data sharing",[116,134,135],{},"Ceph (recommended) \u002F NFS",[98,137,138,141,144],{},[116,139,140],{},"Fencing",[116,142,143],{},"Forced isolation of failed nodes",[116,145,146],{},"IPMI + Watchdog",[98,148,149,152,155],{},[116,150,151],{},"QDevice",[116,153,154],{},"Tiebreaker for 2-node setups",[116,156,157],{},"Corosync QDevice",[32,159,161],{"id":160},"building-the-cluster","Building the Cluster",[46,163,165],{"id":164},"creating-the-proxmox-cluster","Creating the Proxmox Cluster",[11,167,168],{},"Create the cluster on the first node, then join additional nodes:",[170,171,176],"pre",{"className":172,"code":173,"language":174,"meta":175,"style":175},"language-bash shiki shiki-themes tokyo-night","# Create cluster on Node 1\npvecm create my-ha-cluster\n\n# Join Nodes 2 and 3 (run on each joining node)\npvecm add 192.168.1.10  # Node 1's IP\n\n# Verify cluster status\npvecm status\n","bash","",[177,178,179,188,202,209,215,230,235,241],"code",{"__ignoreMap":175},[180,181,184],"span",{"class":182,"line":183},"line",1,[180,185,187],{"class":186},"sbD-w","# Create cluster on Node 1\n",[180,189,191,195,199],{"class":182,"line":190},2,[180,192,194],{"class":193},"sE3pS","pvecm",[180,196,198],{"class":197},"sPY7s"," create",[180,200,201],{"class":197}," my-ha-cluster\n",[180,203,205],{"class":182,"line":204},3,[180,206,208],{"emptyLinePlaceholder":207},true,"\n",[180,210,212],{"class":182,"line":211},4,[180,213,214],{"class":186},"# Join Nodes 2 and 3 (run on each joining node)\n",[180,216,218,220,223,227],{"class":182,"line":217},5,[180,219,194],{"class":193},[180,221,222],{"class":197}," add",[180,224,226],{"class":225},"sOJ5S"," 192.168.1.10",[180,228,229],{"class":186},"  # Node 1's IP\n",[180,231,233],{"class":182,"line":232},6,[180,234,208],{"emptyLinePlaceholder":207},[180,236,238],{"class":182,"line":237},7,[180,239,240],{"class":186},"# Verify cluster status\n",[180,242,244,246],{"class":182,"line":243},8,[180,245,194],{"class":193},[180,247,248],{"class":197}," status\n",[46,250,252],{"id":251},"configuring-the-corosync-network","Configuring the Corosync Network",[11,254,255,259],{},[15,256,118],{"href":257,"rel":258},"https:\u002F\u002Fcorosync.github.io\u002Fcorosync\u002F",[19]," is the heartbeat of the cluster, managing inter-node communication and state synchronization. A reliable, low-latency network is essential. Packet loss or high jitter can cause node evictions and cluster instability.",[11,261,262],{},"Creating a separate bonded link exclusively for Corosync is strongly recommended:",[170,264,266],{"className":172,"code":265,"language":174,"meta":175,"style":175},"# Check Corosync configuration\ncat \u002Fetc\u002Fpve\u002Fcorosync.conf\n\n# Network interface bonding example\n# Add to \u002Fetc\u002Fnetwork\u002Finterfaces\nauto bond0\niface bond0 inet static\n    address 10.10.10.1\u002F24\n    bond-slaves eno3 eno4\n    bond-mode 802.3ad\n    bond-miimon 100\n",[177,267,268,273,281,285,290,295,303,317,325,337,346],{"__ignoreMap":175},[180,269,270],{"class":182,"line":183},[180,271,272],{"class":186},"# Check Corosync configuration\n",[180,274,275,278],{"class":182,"line":190},[180,276,277],{"class":193},"cat",[180,279,280],{"class":197}," \u002Fetc\u002Fpve\u002Fcorosync.conf\n",[180,282,283],{"class":182,"line":204},[180,284,208],{"emptyLinePlaceholder":207},[180,286,287],{"class":182,"line":211},[180,288,289],{"class":186},"# Network interface bonding example\n",[180,291,292],{"class":182,"line":217},[180,293,294],{"class":186},"# Add to \u002Fetc\u002Fnetwork\u002Finterfaces\n",[180,296,297,300],{"class":182,"line":232},[180,298,299],{"class":193},"auto",[180,301,302],{"class":197}," bond0\n",[180,304,305,308,311,314],{"class":182,"line":237},[180,306,307],{"class":193},"iface",[180,309,310],{"class":197}," bond0",[180,312,313],{"class":197}," inet",[180,315,316],{"class":197}," static\n",[180,318,319,322],{"class":182,"line":243},[180,320,321],{"class":193},"    address",[180,323,324],{"class":197}," 10.10.10.1\u002F24\n",[180,326,328,331,334],{"class":182,"line":327},9,[180,329,330],{"class":193},"    bond-slaves",[180,332,333],{"class":197}," eno3",[180,335,336],{"class":197}," eno4\n",[180,338,340,343],{"class":182,"line":339},10,[180,341,342],{"class":193},"    bond-mode",[180,344,345],{"class":197}," 802.3ad\n",[180,347,349,352],{"class":182,"line":348},11,[180,350,351],{"class":193},"    bond-miimon",[180,353,354],{"class":225}," 100\n",[11,356,357],{},"Corosync link settings can be managed from the Web UI under Datacenter, then Cluster. In production, always configure at least 2 links (rings) to eliminate single points of failure.",[46,359,361],{"id":360},"configuring-shared-storage","Configuring Shared Storage",[11,363,364,365,370],{},"HA resources must reside on shared storage accessible from all nodes. ",[15,366,369],{"href":367,"rel":368},"https:\u002F\u002Fpve.proxmox.com\u002Fwiki\u002FDeploy_Hyper-Converged_Ceph_Cluster",[19],"Ceph"," is the most recommended option for hyper-converged deployments:",[170,372,374],{"className":172,"code":373,"language":174,"meta":175,"style":175},"# Install Ceph (run on each node)\npveceph install\n\n# Create monitors (run on each node)\npveceph mon create\n\n# Add OSDs\npveceph osd create \u002Fdev\u002Fsdb\npveceph osd create \u002Fdev\u002Fsdc\n\n# Create Ceph pool\npveceph pool create vm-pool\n",[177,375,376,381,389,393,398,408,412,417,429,440,444,449],{"__ignoreMap":175},[180,377,378],{"class":182,"line":183},[180,379,380],{"class":186},"# Install Ceph (run on each node)\n",[180,382,383,386],{"class":182,"line":190},[180,384,385],{"class":193},"pveceph",[180,387,388],{"class":197}," install\n",[180,390,391],{"class":182,"line":204},[180,392,208],{"emptyLinePlaceholder":207},[180,394,395],{"class":182,"line":211},[180,396,397],{"class":186},"# Create monitors (run on each node)\n",[180,399,400,402,405],{"class":182,"line":217},[180,401,385],{"class":193},[180,403,404],{"class":197}," mon",[180,406,407],{"class":197}," create\n",[180,409,410],{"class":182,"line":232},[180,411,208],{"emptyLinePlaceholder":207},[180,413,414],{"class":182,"line":237},[180,415,416],{"class":186},"# Add OSDs\n",[180,418,419,421,424,426],{"class":182,"line":243},[180,420,385],{"class":193},[180,422,423],{"class":197}," osd",[180,425,198],{"class":197},[180,427,428],{"class":197}," \u002Fdev\u002Fsdb\n",[180,430,431,433,435,437],{"class":182,"line":327},[180,432,385],{"class":193},[180,434,423],{"class":197},[180,436,198],{"class":197},[180,438,439],{"class":197}," \u002Fdev\u002Fsdc\n",[180,441,442],{"class":182,"line":339},[180,443,208],{"emptyLinePlaceholder":207},[180,445,446],{"class":182,"line":348},[180,447,448],{"class":186},"# Create Ceph pool\n",[180,450,452,454,457,459],{"class":182,"line":451},12,[180,453,385],{"class":193},[180,455,456],{"class":197}," pool",[180,458,198],{"class":197},[180,460,461],{"class":197}," vm-pool\n",[11,463,464,469],{},[15,465,468],{"href":466,"rel":467},"https:\u002F\u002Fkubo.hexabase.io\u002F",[19],"Kubo"," automates complex distributed storage configuration and provides Kubernetes-optimized persistent volumes out of the box.",[32,471,473],{"id":472},"configuring-fencing","Configuring Fencing",[11,475,476,477,480],{},"Fencing is the most critical safety mechanism in an HA cluster. ",[15,478,140],{"href":41,"rel":479},[19]," prevents the \"split-brain\" scenario where a failed node continues writing to shared storage. If an unresponsive node is actually still running and writing to shared disks while another node starts the same VM, data corruption will occur.",[46,482,484],{"id":483},"watchdog-configuration","Watchdog Configuration",[11,486,487],{},"A hardware Watchdog automatically reboots a node when regular timer resets stop occurring:",[170,489,491],{"className":172,"code":490,"language":174,"meta":175,"style":175},"# Configure Watchdog module\n# \u002Fetc\u002Fdefault\u002Fpve-ha-manager\nWATCHDOG_MODULE=iTCO_wdt\n\n# Verify Watchdog operation\nwdctl\n\n# Falls back to softdog when hardware watchdog unavailable\nmodprobe softdog\n",[177,492,493,498,503,515,519,524,529,533,538],{"__ignoreMap":175},[180,494,495],{"class":182,"line":183},[180,496,497],{"class":186},"# Configure Watchdog module\n",[180,499,500],{"class":182,"line":190},[180,501,502],{"class":186},"# \u002Fetc\u002Fdefault\u002Fpve-ha-manager\n",[180,504,505,508,512],{"class":182,"line":204},[180,506,507],{"class":193},"WATCHDOG_MODULE",[180,509,511],{"class":510},"sAklC","=",[180,513,514],{"class":197},"iTCO_wdt\n",[180,516,517],{"class":182,"line":211},[180,518,208],{"emptyLinePlaceholder":207},[180,520,521],{"class":182,"line":217},[180,522,523],{"class":186},"# Verify Watchdog operation\n",[180,525,526],{"class":182,"line":232},[180,527,528],{"class":193},"wdctl\n",[180,530,531],{"class":182,"line":237},[180,532,208],{"emptyLinePlaceholder":207},[180,534,535],{"class":182,"line":243},[180,536,537],{"class":186},"# Falls back to softdog when hardware watchdog unavailable\n",[180,539,540,543],{"class":182,"line":327},[180,541,542],{"class":193},"modprobe",[180,544,545],{"class":197}," softdog\n",[46,547,549],{"id":548},"ipmi-fencing","IPMI Fencing",[11,551,552],{},"IPMI-based fencing can forcefully power off nodes over the network:",[170,554,556],{"className":172,"code":555,"language":174,"meta":175,"style":175},"# Check node power status via IPMI\nipmitool -I lanplus -H 192.168.1.200 -U admin -P password chassis power status\n\n# Force power off\nipmitool -I lanplus -H 192.168.1.200 -U admin -P password chassis power off\n",[177,557,558,563,601,605,610],{"__ignoreMap":175},[180,559,560],{"class":182,"line":183},[180,561,562],{"class":186},"# Check node power status via IPMI\n",[180,564,565,568,572,575,578,581,584,587,590,593,596,599],{"class":182,"line":190},[180,566,567],{"class":193},"ipmitool",[180,569,571],{"class":570},"sT800"," -I",[180,573,574],{"class":197}," lanplus",[180,576,577],{"class":570}," -H",[180,579,580],{"class":225}," 192.168.1.200",[180,582,583],{"class":570}," -U",[180,585,586],{"class":197}," admin",[180,588,589],{"class":570}," -P",[180,591,592],{"class":197}," password",[180,594,595],{"class":197}," chassis",[180,597,598],{"class":197}," power",[180,600,248],{"class":197},[180,602,603],{"class":182,"line":204},[180,604,208],{"emptyLinePlaceholder":207},[180,606,607],{"class":182,"line":211},[180,608,609],{"class":186},"# Force power off\n",[180,611,612,614,616,618,620,622,624,626,628,630,632,634],{"class":182,"line":217},[180,613,567],{"class":193},[180,615,571],{"class":570},[180,617,574],{"class":197},[180,619,577],{"class":570},[180,621,580],{"class":225},[180,623,583],{"class":570},[180,625,586],{"class":197},[180,627,589],{"class":570},[180,629,592],{"class":197},[180,631,595],{"class":197},[180,633,598],{"class":197},[180,635,636],{"class":197}," off\n",[11,638,639,642,643,648],{},[57,640,641],{},"Critical",": ",[15,644,647],{"href":645,"rel":646},"https:\u002F\u002Fwww.virtualizationhowto.com\u002F2025\u002F07\u002Fhigh-availability-ha-proxmox-clusters-dos-donts\u002F",[19],"Out-of-band management (OOBM)"," is not a luxury in a Proxmox HA cluster -- it is a hard requirement for reliable fencing.",[32,650,652],{"id":651},"managing-ha-resources","Managing HA Resources",[46,654,656],{"id":655},"enabling-ha","Enabling HA",[11,658,659],{},"Place VMs and containers under HA management:",[170,661,663],{"className":172,"code":662,"language":174,"meta":175,"style":175},"# Register VM 100 for HA\nha-manager add vm:100 --state started --max-restart 2 --max-relocate 2\n\n# List HA resources\nha-manager status\n\n# Modify HA resource settings\nha-manager set vm:100 --group prefer-node1\n",[177,664,665,670,698,702,707,713,717,722],{"__ignoreMap":175},[180,666,667],{"class":182,"line":183},[180,668,669],{"class":186},"# Register VM 100 for HA\n",[180,671,672,675,677,680,683,686,689,692,695],{"class":182,"line":190},[180,673,674],{"class":193},"ha-manager",[180,676,222],{"class":197},[180,678,679],{"class":197}," vm:100",[180,681,682],{"class":570}," --state",[180,684,685],{"class":197}," started",[180,687,688],{"class":570}," --max-restart",[180,690,691],{"class":225}," 2",[180,693,694],{"class":570}," --max-relocate",[180,696,697],{"class":225}," 2\n",[180,699,700],{"class":182,"line":204},[180,701,208],{"emptyLinePlaceholder":207},[180,703,704],{"class":182,"line":211},[180,705,706],{"class":186},"# List HA resources\n",[180,708,709,711],{"class":182,"line":217},[180,710,674],{"class":193},[180,712,248],{"class":197},[180,714,715],{"class":182,"line":232},[180,716,208],{"emptyLinePlaceholder":207},[180,718,719],{"class":182,"line":237},[180,720,721],{"class":186},"# Modify HA resource settings\n",[180,723,724,726,729,731,734],{"class":182,"line":243},[180,725,674],{"class":193},[180,727,728],{"class":197}," set",[180,730,679],{"class":197},[180,732,733],{"class":570}," --group",[180,735,736],{"class":197}," prefer-node1\n",[46,738,740],{"id":739},"node-affinity-rules","Node Affinity Rules",[11,742,743,744,748],{},"Since Proxmox VE 9.0, ",[15,745,747],{"href":41,"rel":746},[19],"node affinity rules"," are the recommended approach, replacing HA groups:",[51,750,751,757,763],{},[54,752,753,756],{},[57,754,755],{},"Node affinity",": Restrict resources to specific nodes with priority ordering",[54,758,759,762],{},[57,760,761],{},"Resource affinity",": Keep resources on the same node (positive) or separate nodes (negative)",[54,764,765,768],{},[57,766,767],{},"Strict mode",": Prevents stopped resources from starting if target nodes are unavailable",[46,770,772],{"id":771},"failover-policies","Failover Policies",[11,774,775],{},"Resources support configurable recovery strategies:",[92,777,778,791],{},[95,779,780],{},[98,781,782,785,788],{},[101,783,784],{},"Parameter",[101,786,787],{},"Default",[101,789,790],{},"Description",[111,792,793,806],{},[98,794,795,800,803],{},[116,796,797],{},[177,798,799],{},"max_restart",[116,801,802],{},"1",[116,804,805],{},"Restart attempts on the same node",[98,807,808,813,815],{},[116,809,810],{},[177,811,812],{},"max_relocate",[116,814,802],{},[116,816,817],{},"Relocation attempts to different nodes after restarts fail",[32,819,821],{"id":820},"maintenance-and-monitoring","Maintenance and Monitoring",[46,823,825],{"id":824},"maintenance-mode","Maintenance Mode",[11,827,828],{},"Before performing node maintenance, safely migrate HA services:",[170,830,832],{"className":172,"code":831,"language":174,"meta":175,"style":175},"# Enable maintenance mode\nha-manager crm-command node-maintenance enable pve-node1\n\n# Wait for all HA services to migrate off the node\n# Perform maintenance work after migration completes\n\n# Disable maintenance mode\nha-manager crm-command node-maintenance disable pve-node1\n",[177,833,834,839,855,859,864,869,873,878],{"__ignoreMap":175},[180,835,836],{"class":182,"line":183},[180,837,838],{"class":186},"# Enable maintenance mode\n",[180,840,841,843,846,849,852],{"class":182,"line":190},[180,842,674],{"class":193},[180,844,845],{"class":197}," crm-command",[180,847,848],{"class":197}," node-maintenance",[180,850,851],{"class":197}," enable",[180,853,854],{"class":197}," pve-node1\n",[180,856,857],{"class":182,"line":204},[180,858,208],{"emptyLinePlaceholder":207},[180,860,861],{"class":182,"line":211},[180,862,863],{"class":186},"# Wait for all HA services to migrate off the node\n",[180,865,866],{"class":182,"line":217},[180,867,868],{"class":186},"# Perform maintenance work after migration completes\n",[180,870,871],{"class":182,"line":232},[180,872,208],{"emptyLinePlaceholder":207},[180,874,875],{"class":182,"line":237},[180,876,877],{"class":186},"# Disable maintenance mode\n",[180,879,880,882,884,886,889],{"class":182,"line":243},[180,881,674],{"class":193},[180,883,845],{"class":197},[180,885,848],{"class":197},[180,887,888],{"class":197}," disable",[180,890,854],{"class":197},[46,892,894],{"id":893},"rolling-updates","Rolling Updates",[11,896,897,898,901],{},"Update clusters ",[57,899,900],{},"one node at a time"," -- never update all nodes simultaneously:",[903,904,905,908,911,917,920],"ol",{},[54,906,907],{},"Set the node to maintenance mode",[54,909,910],{},"Confirm HA service migration completes",[54,912,913,914],{},"Run ",[177,915,916],{},"apt update && apt full-upgrade -y",[54,918,919],{},"Reboot and verify the node rejoins the cluster",[54,921,922],{},"Proceed to the next node",[46,924,926],{"id":925},"failover-testing","Failover Testing",[11,928,929],{},"Always test failover before production deployment:",[170,931,933],{"className":172,"code":932,"language":174,"meta":175,"style":175},"# Test with the simulator\napt install pve-ha-simulator\npve-ha-simulator\n\n# Manual failover (migrate VM to another node)\nha-manager migrate vm:100 pve-node2\n\n# Monitor HA status\nha-manager status\n",[177,934,935,940,951,956,960,965,977,981,986],{"__ignoreMap":175},[180,936,937],{"class":182,"line":183},[180,938,939],{"class":186},"# Test with the simulator\n",[180,941,942,945,948],{"class":182,"line":190},[180,943,944],{"class":193},"apt",[180,946,947],{"class":197}," install",[180,949,950],{"class":197}," pve-ha-simulator\n",[180,952,953],{"class":182,"line":204},[180,954,955],{"class":193},"pve-ha-simulator\n",[180,957,958],{"class":182,"line":211},[180,959,208],{"emptyLinePlaceholder":207},[180,961,962],{"class":182,"line":217},[180,963,964],{"class":186},"# Manual failover (migrate VM to another node)\n",[180,966,967,969,972,974],{"class":182,"line":232},[180,968,674],{"class":193},[180,970,971],{"class":197}," migrate",[180,973,679],{"class":197},[180,975,976],{"class":197}," pve-node2\n",[180,978,979],{"class":182,"line":237},[180,980,208],{"emptyLinePlaceholder":207},[180,982,983],{"class":182,"line":243},[180,984,985],{"class":186},"# Monitor HA status\n",[180,987,988,990],{"class":182,"line":327},[180,989,674],{"class":193},[180,991,248],{"class":197},[11,993,994,995,1000],{},"The ",[15,996,999],{"href":997,"rel":998},"https:\u002F\u002Fforum.proxmox.com\u002F",[19],"Proxmox forum"," hosts active discussions about HA configuration best practices.",[32,1002,1004],{"id":1003},"conclusion","Conclusion",[11,1006,1007],{},"A properly designed Proxmox HA cluster delivers enterprise-grade availability. The keys are redundant Corosync networking, reliable fencing for safe node isolation, and trustworthy shared storage.",[11,1009,1010,1011,1014],{},"For integrated infrastructure management that includes Kubernetes workload HA, consider ",[15,1012,29],{"href":27,"rel":1013},[19],". Deploy fully managed K8s on top of Proxmox HA to guarantee automatic Kubernetes workload recovery during node failures.",[11,1016,1017,1018,1023],{},"For consultation on HA cluster design and implementation, ",[15,1019,1022],{"href":1020,"rel":1021},"https:\u002F\u002Fwww.hexabase.com\u002Fcontact-us\u002F",[19],"contact us"," for expert guidance.",[11,1025,1026],{},[57,1027,1028],{},"Related Links:",[51,1030,1031,1037,1044,1050,1056,1062],{},[54,1032,1033],{},[15,1034,1036],{"href":41,"rel":1035},[19],"Proxmox HA Official Documentation",[54,1038,1039],{},[15,1040,1043],{"href":1041,"rel":1042},"https:\u002F\u002Fpve.proxmox.com\u002Fwiki\u002FCluster_Manager",[19],"Proxmox Cluster Manager",[54,1045,1046],{},[15,1047,1049],{"href":367,"rel":1048},[19],"Ceph Hyper-Converged Guide",[54,1051,1052],{},[15,1053,1055],{"href":257,"rel":1054},[19],"Corosync Project",[54,1057,1058],{},[15,1059,1061],{"href":997,"rel":1060},[19],"Proxmox Forum",[54,1063,1064],{},[15,1065,1067],{"href":466,"rel":1066},[19],"Kubo Blog",[1069,1070,1071],"style",{},"html pre.shiki code .sbD-w, html code.shiki .sbD-w{--shiki-default:#51597D;--shiki-default-font-style:italic}html pre.shiki code .sE3pS, html code.shiki .sE3pS{--shiki-default:#C0CAF5}html pre.shiki code .sPY7s, html code.shiki .sPY7s{--shiki-default:#9ECE6A}html pre.shiki code .sOJ5S, html code.shiki .sOJ5S{--shiki-default:#FF9E64}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sAklC, html code.shiki .sAklC{--shiki-default:#89DDFF}html pre.shiki code .sT800, html code.shiki .sT800{--shiki-default:#E0AF68}",{"title":175,"searchDepth":190,"depth":190,"links":1073},[1074,1077,1082,1086,1091,1096],{"id":34,"depth":190,"text":35,"children":1075},[1076],{"id":48,"depth":204,"text":49},{"id":160,"depth":190,"text":161,"children":1078},[1079,1080,1081],{"id":164,"depth":204,"text":165},{"id":251,"depth":204,"text":252},{"id":360,"depth":204,"text":361},{"id":472,"depth":190,"text":473,"children":1083},[1084,1085],{"id":483,"depth":204,"text":484},{"id":548,"depth":204,"text":549},{"id":651,"depth":190,"text":652,"children":1087},[1088,1089,1090],{"id":655,"depth":204,"text":656},{"id":739,"depth":204,"text":740},{"id":771,"depth":204,"text":772},{"id":820,"depth":190,"text":821,"children":1092},[1093,1094,1095],{"id":824,"depth":204,"text":825},{"id":893,"depth":204,"text":894},{"id":925,"depth":204,"text":926},{"id":1003,"depth":190,"text":1004},"2026-05-27","Complete guide to building Proxmox VE HA clusters with Corosync configuration, fencing setup, HA groups, failover testing, and maintenance procedures.","md","en",{},"\u002Fblog\u002Fen\u002Fproxmox-high-availability-setup",{"title":5,"description":1098},"blog\u002Fen\u002Fproxmox-high-availability-setup",[1106,1107,1108,1109,140,118,1110],"Proxmox","HA","High Availability","Cluster","Infrastructure","vsiEFzqLb-15QmYCnRdOVWstxVuzrqnXLtbppcCMHzE",1779964619117]