{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-11",
  "slug": "io-fencing",
  "term": "I/O fencing",
  "aliases": [
    "Storage fencing"
  ],
  "definition": "I/O fencing enforces exclusion of a node from shared storage so that recovery cannot be undermined by its continued access.",
  "note": "Failure detection and quorum decisions do not themselves block storage traffic. A fence may act through power control, fabric access or storage-enforced reservations. Its scope must cover the resources and paths used by recovery; a storage-only fence need not stop the whole host. Use the supported cluster procedure and verify completion before proceeding.",
  "related": [
    "scsi-persistent-reservations",
    "fencing-token",
    "multipath-io",
    "san"
  ],
  "citations": [
    {
      "id": "pacemaker",
      "title": "ClusterLabs, Pacemaker Explained 3.0: Fencing, including Fencing and Quorum.",
      "url": "https://clusterlabs.org/projects/pacemaker/doc/3.0/Pacemaker_Explained/html/fencing.html",
      "accessed": "2026-10-11"
    },
    {
      "id": "fence-mpath",
      "title": "ClusterLabs fence_mpath source and embedded documentation, commit 65a423c846a91deff49271ffaeb8f7d4ed90ce50.",
      "url": "https://github.com/ClusterLabs/fence-agents/blob/65a423c846a91deff49271ffaeb8f7d4ed90ce50/agents/mpath/fence_mpath.py",
      "accessed": "2026-10-11"
    },
    {
      "id": "hesela-fencing",
      "title": "Storage fencing: why a lost heartbeat does not stop writes",
      "url": "https://hesela.com/analyses/storage-fencing-stale-writes/",
      "accessed": "2026-10-11"
    }
  ]
}
