# dmeventd

## NAME



           dmeventd — Device-mapper event daemon
    


## SYNOPSIS



           **dmeventd**[**-d**[**-d**[**-d**]]] [**-f**] [**-h**] [**-l**] [**-R**] [**-V**] [**-?**]
    


## DESCRIPTION



           dmeventd is the event monitoring daemon for device-mapper devices.
           Library plugins can register and carry out actions triggered when
           particular events occur.
    


## OPTIONS



           **-d** Repeat from 1 to 3 times (**-d** , **-dd** , **-ddd**) to increase the
                  detail of debug messages sent to syslog.  Each extra d adds
                  more debugging information.
    
           **-f** Don't fork, run in the foreground.
    
           **-h** Show help information.
    
           **-l** Log through stdout and stderr instead of syslog.  This
                  option works only with option -f, otherwise it is ignored.
    
           **-?** Show help information on stderr.
    
           **-R** Replace a running dmeventd instance. The running dmeventd
                  must be version 2.02.77 or newer. The new dmeventd instance
                  will obtain a list of devices and events to monitor from
                  the currently running daemon.
    
           **-V** Show version of dmeventd.
    


## LVM PLUGINS



           **Mirror** Attempts to handle device failure automatically.
                  See lvm.conf(5).
    
           **Raid** Attempts to handle device failure automatically.
                  See lvm.conf(5).
    
           **Snapshot**
                  Monitors how full a snapshot is becoming and emits a
                  warning to syslog when it exceeds 80% full.  The warning is
                  repeated when 85%, 90% and 95% of the snapshot is filled.
                  See lvm.conf(5).  Snapshot which runs out of space gets
                  invalid and when it is mounted, it gets umounted if
                  possible.
    
           **Thin** Monitors how full a thin pool data and metadata is becoming
                  and emits a warning to syslog when it exceeds 80% full.
                  The warning is repeated when more then 85%, 90% and 95% of
                  the thin pool is filled. See lvm.conf(5).  When a thin pool
                  fills over 50% (data or metadata) thin plugin calls
                  configured **dmeventd/thin_command** with every 5% increase.
                  With default setting it calls internal **lvm lvextend**
                  **--use-policies** to resize thin pool when it's been filled
                  above configured threshold
                  **activation/thin_pool_autoextend_threshold**.  If the command
                  fails, dmeventd thin plugin will keep retrying execution
                  with increasing time delay between retries upto 42 minutes.
                  User may also configure external command to support more
                  advanced maintenance operations of a thin pool.  Such
                  external command can e.g. remove some unneeded snapshots,
                  use fstrim(8) to free recover space in a thin pool, but
                  also can use **lvextend --use-policies** if other actions have
                  not released enough space.  Command is executed with
                  environmental variable **LVM_RUN_BY_DMEVENTD=1** so any lvm2
                  command executed in this environment will not try to
                  interact with dmeventd.  To see the fullness of a thin pool
                  command may check these two environmental variables
                  **DMEVENTD_THIN_POOL_DATA** and **DMEVENTD_THIN_POOL_METADATA**.
                  Command can also read status with tools like lvs(8).
    
           **Vdo** Monitors how full a VDO pool data is becoming and emits a
                  warning to syslog when it exceeds 80% full.  The warning is
                  repeated when more then 85%, 90% and 95% of the VDO pool is
                  filled. See lvm.conf(5).  When a VDO pool fills over 50%
                  vdo plugin calls configured **dmeventd/vdo_command** with every
                  5% increase.  With default setting it calls internal **lvm**
                  **lvextend --use-policies** to resize VDO pool when it's been
                  filled above the configured threshold
                  **activation/vdo_pool_autoextend_threshold**.  If the command
                  fails, dmeventd vdo plugin will keep retrying execution
                  with increasing time delay between retries upto 42 minutes.
                  User may also configure external command to support more
                  advanced maintenance operations of a VDO pool.  Such
                  external command can e.g. remove some unneeded space with
                  fstrim(8), but also can use **lvextend --use-policies** if
                  other actions have not released enough space.  Command is
                  executed with environmental variable **LVM_RUN_BY_DMEVENTD=1**
                  so any lvm2 command executed in this environment will not
                  try to interact with dmeventd.  To see the fullness of a
                  VDO pool command may check this environmental variable
                  **DMEVENTD_VDO_POOL**.  Command can also read status with tools
                  like lvs(8).
    


## ENVIRONMENT VARIABLES



           **DMEVENTD_THIN_POOL_DATA**
                  Variable is set by thin plugin and is available to executed
                  program. Value present actual usage of thin pool data
                  volume. Variable is not set when error event is processed.
    
           **DMEVENTD_THIN_POOL_METADATA**
                  Variable is set by thin plugin and is available to executed
                  program. Value present actual usage of thin pool metadata
                  volume. Variable is not set when error event is processed.
    
           **DMEVENTD_VDO_POOL**
                  Variable is set by vdo plugin and is available to executed
                  program. Value present actual usage of VDO pool data
                  volume. Variable is not set when error event is processed.
    
           **LVM_RUN_BY_DMEVENTD**
                  Variable is set by thin and vdo plugin to prohibit
                  recursive interation with dmeventd by any executed lvm2
                  command from a thin_command, vdo_command environment.
    


* * *