Your IP : 216.73.216.189


Current Path : /snap/lxd/current/share/lxd-documentation/explanation/clusters/
Upload File :
Current File : //snap/lxd/current/share/lxd-documentation/explanation/clusters/index.html

<!doctype html>
<html class="no-js" lang="en" data-content_root="../../">
  <head><meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="og:title" content="Clusters" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/explanation/clusters/" />
<meta property="og:site_name" content="LXD documentation 6.8" />
<meta property="og:description" content="To spread the total workload over several servers, LXD can be run in clustering mode. In this scenario, any number of LXD servers share the same distributed database that holds the configuration fo..." />
<meta property="og:image" content="https://documentation.ubuntu.com/lxd/latest/_static/lxd_tag.png" />
<meta property="og:image:alt" content="LXD documentation 6.8" />
<meta name="description" content="To spread the total workload over several servers, LXD can be run in clustering mode. In this scenario, any number of LXD servers share the same distributed database that holds the configuration fo..." />

    <meta property="article:modified_time" content="2026-04-10T13:03:35+00:00" /><link rel="index" title="Index" href="../../genindex/"><link rel="search" title="Search" href="../../search/"><link rel="next" title="Replicators" href="../replicators/"><link rel="prev" title="Instances grouping with projects" href="../projects/">
        <link rel="canonical" href="/explanation/clusters/">

    <link rel="shortcut icon" href="../../_static/favicon.ico"><!-- Generated with Sphinx 7.4.7 and Furo 2025.12.19 -->
        <title>Clusters - LXD documentation 6.8</title>
      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=d111a655" />
    <link rel="stylesheet" type="text/css" href="../../_static/styles/furo.css?v=7bdb33bb" />
    <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css?v=76b2166b" />
    <link rel="stylesheet" type="text/css" href="../../_static/config-options.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/related-links.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/terminal.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/youtube.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/sphinx-design.min.css?v=95c83b7e" />
    <link rel="stylesheet" type="text/css" href="../../_static/styles/furo-extensions.css?v=8dab3a3b" />
    <link rel="stylesheet" type="text/css" href="../../_static/lxd_custom.css?v=bfbf4da2" />
    <link rel="stylesheet" type="text/css" href="https://assets.ubuntu.com/v1/d86746ef-cookie_banner.css" />
    <link rel="stylesheet" type="text/css" href="../../_static/custom.css?v=e189117a" />
    <link rel="stylesheet" type="text/css" href="../../_static/header.css?v=a8078839" />
    <link rel="stylesheet" type="text/css" href="../../_static/github_issue_links.css?v=3d761185" />
    <link rel="stylesheet" type="text/css" href="../../_static/furo_colors.css?v=825fec6f" />
    
    


<style>
  body {
    --color-code-background: #f2f2f2;
  --color-code-foreground: #1e1e1e;
  
  }
  @media not print {
    body[data-theme="dark"] {
      --color-code-background: #202020;
  --color-code-foreground: #d0d0d0;
  
    }
    @media (prefers-color-scheme: dark) {
      body:not([data-theme="light"]) {
        --color-code-background: #202020;
  --color-code-foreground: #d0d0d0;
  
      }
    }
  }
