Section: Maintenance Commands (8)
Updated: LVM TOOLS 2.02.183(2) (2018-12-07)
Page Index


lvmetad --- LVM metadata cache daemon



lvmetad [-l level[,level...]] [-p pidfile_path] [-s socket_path] [-t timeout_value] [-f] [-h] [-V] [-?]



The lvmetad daemon caches LVM metadata so that LVM commands can read metadata from the cache rather than scanning disks. This can be an advantage because scanning disks is time consuming and may interfere with the normal work of the system. lvmetad can be a disadvantage when disk event notifications from the system are unreliable.

lvmetad does not read metadata from disks itself. Instead, it relies on an LVM command, like pvscan --cache, to read metadata from disks and send it to lvmetad to be cached.

New LVM disks that appear on the system must be scanned before lvmetad knows about them. If lvmetad does not know about a disk, then LVM commands using lvmetad will also not know about it. When disks are added or removed from the system, lvmetad must be updated.

lvmetad is usually combined with event-based system services that automatically run pvscan --cache on disks added or removed. This way, the cache is automatically updated with metadata from new disks when they appear. LVM udev rules and systemd services implement this automation. Automatic scanning is usually combined with automatic activation. For more information, see pvscan(8).

If lvmetad is started or restarted after disks have been added to the system, or if the global_filter has changed, the cache must be updated. This can be done by running pvscan --cache, or it will be done automatically by the next LVM command that's run.

When lvmetad is not used, LVM commands revert to scanning disks for LVM metadata.

In some cases, lvmetad will be temporarily disabled while it continues running. In this state, LVM commands will ignore the lvmetad cache and revert to scanning disks. A warning will also be printed which includes the reason why lvmetad is not being used. The most common reasons are the existence of duplicate PVs (lvmetad cannot cache data for duplicate PVs), or an 'lvconvert --repair' command has been run (the lvmetad cache may not be reliable while repairs are neeeded.) Once duplicates have been resolved, or repairs have been completed, the lvmetad cache is can be updated with pvscan --cache and commands will return to using the cache.

Use of lvmetad is enabled/disabled by:
lvm.conf(5) global/use_lvmetad

For more information on this setting, see:
lvmconfig --withcomments global/use_lvmetad

To ignore disks from LVM at the system level, e.g. lvmetad, pvscan use:
lvm.conf(5) devices/global_filter

For more information on this setting, see
lvmconfig --withcomments devices/global_filter



To run the daemon in a test environment both the pidfile_path and the socket_path should be changed from the defaults.

Don't fork, but run in the foreground.
-h, -?
Show help information.
-l levels
Specify the levels of log messages to generate as a comma separated list. Messages are logged by syslog. Additionally, when -f is given they are also sent to standard error. Possible levels are: all, fatal, error, warn, info, wire, debug.
-p pidfile_path
Path to the pidfile. This overrides both the built-in default (/run/ and the environment variable LVM_LVMETAD_PIDFILE. This file is used to prevent more than one instance of the daemon running simultaneously.
-s socket_path
Path to the socket file. This overrides both the built-in default (/run/lvm/lvmetad.socket) and the environment variable LVM_LVMETAD_SOCKET. To communicate successfully with lvmetad, all LVM2 processes should use the same socket path.
-t timeout_value
The daemon may shutdown after being idle for the given time (in seconds). When the option is omitted or the value given is zero the daemon never shutdowns on idle.
Display the version of lvmetad daemon.


Path for the pid file.
Path for the socket file.



lvm(8), lvmconfig(8), lvm.conf(5), pvscan(8)