{
  "slug": "volume-group",
  "term": "Volume group (LVM)",
  "aliases": [
    "LVM volume group",
    "VG"
  ],
  "definition": "In Linux LVM, a volume group is a named collection of physical volumes whose extents provide allocation space for logical volumes.",
  "note": "A VG can contain one PV or several. Physical-extent size and allocation policy govern allocation within the group. Grouping PVs does not itself add application-data redundancy: protection depends on the LV layout and its backing devices. [lvm] [vgcreate]\n\nAdding a PV with vgextend increases space available for LV allocation. It does not enlarge every existing LV or the filesystems using them. Those are separate resizing operations. [vgextend]\n\nVG free extents and unused thin-pool capacity are different resources. A thin pool has allocated data and metadata components; Data% and Meta% describe usage within them. Growing those components requires free VG extents and a successful extension, not merely the presence of space elsewhere in the group. [lvmthin]\n\nA free-extent total does not guarantee a usable placement. The normal policy avoids parallel stripes on the same PV; contiguous allocation also constrains adjacency. A request can therefore lack eligible extents despite free space in the VG. This is not a recommendation to weaken allocation policy. [lvm]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "A VG configuration backup does not contain the data stored in its logical volumes.",
      "citationIds": [
        "vgcfgbackup"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-24",
  "related": [
    "physical-volume",
    "logical-volume",
    "lvm",
    "volume-manager",
    "thin-pool",
    "thin-pool-metadata"
  ],
  "citations": [
    {
      "id": "lvm",
      "title": "LVM2 lvm(8): PV/VG/LV hierarchy and allocation policies",
      "url": "https://man7.org/linux/man-pages/man8/lvm.8.html",
      "accessed": "2026-10-24"
    },
    {
      "id": "vgcreate",
      "title": "LVM2 vgcreate(8): physical-extent size and VG creation",
      "url": "https://man7.org/linux/man-pages/man8/vgcreate.8.html",
      "accessed": "2026-10-20"
    },
    {
      "id": "vgextend",
      "title": "LVM2 vgextend(8): adding PVs increases available LV-allocation space",
      "url": "https://man7.org/linux/man-pages/man8/vgextend.8.html",
      "accessed": "2026-10-20"
    },
    {
      "id": "lvmthin",
      "title": "LVM2 lvmthin(7): pool usage counters and extension requirements",
      "url": "https://man7.org/linux/man-pages/man7/lvmthin.7.html",
      "accessed": "2026-10-20"
    },
    {
      "id": "vgcfgbackup",
      "title": "LVM2 vgcfgbackup(8): configuration backup excludes LV contents",
      "url": "https://man7.org/linux/man-pages/man8/vgcfgbackup.8.html",
      "accessed": "2026-10-20"
    }
  ]
}