</style>
  
  
</head>
  <body>
    <header id="header" class="p-navigation">
  <!-- Google Tag Manager -->
  <script>
    (function(w, d, s, l, i) {
      w[l] = w[l] || [];
      w[l].push({
        'gtm.start': new Date().getTime(),
        event: 'gtm.js'
      });
      var f = d.getElementsByTagName(s)[0];
      var j = d.createElement(s);
      var dl = '';
      if (l != 'dataLayer') {
          dl = '&l=' + l;
      }
      j.async = true;
      j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
      f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-KNX3CJC');
  </script>
  
  <div class="p-navigation__nav" role="menubar">

    <ul class="p-navigation__links" role="menu">

      <li>
        
        <a class="p-logo" href="https://canonical.com/lxd" aria-current="page">
          <img src="../../_static/lxd_tag.png" alt="Logo" class="p-logo-image">
          <div class="p-logo-text p-heading--4">LXD
          </div>
        </a>
        
      </li>

      <li class="nav-ubuntu-com">
        
        <a href="https://canonical.com/lxd" class="p-navigation__link">canonical.com/lxd</a>
        
      </li>

      <li class="nav-dropdown">
        <a href="#" class="p-navigation__link nav-more-links"
           id="more-resources-toggle"
           aria-haspopup="true"
           aria-expanded="false">
          More resources
        </a>
        <ul class="more-links-dropdown" aria-labelledby="more-resources-toggle">
          
          <li>
            <a href="https://discourse.ubuntu.com/c/lxd/" class="p-navigation__sub-link p-dropdown__link">Discourse</a>
          </li>
          
      
          
      
          
          <li>
            <a href="https://matrix.to/#/#documentation:ubuntu.com" class="p-navigation__sub-link p-dropdown__link">Matrix</a>
          </li>
          
      
          
          <li>
            <a href="https://github.com/canonical/lxd" class="p-navigation__sub-link p-dropdown__link">GitHub</a>
          </li>
          

        </ul>
      </li>

    </ul>
  </div>
</header>
   
    <script>
      document.body.dataset.theme = localStorage.getItem("theme") || "auto";
    </script>
    

<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
  <symbol id="svg-toc" viewBox="0 0 24 24">
    <title>Contents</title>
    <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
      <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
    </svg>
  </symbol>
  <symbol id="svg-menu" viewBox="0 0 24 24">
    <title>Menu</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
      <line x1="3" y1="12" x2="21" y2="12"></line>
      <line x1="3" y1="6" x2="21" y2="6"></line>
      <line x1="3" y1="18" x2="21" y2="18"></line>
    </svg>
  </symbol>
  <symbol id="svg-arrow-right" viewBox="0 0 24 24">
    <title>Expand</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
      <polyline points="9 18 15 12 9 6"></polyline>
    </svg>
  </symbol>
  <symbol id="svg-sun" viewBox="0 0 24 24">
    <title>Light mode</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
      <circle cx="12" cy="12" r="5"></circle>
      <line x1="12" y1="1" x2="12" y2="3"></line>
      <line x1="12" y1="21" x2="12" y2="23"></line>
      <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
      <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
      <line x1="1" y1="12" x2="3" y2="12"></line>
      <line x1="21" y1="12" x2="23" y2="12"></line>
      <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
      <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
    </svg>
  </symbol>
  <symbol id="svg-moon" viewBox="0 0 24 24">
    <title>Dark mode</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
      <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
    </svg>
  </symbol>
  <symbol id="svg-sun-with-moon" viewBox="0 0 24 24">
    <title>Auto light/dark, in light mode</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
      class="icon-custom-derived-from-feather-sun-and-tabler-moon">
      <path style="opacity: 50%" d="M 5.411 14.504 C 5.471 14.504 5.532 14.504 5.591 14.504 C 3.639 16.319 4.383 19.569 6.931 20.352 C 7.693 20.586 8.512 20.551 9.25 20.252 C 8.023 23.207 4.056 23.725 2.11 21.184 C 0.166 18.642 1.702 14.949 4.874 14.536 C 5.051 14.512 5.231 14.5 5.411 14.5 L 5.411 14.504 Z"/>
      <line x1="14.5" y1="3.25" x2="14.5" y2="1.25"/>
      <line x1="14.5" y1="15.85" x2="14.5" y2="17.85"/>
      <line x1="10.044" y1="5.094" x2="8.63" y2="3.68"/>
      <line x1="19" y1="14.05" x2="20.414" y2="15.464"/>
      <line x1="8.2" y1="9.55" x2="6.2" y2="9.55"/>
      <line x1="20.8" y1="9.55" x2="22.8" y2="9.55"/>
      <line x1="10.044" y1="14.006" x2="8.63" y2="15.42"/>
      <line x1="19" y1="5.05" x2="20.414" y2="3.636"/>
      <circle cx="14.5" cy="9.55" r="3.6"/>
    </svg>
  </symbol>
  <symbol id="svg-moon-with-sun" viewBox="0 0 24 24">
    <title>Auto light/dark, in dark mode</title>
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round"
      class="icon-custom-derived-from-feather-sun-and-tabler-moon">
      <path d="M 8.282 7.007 C 8.385 7.007 8.494 7.007 8.595 7.007 C 5.18 10.184 6.481 15.869 10.942 17.24 C 12.275 17.648 13.706 17.589 15 17.066 C 12.851 22.236 5.91 23.143 2.505 18.696 C -0.897 14.249 1.791 7.786 7.342 7.063 C 7.652 7.021 7.965 7 8.282 7 L 8.282 7.007 Z"/>
      <line style="opacity: 50%" x1="18" y1="3.705" x2="18" y2="2.5"/>
      <line style="opacity: 50%" x1="18" y1="11.295" x2="18" y2="12.5"/>
      <line style="opacity: 50%" x1="15.316" y1="4.816" x2="14.464" y2="3.964"/>
      <line style="opacity: 50%" x1="20.711" y1="10.212" x2="21.563" y2="11.063"/>
      <line style="opacity: 50%" x1="14.205" y1="7.5" x2="13.001" y2="7.5"/>
      <line style="opacity: 50%" x1="21.795" y1="7.5" x2="23" y2="7.5"/>
      <line style="opacity: 50%" x1="15.316" y1="10.184" x2="14.464" y2="11.036"/>
      <line style="opacity: 50%" x1="20.711" y1="4.789" x2="21.563" y2="3.937"/>
      <circle style="opacity: 50%" cx="18" cy="7.5" r="2.169"/>
    </svg>
  </symbol>
  <symbol id="svg-pencil" viewBox="0 0 24 24">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-pencil-code">
      <path d="M4 20h4l10.5 -10.5a2.828 2.828 0 1 0 -4 -4l-10.5 10.5v4" />
      <path d="M13.5 6.5l4 4" />
      <path d="M20 21l2 -2l-2 -2" />
      <path d="M17 17l-2 2l2 2" />
    </svg>
  </symbol>
  <symbol id="svg-eye" viewBox="0 0 24 24">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
      stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-eye-code">
      <path stroke="none" d="M0 0h24v24H0z" fill="none" />
      <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
      <path
        d="M11.11 17.958c-3.209 -.307 -5.91 -2.293 -8.11 -5.958c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6c-.21 .352 -.427 .688 -.647 1.008" />
      <path d="M20 21l2 -2l-2 -2" />
      <path d="M17 17l-2 2l2 2" />
    </svg>
  </symbol>
</svg>

<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation" aria-label="Toggle site navigation sidebar">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc" aria-label="Toggle table of contents sidebar">
<label class="overlay sidebar-overlay" for="__navigation"></label>
<label class="overlay toc-overlay" for="__toc"></label>

<a class="skip-to-content muted-link" href="#furo-main-content">Skip to content</a>



<div class="page">
  <header class="mobile-header">
    <div class="header-left">
      <label class="nav-overlay-icon" for="__navigation">
        <span class="icon"><svg><use href="#svg-menu"></use></svg></span>
      </label>
    </div>
    <div class="header-center">
      <a href="../../"><div class="brand">LXD documentation 6.8</div></a>
    </div>
    <div class="header-right">
      <div class="theme-toggle-container theme-toggle-header">
        <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
          <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
          <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
          <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
          <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
        </button>
      </div>
      <label class="toc-overlay-icon toc-header-icon" for="__toc">
        <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
      </label>
    </div>
  </header>
  <aside class="sidebar-drawer">
    <div class="sidebar-container">
      
      <div class="sidebar-sticky"><a class="sidebar-brand" href="../../">
  
  <span class="sidebar-brand-text">LXD documentation 6.8</span>
  
</a><form class="sidebar-search-container" method="get" action="../../search/" role="search">
    <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
    <input type="submit" value="Go">
    <input type="hidden" name="check_keywords" value="yes">
    <input type="hidden" name="area" value="default">
  </form>
  <div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
  <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../">LXD</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorial/first_steps/">Tutorial</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../howto/">How-to guides</a><input aria-label="Toggle navigation of How-to guides" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../getting_started/">Getting started</a><input aria-label="Toggle navigation of Getting started" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../installing/">Install LXD</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/initialize/">Initialize LXD</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/access_ui/">Access the UI</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/access_documentation/">Access documentation locally</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../operation/">LXD server and client</a><input aria-label="Toggle navigation of LXD server and client" class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" role="switch" type="checkbox"/><label for="toctree-checkbox-3"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/server_configure/">Configure the LXD server</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/server_expose/">Expose LXD to the network</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../howto/oidc/">Configure single sign-on with OIDC</a><input aria-label="Toggle navigation of Configure single sign-on with OIDC" class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" role="switch" type="checkbox"/><label for="toctree-checkbox-4"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l4"><a class="reference internal" href="../../howto/oidc_auth0/">Configure Auth0</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../howto/oidc_ory/">Configure Ory Hydra</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../howto/oidc_keycloak/">Configure Keycloak</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../howto/oidc_entra_id/">Configure Entra ID</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../howto/oidc_pocket_id/">Configure Pocket ID</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../remotes/">Add remote servers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/lxc_alias/">Add command aliases</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../instances/">Instances</a><input aria-label="Toggle navigation of Instances" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" role="switch" type="checkbox"/><label for="toctree-checkbox-5"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_create/">Create instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_configure/">Configure instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_manage/">Manage instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../profiles/">Use profiles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_troubleshoot/">Troubleshoot errors</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_ubuntu_pro_attach/">Auto attach Ubuntu Pro</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_access_files/">Access files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_console/">Access the console</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../instance-exec/">Run commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../cloud-init/">Use cloud-init</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_routed_nic_vm/">Add a routed NIC to a VM</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_backup/">Back up instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/import_machines_to_instances/">Import existing machines</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_migrate/">Migrate instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/container_gpu_passthrough_with_docker/">Pass NVIDIA GPUs</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../images/">Images</a><input aria-label="Toggle navigation of Images" class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" role="switch" type="checkbox"/><label for="toctree-checkbox-6"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/images_remote/">Use remote images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/images_manage/">Manage images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/images_profiles/">Associate profiles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/images_copy/">Copy and import images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/images_create/">Create images</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../projects/">Projects</a><input aria-label="Toggle navigation of Projects" class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" role="switch" type="checkbox"/><label for="toctree-checkbox-7"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/projects_create/">Create and configure projects</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/projects_work/">Work with projects</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/projects_confine/">Confine users to projects</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../storage/">Storage</a><input aria-label="Toggle navigation of Storage" class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" role="switch" type="checkbox"/><label for="toctree-checkbox-8"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_pools/">Manage pools</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_volumes/">Manage volumes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_buckets/">Manage buckets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_create_instance/">Create or move an instance in a pool</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_backup_volume/">Back up a custom volume</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_move_volume/">Move or copy a custom volume</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/storage_csi/">Use the LXD CSI driver with Kubernetes</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../networks/">Networking</a><input aria-label="Toggle navigation of Networking" class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" role="switch" type="checkbox"/><label for="toctree-checkbox-9"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_create/">Create a network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_configure/">Configure a network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_bgp/">Configure as BGP server</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_acls/">Configure network ACLs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_forwards/">Configure forwards</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_zones/">Configure network zones</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_firewalld/">Configure your firewall</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_resolved/">Integrate with resolved</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_ovn_setup/">Set up OVN</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_load_balancers/">Configure load balancers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_ovn_peers/">Configure peer routing</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_ipam/">Display IPAM information</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../clustering/">Clustering</a><input aria-label="Toggle navigation of Clustering" class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" role="switch" type="checkbox"/><label for="toctree-checkbox-10"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_form/">Form a cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_manage/">Manage a cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_config_networks/">Configure networks</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_config_storage/">Configure storage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_manage_instance/">Manage instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_groups/">Set up cluster groups</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_placement_groups/">Use placement groups</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_recover/">Recover a cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_recover_volumes/">Recover orphaned volume entries</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_vip/">Set up a highly available virtual IP</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_links_create/">Create cluster links</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/cluster_links_manage/">Manage cluster links</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/replicators_create/">Set up replicators</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/replicators_manage/">Manage replicators</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../production-setup/">Production setup</a><input aria-label="Toggle navigation of Production setup" class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" role="switch" type="checkbox"/><label for="toctree-checkbox-11"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/benchmark_performance/">Benchmark performance</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_increase_bandwidth/">Increase bandwidth</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../metrics/">Monitor metrics</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/logs_loki/">Send logs to Loki</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/grafana/">Set up Grafana</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../backup/">Back up a server</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/disaster_recovery/">Recover instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/disaster_recovery_replication/">Disaster recovery with storage replication</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/replicators_dr/">Disaster recovery with replicators</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../howto/snap/">Manage the snap</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../howto/security_harden/">Harden security</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../howto/troubleshoot/">Troubleshooting</a><input aria-label="Toggle navigation of Troubleshooting" class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" role="switch" type="checkbox"/><label for="toctree-checkbox-12"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_bridge_firewalld/">Configure your firewall</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/instances_troubleshoot/">Troubleshoot instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/network_ipam/">Troubleshoot networks</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../howto/dqlite_troubleshoot/">Troubleshoot Dqlite</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../faq/">Frequently asked</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../debugging/">Debug LXD</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../howto/auth_bearer/">Authenticate to the LXD API using bearer tokens</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../howto/devlxd_authenticate/">Authenticate to the DevLXD API</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../support/">Get support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../contributing/">Contribute to LXD</a></li>
</ul>
</li>
<li class="toctree-l1 current has-children"><a class="reference internal" href="../">Explanation</a><input aria-label="Toggle navigation of Explanation" checked="" class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" role="switch" type="checkbox"/><label for="toctree-checkbox-13"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../lxd_lxc/"><code class="docutils literal notranslate"><span class="pre">lxd</span></code> and <code class="docutils literal notranslate"><span class="pre">lxc</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="../instances/">Containers and VMs</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../image-handling/">Local and remote images</a></li>
<li class="toctree-l2"><a class="reference internal" href="../storage/">Storage pools, volumes, and buckets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../networks/">Networking setups</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../database/">The LXD Dqlite database</a></li>
<li class="toctree-l2"><a class="reference internal" href="../lxc_show_info/"><code class="docutils literal notranslate"><span class="pre">lxc</span></code> <code class="docutils literal notranslate"><span class="pre">show</span></code> and <code class="docutils literal notranslate"><span class="pre">info</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="../../authentication/">Remote API authentication</a></li>
<li class="toctree-l2"><a class="reference internal" href="../authorization/">Remote API authorization</a></li>
<li class="toctree-l2"><a class="reference internal" href="../projects/">Instances grouping with projects</a></li>
<li class="toctree-l2 current current-page"><a class="current reference internal" href="#">Clusters</a></li>
<li class="toctree-l2"><a class="reference internal" href="../replicators/">Replicators</a></li>
<li class="toctree-l2"><a class="reference internal" href="../performance_tuning/">Performance tuning</a></li>
<li class="toctree-l2"><a class="reference internal" href="../security/">Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="../bpf/">Privilege delegation using BPF Token</a></li>
<li class="toctree-l2"><a class="reference internal" href="../csi/">The LXD CSI driver</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../../reference/">Reference</a><input aria-label="Toggle navigation of Reference" class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" role="switch" type="checkbox"/><label for="toctree-checkbox-14"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l2"><a class="reference internal" href="../../requirements/">Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../architectures/">Architectures</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../guest-os-compatibility/">Guest OS compatibility</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../container-environment/">Container environment</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/manpages/">Man pages</a><input aria-label="Toggle navigation of Man pages" class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" role="switch" type="checkbox"/><label for="toctree-checkbox-15"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/manpages/lxc/"><code class="docutils literal notranslate"><span class="pre">lxc</span></code></a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/release-notes/">Release notes</a><input aria-label="Toggle navigation of Release notes" class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" role="switch" type="checkbox"/><label for="toctree-checkbox-16"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/release-notes/release-notes-6.8/">LXD 6.8</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/release-notes/release-notes-6.7/">LXD 6.7</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/release-notes/release-notes-6.6/">LXD 6.6</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/releases-snap/">Releases and snap</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/remote_image_servers/">Remote image servers</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/image_format/">Image format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../config-options/">Configuration option index</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../server/">Server configuration</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../instance_config/">Instance configuration</a><input aria-label="Toggle navigation of Instance configuration" class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" role="switch" type="checkbox"/><label for="toctree-checkbox-17"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/instance_properties/">Instance properties</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/instance_options/">Instance options</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../../reference/devices/">Devices</a><input aria-label="Toggle navigation of Devices" class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" role="switch" type="checkbox"/><label for="toctree-checkbox-18"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l4"><a class="reference internal" href="../../reference/standard_devices/">Standard devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_none/">Type: <code class="docutils literal notranslate"><span class="pre">none</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_nic/">Type: <code class="docutils literal notranslate"><span class="pre">nic</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_disk/">Type: <code class="docutils literal notranslate"><span class="pre">disk</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_char/">Type: <code class="docutils literal notranslate"><span class="pre">unix-char</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_block/">Type: <code class="docutils literal notranslate"><span class="pre">unix-block</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_usb/">Type: <code class="docutils literal notranslate"><span class="pre">usb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_gpu/">Type: <code class="docutils literal notranslate"><span class="pre">gpu</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_infiniband/">Type: <code class="docutils literal notranslate"><span class="pre">infiniband</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_proxy/">Type: <code class="docutils literal notranslate"><span class="pre">proxy</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_unix_hotplug/">Type: <code class="docutils literal notranslate"><span class="pre">unix-hotplug</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_tpm/">Type: <code class="docutils literal notranslate"><span class="pre">tpm</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../../reference/devices_pci/">Type: <code class="docutils literal notranslate"><span class="pre">pci</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/instance_units/">Units for storage and network limits</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/preseed_yaml_fields/">Preseed YAML file fields</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/projects/">Project configuration</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/storage_drivers/">Storage drivers</a><input aria-label="Toggle navigation of Storage drivers" class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" role="switch" type="checkbox"/><label for="toctree-checkbox-19"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_dir/">Directory - <code class="docutils literal notranslate"><span class="pre">dir</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_btrfs/">Btrfs - <code class="docutils literal notranslate"><span class="pre">btrfs</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_lvm/">LVM - <code class="docutils literal notranslate"><span class="pre">lvm</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_zfs/">ZFS - <code class="docutils literal notranslate"><span class="pre">zfs</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_ceph/">Ceph RBD - <code class="docutils literal notranslate"><span class="pre">ceph</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_powerflex/">Dell PowerFlex - <code class="docutils literal notranslate"><span class="pre">powerflex</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_pure/">Pure Storage - <code class="docutils literal notranslate"><span class="pre">pure</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_alletra/">HPE Alletra - <code class="docutils literal notranslate"><span class="pre">alletra</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_cephfs/">CephFS - <code class="docutils literal notranslate"><span class="pre">cephfs</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/storage_cephobject/">Ceph Object - <code class="docutils literal notranslate"><span class="pre">cephobject</span></code></a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/networks/">Networks</a><input aria-label="Toggle navigation of Networks" class="toctree-checkbox" id="toctree-checkbox-20" name="toctree-checkbox-20" role="switch" type="checkbox"/><label for="toctree-checkbox-20"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/network_bridge/">Bridge network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/network_ovn/">OVN network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/network_macvlan/">Macvlan network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/network_physical/">Physical network</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/network_sriov/">SR-IOV network</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/placement_groups/">Placement group configuration</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../reference/clusters/">Clusters</a><input aria-label="Toggle navigation of Clusters" class="toctree-checkbox" id="toctree-checkbox-21" name="toctree-checkbox-21" role="switch" type="checkbox"/><label for="toctree-checkbox-21"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../reference/cluster_member_config/">Cluster member configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/cluster_link_config/">Cluster link configuration</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/replicator_config/">Replicator configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/permissions/">Permissions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/server_settings/">Production server settings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/provided_metrics/">Provided metrics</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../restapi_landing/">REST API</a><input aria-label="Toggle navigation of REST API" class="toctree-checkbox" id="toctree-checkbox-22" name="toctree-checkbox-22" role="switch" type="checkbox"/><label for="toctree-checkbox-22"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../rest-api/">Main API overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../api/">Main API specification</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../api-extensions/">Main API extensions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../events/">Events stream</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../dev-lxd/">DevLXD API for instances</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../reference/driver_csi/">LXD CSI driver reference</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../../internals/">Internals</a><input aria-label="Toggle navigation of Internals" class="toctree-checkbox" id="toctree-checkbox-23" name="toctree-checkbox-23" role="switch" type="checkbox"/><label for="toctree-checkbox-23"><span class="icon"><svg><use href="#svg-arrow-right"></use></svg></span></label><ul>
<li class="toctree-l3"><a class="reference internal" href="../../environment/">Environment variables</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../daemon-behavior/">Daemon behavior</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/uefi_variables/">UEFI variables for VMs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../syscall-interception/">System call interception</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../userns-idmap/">User namespace setup</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/ovn-internals/">OVN implementation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/vm_live_migration_internals/">VM live migration implementation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../reference/dqlite-internals/">Dqlite database for cluster state</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference external" href="https://github.com/canonical/lxd">Project repository</a></li>
<li class="toctree-l2"><a class="reference external" href="https://images.lxd.canonical.com">Image server</a></li>
</ul>
</li>
</ul>

</div>
</div>

      </div>
      
    </div>
  </aside>
  <div class="main">
    <div class="content">
      <div class="article-container">
        <a href="#" class="back-to-top muted-link">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
            <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
          </svg>
          <span>Back to top</span>
        </a>
        <div class="content-icon-container">
          <div class="edit-this-page">
  <a class="muted-link" href="https://github.com/canonical/lxd/edit/main/doc/explanation/clusters.md" title="Contribute to this page">
    <svg><use href="#svg-pencil"></use></svg>
    <span class="visually-hidden">Contribute to this page</span>
  </a>
</div><div class="theme-toggle-container theme-toggle-content">
            <button class="theme-toggle" aria-label="Toggle Light / Dark / Auto color theme">
              <svg class="theme-icon-when-auto-light"><use href="#svg-sun-with-moon"></use></svg>
              <svg class="theme-icon-when-auto-dark"><use href="#svg-moon-with-sun"></use></svg>
              <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
              <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
            </button>
          </div>
          <label class="toc-overlay-icon toc-content-icon" for="__toc">
            <span class="icon"><svg><use href="#svg-toc"></use></svg></span>
          </label>
        </div>
        <article role="main" id="furo-main-content">
          <section id="clusters">
<span id="exp-clusters"></span><h1>Clusters<a class="headerlink" href="#clusters" title="Link to this heading">¶</a></h1>

            <p class="youtube_link">
              <a href="https://www.youtube.com/watch?v=nrOR6yaO_MY" target="_blank">
                <span title="Deep dive into LXD clustering" class="play_icon">▶</span>
                <span title="Deep dive into LXD clustering">Watch on YouTube</span>
              </a>
            </p>
        <p>To spread the total workload over several servers, LXD can be run in clustering mode.
In this scenario, any number of LXD servers share the same distributed database that holds the configuration for the cluster members and their instances.
The LXD cluster can be managed uniformly using the <a class="reference internal" href="../../reference/manpages/lxc/#lxc-md"><span class="std std-ref"><code class="docutils literal notranslate"><span class="pre">lxc</span></code></span></a> client or the REST API.</p>
<p>This feature was introduced as part of the <a class="reference internal" href="../../api-extensions/#clustering"><span class="std std-ref"><code class="docutils literal notranslate"><span class="pre">clustering</span></code></span></a> API extension and is available since LXD 3.0.</p>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>If you want to quickly set up a basic LXD cluster, check out <a class="reference external" href="https://canonical.com/microcloud">MicroCloud</a>.</p>
</div>
<section id="cluster-members">
<span id="clustering-members"></span><h2>Cluster members<a class="headerlink" href="#cluster-members" title="Link to this heading">¶</a></h2>
<p>A LXD cluster consists of one bootstrap server and at least two further cluster members.
It stores its state in a <a class="reference internal" href="../../database/"><span class="std std-doc">distributed database</span></a>, which is a <a class="reference external" href="https://canonical.com/dqlite">Dqlite</a> database replicated using the Raft algorithm.</p>
<p>While you could create a cluster with only two members, it is strongly recommended that the number of cluster members be at least three.
With this setup, the cluster can survive the loss of at least one member and still be able to establish quorum for its distributed state.</p>
<p>When you create the cluster, the Dqlite database runs on only the bootstrap server until a third member joins the cluster.
Then both the second and the third server receive a replica of the database.</p>
<p>See <a class="reference internal" href="../../howto/cluster_form/#cluster-form"><span class="std std-ref">How to form a cluster</span></a> for more information.</p>
<section id="member-roles">
<span id="clustering-member-roles"></span><h3>Member roles<a class="headerlink" href="#member-roles" title="Link to this heading">¶</a></h3>
<p>In a cluster with three members, all members replicate the distributed database that stores the state of the cluster.
If the cluster has more members, only some of them replicate the database.
The remaining members have access to the database, but don’t replicate it.</p>
<p>At each time, there is an elected cluster leader that monitors the health of the other members.</p>
<p>Each member that replicates the database has either the role of a <em>voter</em> or of a <em>stand-by</em>.
If the cluster leader goes offline, one of the voters is elected as the new leader.
If a voter member goes offline, a stand-by member is automatically promoted to voter.
The database (and hence the cluster) remains available as long as a majority of voters is online.</p>
<p>The following roles can be assigned to LXD cluster members.
Automatic roles are assigned by LXD itself and cannot be modified by the user.</p>
<div class="table-wrapper colwidths-auto docutils container">
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head text-left"><p>Role</p></th>
<th class="head text-left"><p>Automatic</p></th>
<th class="head text-left"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">database-voter</span></code></p></td>
<td class="text-left"><p>yes</p></td>
<td class="text-left"><p>Voting member of the distributed database</p></td>
</tr>
<tr class="row-odd"><td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">database-leader</span></code></p></td>
<td class="text-left"><p>yes</p></td>
<td class="text-left"><p>Current leader of the distributed database</p></td>
</tr>
<tr class="row-even"><td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">database-standby</span></code></p></td>
<td class="text-left"><p>yes</p></td>
<td class="text-left"><p>Stand-by (non-voting) member of the distributed database</p></td>
</tr>
<tr class="row-odd"><td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">control-plane</span></code></p></td>
<td class="text-left"><p>no</p></td>
<td class="text-left"><p>Eligible to participate in Raft as voter, standby, or leader; when control plane mode is active, members without this role are assigned as spares and excluded from automatic promotion</p></td>
</tr>
<tr class="row-even"><td class="text-left"><p><code class="docutils literal notranslate"><span class="pre">ovn-chassis</span></code></p></td>
<td class="text-left"><p>no</p></td>
<td class="text-left"><p>Uplink gateway candidate for OVN networks</p></td>
</tr>
</tbody>
</table>
</div>
<p>The default number of voter members (<a class="configref reference internal" href="../../server/#server-cluster:cluster.max_voters"><code class="docutils literal notranslate"><span class="pre">cluster.max_voters</span></code></a>) is three.
The default number of stand-by members (<a class="configref reference internal" href="../../server/#server-cluster:cluster.max_standby"><code class="docutils literal notranslate"><span class="pre">cluster.max_standby</span></code></a>) is two.
With this configuration, your cluster will remain operational as long as you switch off at most one voting member at a time.</p>
<section id="control-plane-mode">
<span id="clustering-control-plane"></span><h4>Control plane mode<a class="headerlink" href="#control-plane-mode" title="Link to this heading">¶</a></h4>
<p>The <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role is optional and is not assigned by default.</p>
<p>It designates which members are eligible for database roles (voter, standby, leader), enabling safe auto-scaling with fixed database members and dynamic worker members.</p>
<p>Control plane mode activates when at least 3 members have the role assigned.
Once active, only members with the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role can participate in Raft and be assigned as voters, standbys, or the leader.
Members without the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role are automatically assigned the <code class="docutils literal notranslate"><span class="pre">RAFT_SPARE</span></code> role and are excluded from automatic promotion to database roles.
Spare members can still run instances and act as “worker” members for hosting workloads.</p>
<p>You can assign the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role to more members than <a class="configref reference internal" href="../../server/#server-cluster:cluster.max_voters"><code class="docutils literal notranslate"><span class="pre">cluster.max_voters</span></code></a> to create a pool of eligible candidates.</p>
<p>For example, if you assign <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> to 5 members when <code class="docutils literal notranslate"><span class="pre">cluster.max_voters</span></code> is 3, all 5 members are eligible for database roles, but only 3 will be promoted to voters based on the configuration.</p>
<p>If no cluster members have the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role assigned (the default), or if fewer than 3 members have the role, all members are eligible for automatic promotion to database roles.</p>
<p>When control plane mode is active, members with the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role also act as event hubs for internal LXD events.
If control plane mode is inactive, the cluster uses full-mesh event connectivity.</p>
<p>See <a class="reference internal" href="../../howto/cluster_manage/#cluster-manage-control-plane"><span class="std std-ref">Use control plane mode</span></a> for instructions on using the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role.</p>
</section>
<section id="offline-members-and-fault-tolerance">
<span id="clustering-offline-members"></span><h4>Offline members and fault tolerance<a class="headerlink" href="#offline-members-and-fault-tolerance" title="Link to this heading">¶</a></h4>
<p>If a cluster member is down for more than the configured offline threshold, its status is marked as offline.
In this case, no operations are possible on this member, and neither are operations that require a state change across all members.</p>
<p>As soon as the offline member comes back online, operations are available again.</p>
<p>If the member that goes offline is the leader itself, the other members will elect a new leader.</p>
<p>If you can’t or don’t want to bring the server back online, you can <a class="reference internal" href="../../howto/cluster_manage/#cluster-manage-delete-members"><span class="std std-ref">delete it from the cluster</span></a>.</p>
<p>You can tweak the amount of seconds after which a non-responding member is considered offline by setting the <a class="configref reference internal" href="../../server/#server-cluster:cluster.offline_threshold"><code class="docutils literal notranslate"><span class="pre">cluster.offline_threshold</span></code></a> configuration.
The default value is 20 seconds.
The minimum value is 10 seconds.</p>
<p>To automatically <a class="reference internal" href="../../howto/cluster_manage/#cluster-evacuate"><span class="std std-ref">evacuate</span></a> instances from an offline member, set the <a class="configref reference internal" href="../../server/#server-cluster:cluster.healing_threshold"><code class="docutils literal notranslate"><span class="pre">cluster.healing_threshold</span></code></a> configuration to a non-zero value.</p>
<p>See <a class="reference internal" href="../../howto/cluster_recover/#cluster-recover"><span class="std std-ref">How to recover a cluster</span></a> for more information.</p>
</section>
<section id="failure-domains">
<span id="clustering-failure-domains"></span><h4>Failure domains<a class="headerlink" href="#failure-domains" title="Link to this heading">¶</a></h4>
<p>You can use failure domains to indicate which cluster members should be given preference when assigning roles to a cluster member that has gone offline.
For example, if a cluster member that currently has the <code class="docutils literal notranslate"><span class="pre">database-voter</span></code> role is shut down and control plane mode is active, LXD tries to promote another <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> cluster member in the same failure domain to voter, if one is available. If no members have the <code class="docutils literal notranslate"><span class="pre">control-plane</span></code> role assigned (the default), any suitable member in the same failure domain can be promoted instead.</p>
<p>See <a class="reference internal" href="../../howto/cluster_manage/#cluster-manage-failure-domains"><span class="std std-ref">Manage failure domains</span></a> for more information.</p>
</section>
</section>
<section id="member-configuration">
<span id="clustering-member-config"></span><h3>Member configuration<a class="headerlink" href="#member-configuration" title="Link to this heading">¶</a></h3>
<p>LXD cluster members are generally assumed to be identical systems.
This means that all LXD servers joining a cluster must have an identical configuration to the bootstrap server, in terms of storage pools and networks.</p>
<p>To accommodate things like slightly different disk ordering or network interface naming, there is an exception for some configuration options related to storage and networks, which are member-specific.</p>
<p>When such settings are present in a cluster, any server that is being added must provide a value for them.
Most often, this is done through the interactive <code class="docutils literal notranslate"><span class="pre">lxd</span> <span class="pre">init</span></code> command, which asks the user for the value for a number of configuration keys related to storage or networks.</p>
<p>Those settings typically include:</p>
<ul class="simple">
<li><p>The source device and size (quota) for a storage pool</p></li>
<li><p>The name for a ZFS zpool, LVM thin pool or LVM volume group</p></li>
<li><p>External interfaces and BGP next-hop for a bridged network</p></li>
<li><p>The name of the parent network device for managed <code class="docutils literal notranslate"><span class="pre">physical</span></code> or <code class="docutils literal notranslate"><span class="pre">macvlan</span></code> networks</p></li>
</ul>
<p>See <a class="reference internal" href="../../howto/cluster_config_storage/#howto-cluster-storage"><span class="std std-ref">How to configure storage for a cluster</span></a> and <a class="reference internal" href="../../howto/cluster_config_networks/#cluster-config-networks"><span class="std std-ref">How to configure networks for a cluster</span></a> for more information.</p>
<p>If you want to look up the questions ahead of time (which can be useful for scripting), query the <code class="docutils literal notranslate"><span class="pre">/1.0/cluster</span></code> API endpoint.
This can be done through <code class="docutils literal notranslate"><span class="pre">lxc</span> <span class="pre">query</span> <span class="pre">/1.0/cluster</span></code> or through other API clients.</p>
</section>
</section>
<section id="images">
<h2>Images<a class="headerlink" href="#images" title="Link to this heading">¶</a></h2>
<p>By default, LXD replicates images on as many cluster members as there are database members.
This typically means up to three copies within the cluster.</p>
<p>You can increase that number to improve fault tolerance and the likelihood of the image being locally available.
To do so, set the <a class="configref reference internal" href="../../server/#server-cluster:cluster.images_minimal_replica"><code class="docutils literal notranslate"><span class="pre">cluster.images_minimal_replica</span></code></a> configuration.
The special value of <code class="docutils literal notranslate"><span class="pre">-1</span></code> can be used to have the image copied to all cluster members.</p>
</section>
<section id="cluster-groups">
<span id="id1"></span><h2>Cluster groups<a class="headerlink" href="#cluster-groups" title="Link to this heading">¶</a></h2>
<p>In a LXD cluster, you can add members to cluster groups.
You can use these cluster groups to launch instances on a cluster member that belongs to a subset of all available members.
For example, you could create a cluster group for all members that have a GPU and then launch all instances that require a GPU on this cluster group.</p>
<p>By default, all cluster members belong to the <code class="docutils literal notranslate"><span class="pre">default</span></code> group.</p>
<p>See <a class="reference internal" href="../../howto/cluster_groups/#howto-cluster-groups"><span class="std std-ref">How to set up cluster groups</span></a> and <a class="reference internal" href="../../howto/cluster_manage_instance/#cluster-target-instance"><span class="std std-ref">Launch an instance on a specific cluster member</span></a> for more information.</p>
</section>
<section id="cluster-links">
<span id="exp-cluster-links"></span><h2>Cluster links<a class="headerlink" href="#cluster-links" title="Link to this heading">¶</a></h2>
<p>Cluster links enable authenticated communication between separate LXD clusters by establishing a bidirectional trust relationship using mutual TLS certificates.</p>
<section id="how-cluster-links-work">
<h3>How cluster links work<a class="headerlink" href="#how-cluster-links-work" title="Link to this heading">¶</a></h3>
<ol class="arabic simple">
<li><p><strong>Trust establishment</strong>: Each cluster presents its certificate to the other, establishing mutual trust.</p></li>
<li><p><strong>Identity creation</strong>: LXD automatically creates a special identity for each linked cluster with type <code class="docutils literal notranslate"><span class="pre">Cluster</span> <span class="pre">link</span> <span class="pre">certificate</span></code>.</p></li>
<li><p><strong>Permission control</strong>: The linked cluster’s permissions are managed through LXD’s <a class="reference internal" href="../authorization/#fine-grained-authorization"><span class="std std-ref">Fine-grained authorization</span></a> system.</p></li>
<li><p><strong>Secure communication</strong>: All communication between clusters uses TLS encryption with certificate verification.</p></li>
</ol>
<section id="connection-process">
<h4>Connection process<a class="headerlink" href="#connection-process" title="Link to this heading">¶</a></h4>
<p>Both clusters coordinate to create a link.</p>
<ol class="arabic simple">
<li><p><strong>Cluster A</strong> creates a pending cluster link and generates a trust token.</p></li>
<li><p><strong>Cluster B</strong> uses this token to establish the connection and send its certificate back.</p></li>
<li><p>Both clusters validate certificates and activate the bidirectional link.</p></li>
<li><p>The link becomes active and both clusters can communicate.</p></li>
</ol>
<p>For more information, see: <a class="reference internal" href="../../howto/cluster_links_create/#howto-cluster-links-create"><span class="std std-ref">How to create cluster links</span></a>.</p>
</section>
</section>
<section id="exp-clusters-links-identity">
<span id="identity-management-for-cluster-links"></span><h3>Identity management for cluster links<a class="headerlink" href="#exp-clusters-links-identity" title="Link to this heading">¶</a></h3>
<p>When you create a cluster link, LXD automatically creates an identity for the linked cluster. This identity is of type <code class="docutils literal notranslate"><span class="pre">Cluster</span> <span class="pre">link</span> <span class="pre">certificate</span></code> and is used to authenticate that cluster. These identities are managed using <a class="reference internal" href="../authorization/#fine-grained-authorization"><span class="std std-ref">Fine-grained authorization</span></a>.</p>
<p>The identity can be in one of two states:</p>
<ul class="simple">
<li><p><strong>Pending</strong>: When a trust token is generated but the link hasn’t been activated yet.</p></li>
<li><p><strong>Active</strong>: When both clusters have exchanged certificates and the link is operational.</p></li>
</ul>
<section id="security-considerations">
<h4>Security considerations<a class="headerlink" href="#security-considerations" title="Link to this heading">¶</a></h4>
<ul class="simple">
<li><p><strong>Certificate validation</strong>: All connections verify certificate fingerprints.</p></li>
<li><p><strong>Fine-grained permissions</strong>: Linked clusters can be granted specific entitlements (for example, only backup operations).</p></li>
<li><p><strong>Identity isolation</strong>: Each cluster link gets its own identity that can be managed independently.</p></li>
<li><p><strong>Group membership</strong>: Cluster link identities can be assigned to authentication groups for bulk permission management.</p></li>
</ul>
<p>Together, these controls limit the blast radius of a compromised link by enforcing mutual authentication and least-privilege access. They also make it possible to revoke a single link’s access without impacting other cluster-to-cluster trust relationships.</p>
</section>
<section id="cluster-link-member-status">
<h4>Cluster link member status<a class="headerlink" href="#cluster-link-member-status" title="Link to this heading">¶</a></h4>
<p>A cluster link member can have one of the following statuses. You can see member status with <code class="docutils literal notranslate"><span class="pre">lxc</span> <span class="pre">cluster</span> <span class="pre">link</span> <span class="pre">info</span></code> (while <code class="docutils literal notranslate"><span class="pre">lxc</span> <span class="pre">cluster</span> <span class="pre">link</span> <span class="pre">list</span></code> shows the link identity status and link type); see <a class="reference internal" href="../../howto/cluster_links_manage/#howto-cluster-links-view"><span class="std std-ref">View cluster links</span></a>.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ACTIVE</span></code>: Reachable and authenticated. The link is usable for requests according to the <a class="reference internal" href="../authorization/#fine-grained-authorization"><span class="std std-ref">entitlements</span></a> you granted.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">UNAUTHENTICATED</span></code>: Reachable but not authenticated. The remote cluster cannot use the link yet; resolve the trust exchange before relying on it.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">UNREACHABLE</span></code>: Not reachable. Requests that depend on the link will fail until connectivity is restored or the remote cluster is online.</p></li>
</ul>
</section>
</section>
</section>
<section id="automatic-placement-of-instances">
<span id="clustering-instance-placement"></span><h2>Automatic placement of instances<a class="headerlink" href="#automatic-placement-of-instances" title="Link to this heading">¶</a></h2>
<p>In a cluster setup, each instance lives on one of the cluster members.
When you launch an instance, you can target it to a specific cluster member, to a cluster group or have LXD automatically assign it to a cluster member.</p>
<p>By default, the automatic assignment picks the cluster member that has the lowest number of instances.
If several members have the same amount of instances, one of the members is chosen at random.</p>
<p>However, you can control this behavior with the <a class="configref reference internal" href="../../reference/cluster_member_config/#cluster-cluster:scheduler.instance"><code class="docutils literal notranslate"><span class="pre">scheduler.instance</span></code></a> configuration option:</p>
<ul class="simple">
<li><p>If <code class="docutils literal notranslate"><span class="pre">scheduler.instance</span></code> is set to <code class="docutils literal notranslate"><span class="pre">all</span></code> for a cluster member, this cluster member is selected for an instance if:</p>
<ul>
<li><p>The instance is created without <code class="docutils literal notranslate"><span class="pre">--target</span></code> and the cluster member has the lowest number of instances.</p></li>
<li><p>The instance is targeted to live on this cluster member.</p></li>
<li><p>The instance is targeted to live on a member of a cluster group that the cluster member is a part of, and the cluster member has the lowest number of instances compared to the other members of the cluster group.</p></li>
</ul>
</li>
<li><p>If <code class="docutils literal notranslate"><span class="pre">scheduler.instance</span></code> is set to <code class="docutils literal notranslate"><span class="pre">manual</span></code> for a cluster member, this cluster member is selected for an instance if:</p>
<ul>
<li><p>The instance is targeted to live on this cluster member.</p></li>
</ul>
</li>
<li><p>If <code class="docutils literal notranslate"><span class="pre">scheduler.instance</span></code> is set to <code class="docutils literal notranslate"><span class="pre">group</span></code> for a cluster member, this cluster member is selected for an instance if:</p>
<ul>
<li><p>The instance is targeted to live on this cluster member.</p></li>
<li><p>The instance is targeted to live on a member of a cluster group that the cluster member is a part of, and the cluster member has the lowest number of instances compared to the other members of the cluster group.</p></li>
</ul>
</li>
</ul>
<section id="placement-groups">
<span id="exp-clusters-placement"></span><h3>Placement groups<a class="headerlink" href="#placement-groups" title="Link to this heading">¶</a></h3>
<p>Placement groups provide declarative control over how instances are distributed across cluster members.
They define both a <strong>policy</strong> (how instances should be distributed) and a <strong>rigor</strong> (how strictly the policy is enforced).</p>
<p>Placement groups are project-scoped resources, which means different projects can have placement groups with the same name without conflict.</p>
<p>See <a class="reference internal" href="../../howto/cluster_placement_groups/#cluster-placement-groups"><span class="std std-ref">How to use placement groups</span></a> for usage instructions and <a class="reference internal" href="../../reference/placement_groups/#ref-placement-groups"><span class="std std-ref">Placement group configuration</span></a> for reference documentation.</p>
</section>
</section>
<section id="high-availability">
<span id="clusters-high-availability"></span><h2>High availability<a class="headerlink" href="#high-availability" title="Link to this heading">¶</a></h2>
<p>Clusters provide two types of high availability (HA):</p>
<ul class="simple">
<li><p>Control plane HA (ensuring that clients can always access the cluster)</p></li>
<li><p>Data plane HA (ensuring that workloads continue to run)</p></li>
</ul>
<section id="high-availability-of-the-control-plane-client-access">
<span id="clusters-high-availability-control"></span><h3>High availability of the control plane (client access)<a class="headerlink" href="#high-availability-of-the-control-plane-client-access" title="Link to this heading">¶</a></h3>
<p>Each cluster member can <a class="reference internal" href="../../howto/server_expose/#server-expose"><span class="std std-ref">expose an API endpoint</span></a> through its <a class="configref reference internal" href="../../server/#server-core:core.https_address"><code class="docutils literal notranslate"><span class="pre">core.https_address</span></code></a>. Through this access point, a remote client can communicate with any cluster member in multiple ways:</p>
<ul class="simple">
<li><p>Through the API (see <a class="reference internal" href="../../authentication/#authentication"><span class="std std-ref">Remote API authentication</span></a> and <a class="reference internal" href="../../rest-api/#rest-api"><span class="std std-ref">REST API</span></a>)</p></li>
<li><p>Through the <a class="reference internal" href="../../howto/access_ui/#access-ui"><span class="std std-ref">LXD web UI client</span></a></p></li>
<li><p>By setting up <a class="reference internal" href="../../remotes/#remotes"><span class="std std-ref">remote servers</span></a> for CLI access</p></li>
</ul>
<p>Because the cluster database is distributed, access to any member gives you access to the entire control plane. If one server goes down, you can still manage the cluster through the other members. This provides the basis for control plane HA.</p>
<p>The limitation is that on the client side, you must either manually switch to another member’s access point if your chosen server is unavailable, or implement your own client-side logic to cycle through a list of access points.</p>
<p>For a single, highly available access point to the control plane, you can add on a routing service that configures a virtual IP. See our how-to guide: <a class="reference internal" href="../../howto/cluster_vip/#howto-cluster-vip"><span class="std std-ref">How to set up a highly available virtual IP for clusters</span></a>.</p>
</section>
<section id="high-availability-of-the-data-plane-workloads">
<span id="clusters-high-availability-data"></span><h3>High availability of the data plane (workloads)<a class="headerlink" href="#high-availability-of-the-data-plane-workloads" title="Link to this heading">¶</a></h3>
<p>LXD clusters enable HA of workloads (instances) in multiple ways:</p>
<dl class="simple myst">
<dt>Cluster evacuation</dt><dd><p>Instances can be manually evacuated from one cluster member to another, providing planned high availability during maintenance. This includes live migration for virtual machines. See: <a class="reference internal" href="../../howto/cluster_manage/#cluster-evacuate"><span class="std std-ref">Evacuate a cluster member</span></a>.</p>
</dd>
<dt>Cluster healing</dt><dd><p>If a cluster member fails and <a class="configref reference internal" href="../../server/#server-cluster:cluster.healing_threshold"><code class="docutils literal notranslate"><span class="pre">cluster.healing_threshold</span></code></a> is set, it automatically restarts instances on that member on a healthy member of the cluster. See: <a class="reference internal" href="../../howto/cluster_manage/#cluster-healing"><span class="std std-ref">Cluster healing</span></a>.</p>
</dd>
<dt>Virtual networking</dt><dd><p>On clusters using <a class="reference internal" href="../../reference/network_ovn/#network-ovn"><span class="std std-ref">OVN networking</span></a>, logical switches/routers are distributed across the cluster. This means that instance NICs remain reachable even if the server hosting one OVN chassis goes offline.</p>
</dd>
<dt>Storage redundancy</dt><dd><p>On clusters using Ceph for storage, if a disk or cluster member fails, the data is still available elsewhere in the Ceph cluster.</p>
</dd>
<dt>Shared storage</dt><dd><p>Volumes using the <a class="reference internal" href="../../reference/storage_ceph/#storage-ceph"><span class="std std-ref">Ceph RBD</span></a> and <a class="reference internal" href="../../reference/storage_cephfs/#storage-cephfs"><span class="std std-ref">CephFS</span></a> storage drivers are accessible from all cluster members. If the member hosting an instance fails, its volumes can be reattached to another member.</p>
</dd>
</dl>
</section>
</section>
<section id="related-topics">
<h2>Related topics<a class="headerlink" href="#related-topics" title="Link to this heading">¶</a></h2>
<p>How-to guides:</p>
<ul class="simple">
<li><p><a class="reference internal" href="../../clustering/#clustering"><span class="std std-ref">Clustering</span></a></p></li>
</ul>
<p>Reference:</p>
<ul class="simple">
<li><p><a class="reference internal" href="../../reference/clusters/#ref-clusters"><span class="std std-ref">Clusters</span></a></p></li>
</ul>
</section>
</section>

        </article>
      </div>
      <footer>
        
   

<div class="related-pages">
  
  
      
  
  
  <a class="next-page" href="../replicators/">
        <div class="page-info">
          <div class="context">
            <span>Next</span>
          </div>
          <div class="title">Replicators</div>
        </div>
        <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
      </a>
    <a class="prev-page" href="../projects/">
        <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
        <div class="page-info">
          <div class="context">
            <span>Previous</span>
          </div>
          
            <div class="title">Instances grouping with projects</div>
          
        </div>
      </a>
</div>
<div class="bottom-of-page">
  <div class="left-details">
    <div class="copyright">
        &copy; 2014-2026 AGPL-3.0, LXD contributors 
    </div><div class="last-updated">
      Last updated on Apr 10, 2026</div>
  </div>
  <div class="right-details">
    
      <a href="" class="js-revoke-cookie-manager muted-link">Manage your tracker settings</a>
</div>

      </footer>
    </div>
    <aside class="toc-drawer">
      
<div class="toc-sticky toc-scroll">
   
    <div class="toc-title-container">
      <span class="toc-title">
       Contents
      </span>
    </div>
    <div class="toc-tree-container">
      <div class="toc-tree">
        <ul>
<li><a class="reference internal" href="#">Clusters</a><ul>
<li><a class="reference internal" href="#cluster-members">Cluster members</a><ul>
<li><a class="reference internal" href="#member-roles">Member roles</a><ul>
<li><a class="reference internal" href="#control-plane-mode">Control plane mode</a></li>
<li><a class="reference internal" href="#offline-members-and-fault-tolerance">Offline members and fault tolerance</a></li>
<li><a class="reference internal" href="#failure-domains">Failure domains</a></li>
</ul>
</li>
<li><a class="reference internal" href="#member-configuration">Member configuration</a></li>
</ul>
</li>
<li><a class="reference internal" href="#images">Images</a></li>
<li><a class="reference internal" href="#cluster-groups">Cluster groups</a></li>
<li><a class="reference internal" href="#cluster-links">Cluster links</a><ul>
<li><a class="reference internal" href="#how-cluster-links-work">How cluster links work</a><ul>
<li><a class="reference internal" href="#connection-process">Connection process</a></li>
</ul>
</li>
<li><a class="reference internal" href="#exp-clusters-links-identity">Identity management for cluster links</a><ul>
<li><a class="reference internal" href="#security-considerations">Security considerations</a></li>
<li><a class="reference internal" href="#cluster-link-member-status">Cluster link member status</a></li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#automatic-placement-of-instances">Automatic placement of instances</a><ul>
<li><a class="reference internal" href="#placement-groups">Placement groups</a></li>
</ul>
</li>
<li><a class="reference internal" href="#high-availability">High availability</a><ul>
<li><a class="reference internal" href="#high-availability-of-the-control-plane-client-access">High availability of the control plane (client access)</a></li>
<li><a class="reference internal" href="#high-availability-of-the-data-plane-workloads">High availability of the data plane (workloads)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#related-topics">Related topics</a></li>
</ul>
</li>
</ul>

      </div>
    </div>
   
    
    <div class="relatedlinks-title-container">
      <span class="relatedlinks-title">
       Related links
      </span>
    </div>
    <div class="relatedlinks-container">
      <div class="relatedlinks">
        
          <ul><li><a href="https://discuss.linuxcontainers.org/t/15728" target="_blank">Scriptlet&#32;based&#32;instance&#32;placement&#32;scheduler</a></li></ul>
        
        
      </div>
    </div>
    
  </div>

    </aside>
  </div>
</div><script src="../../_static/jquery.js?v=5d32c60e"></script>
    <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
    <script src="../../_static/documentation_options.js?v=a5603611"></script>
    <script src="../../_static/doctools.js?v=9a2dae69"></script>
    <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
    <script src="../../_static/scripts/furo.js?v=46bd48cc"></script>
    <script src="../../_static/clipboard.min.js?v=a7894cd8"></script>
    <script src="../../_static/copybutton.js?v=b01cb6f2"></script>
    <script src="../../_static/config-options.js"></script>
    <script src="../../_static/design-tabs.js?v=f930bc37"></script>
    <script src="https://assets.ubuntu.com/v1/287a5e8f-bundle.js"></script>
    <script src="../../_static/header-nav.js?v=e117ad08"></script>
    <script src="../../_static/github_issue_links.js?v=32bb732f"></script>
    </body>
</html>