Skip to navigationSkip to content
libvirtd docs
InteractiveCommands

Manual nav

Search `/` · tty `~` · g top · G bottom

Portal

  • Manual index
  • Interactive lab
  • Command explorer
Foundations5 sections
  • libvirtd Overview1
  • Host & Installation2
  • Architecture & Concepts6
  • Domains2
  • Domain XML2
Subsystems6 sections
  • Daemons3
  • virsh3
  • Virtual Networking5
  • Virtual Storage4
  • Virtualization Security3
  • Remote libvirt1
Operations5 sections
  • Migration2
  • Snapshots & Backup2
  • Performance3
  • Troubleshooting2
  • Reference2
manstorageReviewed August 8, 2026

Storage pools and backends

Libvirt pools abstract where guest disks live. The pool type tells you which backend owns the bytes and which operational failure modes to expect. Common pool types | Type | What it maps to | Operational note | | | | | |

storage pooldirlvmnfsiscsi

Libvirt pools abstract where guest disks live. The pool type tells you which backend owns the bytes and which operational failure modes to expect.

Common pool types

TypeWhat it maps toOperational note
dirA filesystem directorySimplest to inspect and back up
logicalLVM volume groupFast and common for dense local hosts
netfsNFS exportShared storage with external network dependency
iscsiiSCSI targetBlock storage with network path and initiator state

Pool lifecycle

BASH
virsh pool-list --all
virsh pool-info fast-lvm
virsh pool-dumpxml fast-lvm
virsh vol-list fast-lvm

System-scope inventory

When the task is to inventory host-wide pools, make the libvirt connection scope explicit instead of relying on a shell default:

BASH
virsh --connect qemu:///system pool-list --all

--connect qemu:///system selects the host-wide QEMU/libvirt instance, pool-list requests storage pools, and --all includes inactive pools as well as active ones.

What to read first

  • For dir, inspect the directory path, ownership, and mount state.
  • For LVM, inspect the volume group and free extents.
  • For NFS, confirm the mount is live before blaming libvirt.
  • For iSCSI, verify the session and device visibility on the host.

Read-only inspection boundary

When a block-backed filesystem must be inspected without taking write custody, create a dedicated inspection mountpoint and make the read-only intent explicit.

BASH
mkdir -p /mnt/inspect
mount -o ro /dev/mapper/vmdata /mnt/inspect
findmnt -no SOURCE,TARGET,OPTIONS /mnt/inspect
umount /mnt/inspect

mount -r and mount --read-only express the same read-only intent. Do not mount a filesystem a second time merely because a device exists; first prove whether it is already mounted, active in a guest, or otherwise owned by another layer.

Safety checks

Never assume a pool that is defined is also started, mounted, or healthy.

Field fragment C / 3

A buried recovery channel is watching for knowledge gathered from the manual. This fragment is not an answer to any drill; it proves you reached and read the right subsystem.

Related

  • Pool and volume workflows
  • Troubleshooting playbook
  • Files, sockets, and service units

On this page

  • Common pool types
  • Pool lifecycle
  • System-scope inventory
  • What to read first
  • Read-only inspection boundary
  • Safety checks