{
    "mode": "man",
    "parameter": "lvchange",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/lvchange/8/json",
    "generated": "2026-05-30T07:08:57Z",
    "synopsis": "lvchange optionargs positionargs\n[ optionargs ]\n-a|--activate y|n|ay\n--activationmode partial|degraded|complete\n--addtag Tag\n--alloc contiguous|cling|clingbytags|normal|anywhere|inherit\n-A|--autobackup y|n\n--cachemode writethrough|writeback|passthrough\n--cachepolicy String\n--cachesettings String\n--commandprofile String\n--compression y|n\n--config String\n-C|--contiguous y|n\n-d|--debug\n--deduplication y|n\n--deltag Tag\n--detachprofile\n--discards passdown|nopassdown|ignore\n--driverloaded y|n\n--errorwhenfull y|n\n-f|--force\n-h|--help\n-K|--ignoreactivationskip\n--ignorelockingfailure\n--ignoremonitoring\n--lockopt String\n--longhelp\n-j|--major Number\n--[raid]maxrecoveryrate Size[k|UNIT]\n--metadataprofile String\n--minor Number\n--[raid]minrecoveryrate Size[k|UNIT]\n--monitor y|n\n--nolocking\n--noudevsync\n-P|--partial\n-p|--permission rw|r\n-M|--persistent y|n\n--poll y|n\n--profile String\n-q|--quiet\n-r|--readahead auto|none|Number\n--readonly\n--rebuild PV\n--refresh\n--reportformat basic|json\n--resync\n-S|--select String\n-k|--setactivationskip y|n\n--[raid]syncaction check|repair\n--sysinit\n-t|--test\n-v|--verbose\n--version\n--[raid]writebehind Number\n--[raid]writemostly PV[:t|n|y]\n-y|--yes\n-Z|--zero y|n",
    "sections": {
        "NAME": {
            "content": "lvchange - Change the attributes of logical volume(s)\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "lvchange optionargs positionargs\n[ optionargs ]\n\n-a|--activate y|n|ay\n--activationmode partial|degraded|complete\n--addtag Tag\n--alloc contiguous|cling|clingbytags|normal|anywhere|inherit\n-A|--autobackup y|n\n--cachemode writethrough|writeback|passthrough\n--cachepolicy String\n--cachesettings String\n--commandprofile String\n--compression y|n\n--config String\n-C|--contiguous y|n\n-d|--debug\n--deduplication y|n\n--deltag Tag\n--detachprofile\n--discards passdown|nopassdown|ignore\n--driverloaded y|n\n--errorwhenfull y|n\n-f|--force\n-h|--help\n-K|--ignoreactivationskip\n--ignorelockingfailure\n--ignoremonitoring\n--lockopt String\n--longhelp\n-j|--major Number\n--[raid]maxrecoveryrate Size[k|UNIT]\n--metadataprofile String\n--minor Number\n--[raid]minrecoveryrate Size[k|UNIT]\n--monitor y|n\n--nolocking\n--noudevsync\n-P|--partial\n-p|--permission rw|r\n-M|--persistent y|n\n--poll y|n\n--profile String\n-q|--quiet\n-r|--readahead auto|none|Number\n--readonly\n--rebuild PV\n--refresh\n--reportformat basic|json\n--resync\n-S|--select String\n-k|--setactivationskip y|n\n--[raid]syncaction check|repair\n--sysinit\n-t|--test\n-v|--verbose\n--version\n--[raid]writebehind Number\n--[raid]writemostly PV[:t|n|y]\n-y|--yes\n-Z|--zero y|n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "lvchange  changes  LV attributes in the VG, changes LV activation in the kernel, and includes\nother utilities for LV maintenance.\n",
            "subsections": []
        },
        "USAGE": {
            "content": "Change a general LV attribute.\nFor options listed in parentheses, any one is\nrequired, after which the others are optional.\n",
            "subsections": [
                {
                    "name": "lvchange",
                    "content": "( -C|--contiguous y|n,\n-p|--permission rw|r,\n-r|--readahead auto|none|Number,\n-k|--setactivationskip y|n,\n-Z|--zero y|n,\n-M|--persistent n,\n--addtag Tag,\n--deltag Tag,\n--alloc contiguous|cling|clingbytags|normal|anywhere|inherit,\n--compression y|n,\n--deduplication y|n,\n--detachprofile,\n--metadataprofile String,\n--profile String,\n--errorwhenfull y|n,\n--discards passdown|nopassdown|ignore,\n--cachemode writethrough|writeback|passthrough,\n--cachepolicy String,\n--cachesettings String,\n--[raid]minrecoveryrate Size[k|UNIT],\n--[raid]maxrecoveryrate Size[k|UNIT],\n--[raid]writebehind Number,\n--[raid]writemostly PV[:t|n|y] )\nVG|LV|Tag|Select ...\n[ -a|--activate y|n|ay ]\n[    --poll y|n ]\n[    --monitor y|n ]\n[ COMMONOPTIONS ]\n-\n\nResyncronize a mirror or raid LV.\nUse to reset 'R' attribute on a not initially synchronized LV.\n\nlvchange --resync VG|LVmirrorraid|Tag|Select ...\n[ -a|--activate y|n|ay ]\n[ COMMONOPTIONS ]\n-\n\nResynchronize or check a raid LV.\n\nlvchange --syncaction check|repair VG|LVraid|Tag|Select ...\n[ COMMONOPTIONS ]\n-\n\nReconstruct data on specific PVs of a raid LV.\n\nlvchange --rebuild PV VG|LVraid|Tag|Select ...\n[ COMMONOPTIONS ]\n-\n\nActivate or deactivate an LV.\n\nlvchange -a|--activate y|n|ay VG|LV|Tag|Select ...\n[ -P|--partial ]\n[ -K|--ignoreactivationskip ]\n[    --activationmode partial|degraded|complete ]\n[    --poll y|n ]\n[    --monitor y|n ]\n[    --ignorelockingfailure ]\n[    --sysinit ]\n[    --readonly ]\n[ COMMONOPTIONS ]\n-\n\nReactivate an LV using the latest metadata.\n\nlvchange --refresh VG|LV|Tag|Select ...\n[ -P|--partial ]\n[    --activationmode partial|degraded|complete ]\n[    --poll y|n ]\n[    --monitor y|n ]\n[ COMMONOPTIONS ]\n-\n\nStart or stop monitoring an LV from dmeventd.\n\nlvchange --monitor y|n VG|LV|Tag|Select ...\n[ COMMONOPTIONS ]\n-\n\nStart or stop processing an LV conversion.\n\nlvchange --poll y|n VG|LV|Tag|Select ...\n[    --monitor y|n ]\n[ COMMONOPTIONS ]\n-\n\nMake the minor device number persistent for an LV.\n\nlvchange -M|--persistent y --minor Number LV\n[ -j|--major Number ]\n[ -a|--activate y|n|ay ]\n[    --poll y|n ]\n[    --monitor y|n ]\n[ COMMONOPTIONS ]\n-\n\nCommon options for command:\n[ -A|--autobackup y|n ]\n[ -f|--force ]\n[ -S|--select String ]\n[    --ignoremonitoring ]\n[    --noudevsync ]\n[    --reportformat basic|json ]\n\nCommon options for lvm:\n[ -d|--debug ]\n[ -h|--help ]\n[ -q|--quiet ]\n[ -t|--test ]\n[ -v|--verbose ]\n[ -y|--yes ]\n[    --commandprofile String ]\n[    --config String ]\n[    --driverloaded y|n ]\n[    --lockopt String ]\n[    --longhelp ]\n[    --nolocking ]\n[    --profile String ]\n[    --version ]\n"
                }
            ]
        },
        "OPTIONS": {
            "content": "",
            "subsections": [
                {
                    "name": "-a --activate",
                    "content": "Change the active state of LVs.  An active LV can be used through a block device, al‐\nlowing data on the LV to be accessed.  y makes LVs active, or available.  n makes LVs\ninactive, or unavailable.  The block device for the LV is added or removed from the\nsystem using device-mapper in the kernel.  A symbolic link /dev/VGName/LVName pointing\nto the device node is also added/removed.  All software and scripts should access the\ndevice through the symbolic link and present this as the name of the device.  The lo‐\ncation and name of the underlying device node may depend on the distribution, configu‐\nration (e.g. udev), or release version.  ay specifies autoactivation, in which case an\nLV is activated only if it matches an item in lvm.conf activation/autoactivationvol‐\numelist.  If the list is not set, all LVs are considered to match, and if if the list\nis set but empty, no LVs match.  Autoactivation should be used during system boot to\nmake it possible to select which LVs should be automatically activated by the system.\nSee lvmlockd(8) for more information about activation options ey and sy for shared\nVGs.\n\n--activationmode partial|degraded|complete\nDetermines if LV activation is allowed when PVs are missing, e.g. because of a device\nfailure.  complete only allows LVs with no missing PVs to be activated, and is the\nmost restrictive mode.  degraded allows RAID LVs with missing PVs to be activated.\n(This does not include the \"mirror\" type, see \"raid1\" instead.)  partial allows any LV\nwith missing PVs to be activated, and should only be used for recovery or repair.  For\ndefault, see lvm.conf/activationmode.  See lvmraid(7) for more information.\n\n--addtag Tag\nAdds a tag to a PV, VG or LV. This option can be repeated to add multiple tags at\nonce. See lvm(8) for information about tags.\n\n--alloc contiguous|cling|clingbytags|normal|anywhere|inherit\nDetermines the allocation policy when a command needs to allocate Physical Extents\n(PEs) from the VG. Each VG and LV has an allocation policy which can be changed with\nvgchange/lvchange, or overriden on the command line.  normal applies common sense\nrules such as not placing parallel stripes on the same PV.  inherit applies the VG\npolicy to an LV.  contiguous requires new PEs be placed adjacent to existing PEs.\ncling places new PEs on the same PV as existing PEs in the same stripe of the LV.  If\nthere are sufficient PEs for an allocation, but normal does not use them, anywhere\nwill use them even if it reduces performance, e.g. by placing two stripes on the same\nPV.  Optional positional PV args on the command line can also be used to limit which\nPVs the command will use for allocation.  See lvm(8) for more information about allo‐\ncation.\n",
                    "flag": "-a",
                    "long": "--activate"
                },
                {
                    "name": "-A --autobackup",
                    "content": "Specifies if metadata should be backed up automatically after a change.  Enabling this\nis strongly advised! See vgcfgbackup(8) for more information.\n\n--cachemode writethrough|writeback|passthrough\nSpecifies when writes to a cache LV should be considered complete.  writeback consid‐\ners a write complete as soon as it is stored in the cache pool.  writethough considers\na write complete only when it has been stored in both the cache pool and on the origin\nLV.  While writethrough may be slower for writes, it is more resilient if something\nshould happen to a device associated with the cache pool LV. With passthrough, all\nreads are served from the origin LV (all reads miss the cache) and all writes are for‐\nwarded to the origin LV; additionally, write hits cause cache block invalidates. See\nlvmcache(7) for more information.\n\n--cachepolicy String\nSpecifies the cache policy for a cache LV.  See lvmcache(7) for more information.\n\n--cachesettings String\nSpecifies tunable values for a cache LV in \"Key = Value\" form.  Repeat this option to\nspecify multiple values.  (The default values should usually be adequate.)  The spe‐\ncial string value default switches settings back to their default kernel values and\nremoves them from the list of settings stored in LVM metadata.  See lvmcache(7) for\nmore information.\n\n--commandprofile String\nThe command profile to use for command configuration.  See lvm.conf(5) for more infor‐\nmation about profiles.\n\n--compression y|n\nControls whether compression is enabled or disable for VDO volume.  See lvmvdo(7) for\nmore information about VDO usage.\n\n--config String\nConfig settings for the command. These override lvm.conf settings.  The String arg\nuses the same format as lvm.conf, or may use section/field syntax.  See lvm.conf(5)\nfor more information about config.\n",
                    "flag": "-A",
                    "long": "--autobackup"
                },
                {
                    "name": "-C --contiguous",
                    "content": "Sets or resets the contiguous allocation policy for LVs.  Default is no contiguous al‐\nlocation based on a next free principle.  It is only possible to change a non-contigu‐\nous allocation policy to contiguous if all of the allocated physical extents in the LV\nare already contiguous.\n",
                    "flag": "-C",
                    "long": "--contiguous"
                },
                {
                    "name": "-d --debug",
                    "content": "Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to\nthe log file and/or syslog (if configured).\n\n--deduplication y|n\nControls whether deduplication is enabled or disable for VDO volume.  See lvmvdo(7)\nfor more information about VDO usage.\n\n--deltag Tag\nDeletes a tag from a PV, VG or LV. This option can be repeated to delete multiple tags\nat once. See lvm(8) for information about tags.\n",
                    "flag": "-d",
                    "long": "--debug"
                },
                {
                    "name": "--detachprofile",
                    "content": "Detaches a metadata profile from a VG or LV.  See lvm.conf(5) for more information\nabout profiles.\n\n--discards passdown|nopassdown|ignore\nSpecifies how the device-mapper thin pool layer in the kernel should handle discards.\nignore causes the thin pool to ignore discards.  nopassdown causes the thin pool to\nprocess discards itself to allow reuse of unneeded extents in the thin pool.  passdown\ncauses the thin pool to process discards itself (like nopassdown) and pass the dis‐\ncards to the underlying device.  See lvmthin(7) for more information.\n\n--driverloaded y|n\nIf set to no, the command will not attempt to use device-mapper.  For testing and de‐\nbugging.\n\n--errorwhenfull y|n\nSpecifies thin pool behavior when data space is exhausted.  When yes, device-mapper\nwill immediately return an error when a thin pool is full and an I/O request requires\nspace.  When no, device-mapper will queue these I/O requests for a period of time to\nallow the thin pool to be extended.  Errors are returned if no space is available af‐\nter the timeout.  (Also see dm-thin-pool kernel module option nospacetimeout.)  See\nlvmthin(7) for more information.\n",
                    "long": "--detachprofile"
                },
                {
                    "name": "-f --force",
                    "content": "Override various checks, confirmations and protections.  Use with extreme caution.\n",
                    "flag": "-f",
                    "long": "--force"
                },
                {
                    "name": "-h --help",
                    "content": "Display help text.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "-K --ignoreactivationskip",
                    "content": "Ignore the \"activation skip\" LV flag during activation to allow LVs with the flag set\nto be activated.\n",
                    "flag": "-K",
                    "long": "--ignoreactivationskip"
                },
                {
                    "name": "--ignorelockingfailure",
                    "content": "Allows a command to continue with read-only metadata operations after locking fail‐\nures.\n",
                    "long": "--ignorelockingfailure"
                },
                {
                    "name": "--ignoremonitoring",
                    "content": "Do not interact with dmeventd unless --monitor is specified.  Do not use this if\ndmeventd is already monitoring a device.\n\n--lockopt String\nUsed to pass options for special cases to lvmlockd.  See lvmlockd(8) for more informa‐\ntion.\n",
                    "long": "--ignoremonitoring"
                },
                {
                    "name": "--longhelp",
                    "content": "Display long help text.\n",
                    "long": "--longhelp"
                },
                {
                    "name": "-j --major",
                    "content": "Sets the major number of an LV block device.\n\n--[raid]maxrecoveryrate Size[k|UNIT]\nSets the maximum recovery rate for a RAID LV.  The rate value is an amount of data per\nsecond for each device in the array.  Setting the rate to 0 means it will be un‐\nbounded.  See lvmraid(7) for more information.\n\n--metadataprofile String\nThe metadata profile to use for command configuration.  See lvm.conf(5) for more in‐\nformation about profiles.\n\n--minor Number\nSets the minor number of an LV block device.\n\n--[raid]minrecoveryrate Size[k|UNIT]\nSets the minimum recovery rate for a RAID LV.  The rate value is an amount of data per\nsecond for each device in the array.  Setting the rate to 0 means it will be un‐\nbounded.  See lvmraid(7) for more information.\n\n--monitor y|n\nStart (yes) or stop (no) monitoring an LV with dmeventd.  dmeventd monitors kernel\nevents for an LV, and performs automated maintenance for the LV in reponse to specific\nevents.  See dmeventd(8) for more information.\n",
                    "flag": "-j",
                    "long": "--major"
                },
                {
                    "name": "--nolocking",
                    "content": "Disable locking.\n",
                    "long": "--nolocking"
                },
                {
                    "name": "--noudevsync",
                    "content": "Disables udev synchronisation. The process will not wait for notification from udev.\nIt will continue irrespective of any possible udev processing in the background. Only\nuse this if udev is not running or has rules that ignore the devices LVM creates.\n",
                    "long": "--noudevsync"
                },
                {
                    "name": "-P --partial",
                    "content": "Commands will do their best to activate LVs with missing PV extents.  Missing extents\nmay be replaced with error or zero segments according to the lvm.conf miss‐\ningstripefiller setting.  Metadata may not be changed with this option.\n",
                    "flag": "-P",
                    "long": "--partial"
                },
                {
                    "name": "-p --permission",
                    "content": "Set access permission to read only r or read and write rw.\n",
                    "flag": "-p",
                    "long": "--permission"
                },
                {
                    "name": "-M --persistent",
                    "content": "When yes, makes the specified minor number persistent.\n\n--poll y|n\nWhen yes, start the background transformation of an LV.  An incomplete transformation,\ne.g. pvmove or lvconvert interrupted by reboot or crash, can be restarted from the\nlast checkpoint with --poll y.  When no, background transformation of an LV will not\noccur, and the transformation will not complete. It may not be appropriate to immedi‐\nately poll an LV after activation, in which case --poll n can be used to defer polling\nuntil a later --poll y command.\n\n--profile String\nAn alias for --commandprofile or --metadataprofile, depending on the command.\n",
                    "flag": "-M",
                    "long": "--persistent"
                },
                {
                    "name": "-q --quiet",
                    "content": "Suppress output and log messages. Overrides --debug and --verbose.  Repeat once to\nalso suppress any prompts with answer 'no'.\n",
                    "flag": "-q",
                    "long": "--quiet"
                },
                {
                    "name": "-r --readahead",
                    "content": "Sets read ahead sector count of an LV.  auto is the default which allows the kernel to\nchoose a suitable value automatically.  none is equivalent to zero.\n",
                    "flag": "-r",
                    "long": "--readahead"
                },
                {
                    "name": "--readonly",
                    "content": "Run the command in a special read-only mode which will read on-disk metadata without\nneeding to take any locks. This can be used to peek inside metadata used by a virtual\nmachine image while the virtual machine is running. No attempt will be made to commu‐\nnicate with the device-mapper kernel driver, so this option is unable to report\nwhether or not LVs are actually in use.\n\n--rebuild PV\nSelects a PV to rebuild in a raid LV. Multiple PVs can be rebuilt by repeating this\noption.  Use this option in place of --resync or --syncaction repair when the PVs with\ncorrupted data are known, and their data should be reconstructed rather than recon‐\nstructing default (rotating) data.  See lvmraid(7) for more information.\n",
                    "long": "--readonly"
                },
                {
                    "name": "--refresh",
                    "content": "If the LV is active, reload its metadata.  This is not necessary in normal operation,\nbut may be useful if something has gone wrong, or if some form of manual LV sharing is\nbeing used.\n\n--reportformat basic|json\nOverrides current output format for reports which is defined globally by the re‐\nport/outputformat setting in lvm.conf.  basic is the original format with columns and\nrows.  If there is more than one report per command, each report is prefixed with the\nreport name for identification. json produces report output in JSON format. See lvmre‐‐\nport(7) for more information.\n",
                    "long": "--refresh"
                },
                {
                    "name": "--resync",
                    "content": "Initiates mirror synchronization. Synchronization generally happens automatically, but\nthis option forces it to run.  Also see --rebuild to synchronize a specific PV.  Dur‐\ning synchronization, data is read from the primary mirror device and copied to the\nothers. This can take considerable time, during which the LV is without a complete re‐\ndundant copy of the data.  See lvmraid(7) for more information.\n",
                    "long": "--resync"
                },
                {
                    "name": "-S --select",
                    "content": "Select objects for processing and reporting based on specified criteria.  The criteria\nsyntax is described by --select help and lvmreport(7).  For reporting commands, one\nrow is displayed for each object matching the criteria.  See --options help for se‐\nlectable object fields.  Rows can be displayed with an additional \"selected\" field (-o\nselected) showing 1 if the row matches the selection and 0 otherwise.  For non-report‐\ning commands which process LVM entities, the selection is used to choose items to\nprocess.\n",
                    "flag": "-S",
                    "long": "--select"
                },
                {
                    "name": "-k --setactivationskip",
                    "content": "Persistently sets (yes) or clears (no) the \"activation skip\" flag on an LV.  An LV\nwith this flag set is not activated unless the --ignoreactivationskip option is used\nby the activation command.  This flag is set by default on new thin snapshot LVs.  The\nflag is not applied to deactivation.  The current value of the flag is indicated in\nthe lvs lvattr bits.\n\n--[raid]syncaction check|repair\nInitiate different types of RAID synchronization.  This causes the RAID LV to read all\ndata and parity blocks in the array and check for discrepancies (mismatches between\nmirrors or incorrect parity values).  check will count but not correct discrepancies.\nrepair will correct discrepancies.  See lvs for reporting discrepancies found or re‐\npaired.\n",
                    "flag": "-k",
                    "long": "--setactivationskip"
                },
                {
                    "name": "--sysinit",
                    "content": "Indicates that vgchange/lvchange is being invoked from early system initialisation\nscripts (e.g. rc.sysinit or an initrd), before writable filesystems are available. As\nsuch, some functionality needs to be disabled and this option acts as a shortcut which\nselects an appropriate set of options. Currently, this is equivalent to using --ig‐\nnorelockingfailure, --ignoremonitoring, --poll n, and setting env var LVMSUP‐\nPRESSLOCKINGFAILUREMESSAGES.  vgchange/lvchange skip autoactivation, and defer to\npvscan autoactivation.\n",
                    "long": "--sysinit"
                },
                {
                    "name": "-t --test",
                    "content": "Run in test mode. Commands will not update metadata.  This is implemented by disabling\nall metadata writing but nevertheless returning success to the calling function. This\nmay lead to unusual error messages in multi-stage operations if a tool relies on read‐\ning back metadata it believes has changed but hasn't.\n",
                    "flag": "-t",
                    "long": "--test"
                },
                {
                    "name": "-v --verbose",
                    "content": "Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to\nstdout and stderr.\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "--version",
                    "content": "Display version information.\n\n--[raid]writebehind Number\nThe maximum number of outstanding writes that are allowed to devices in a RAID1 LV\nthat is marked write-mostly.  Once this value is exceeded, writes become synchronous\n(i.e. all writes to the constituent devices must complete before the array signals the\nwrite has completed). Setting the value to zero clears the preference and allows the\nsystem to choose the value arbitrarily.\n\n--[raid]writemostly PV[:t|n|y]\nMark a device in a RAID1 LV as write-mostly.  All reads to these drives will be\navoided unless absolutely necessary. This keeps the number of I/Os to the drive to a\nminimum. The default behavior is to set the write-mostly attribute for the specified\nPV.  It is also possible to remove the write-mostly flag by adding the suffix :n at\nthe end of the PV name, or to toggle the value with the suffix :t. Repeat this option\nto change the attribute on multiple PVs.\n",
                    "long": "--version"
                },
                {
                    "name": "-y --yes",
                    "content": "Do not prompt for confirmation interactively but always assume the answer yes. Use\nwith extreme caution.  (For automatic no, see -qq.)\n",
                    "flag": "-y",
                    "long": "--yes"
                },
                {
                    "name": "-Z --zero",
                    "content": "Set zeroing mode for thin pool. Note: already provisioned blocks from pool in non-zero\nmode are not cleared in unwritten parts when setting --zero y.\n",
                    "flag": "-Z",
                    "long": "--zero"
                }
            ]
        },
        "VARIABLES": {
            "content": "VG\nVolume Group name.  See lvm(8) for valid names.\n\nLV\nLogical Volume name.  See lvm(8) for valid names.  An LV positional arg generally  in‐\ncludes  the VG name and LV name, e.g. VG/LV.  LV followed by <type> indicates that an\nLV of the given type is required. (raid represents raid<N> type)\n\nTag\nTag name.  See lvm(8) for information about tag names and using tags in place of a VG,\nLV or PV.\n\nSelect\nSelect  indicates  that a required positional parameter can be omitted if the --select\noption is used.  No arg appears in this position.\n\nString\nSee the option description for information about the string content.\n\nSize[UNIT]\nSize is an input number that accepts an optional unit.  Input units are always treated\nas base two values, regardless of capitalization, e.g. 'k' and 'K' both refer to 1024.\nThe default input unit is specified by letter, followed  by  |UNIT.   UNIT  represents\nother  possible  input  units:  bBsSkKmMgGtTpPeE.  b|B is bytes, s|S is sectors of 512\nbytes, k|K is KiB, m|M is MiB, g|G is GiB, t|T is TiB, p|P is PiB, e|E is EiB.   (This\nshould  not  be  confused  with the output control --units, where capital letters mean\nmultiple of 1000.)\n",
            "subsections": []
        },
        "ENVIRONMENT VARIABLES": {
            "content": "See lvm(8) for information about environment variables used by lvm.  For example, LVMVGNAME\ncan generally be substituted for a required VG parameter.\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "Change LV permission to read-only:\n",
            "subsections": [
                {
                    "name": "lvchange -pr vg00/lvol1",
                    "content": ""
                }
            ]
        },
        "SEE ALSO": {
            "content": "lvm(8) lvm.conf(5) lvmconfig(8)\n\npvchange(8)  pvck(8)  pvcreate(8)  pvdisplay(8) pvmove(8) pvremove(8) pvresize(8) pvs(8) pvs‐‐\ncan(8)\n\nvgcfgbackup(8) vgcfgrestore(8) vgchange(8) vgck(8) vgcreate(8) vgconvert(8) vgdisplay(8)  vg‐‐\nexport(8)  vgextend(8) vgimport(8) vgimportclone(8) vgmerge(8) vgmknodes(8) vgreduce(8) vgre‐‐\nmove(8) vgrename(8) vgs(8) vgscan(8) vgsplit(8)\n\nlvcreate(8) lvchange(8) lvconvert(8) lvdisplay(8) lvextend(8) lvreduce(8)  lvremove(8)  lvre‐‐\nname(8) lvresize(8) lvs(8) lvscan(8)\n\nlvm-fullreport(8) lvm-lvpoll(8) lvm2-activation-generator(8) blkdeactivate(8) lvmdump(8)\n\ndmeventd(8) lvmpolld(8) lvmlockd(8) lvmlockctl(8) cmirrord(8) lvmdbusd(8)\n\nlvmsystemid(7) lvmreport(7) lvmraid(7) lvmthin(7) lvmcache(7)\n\n\n\nRed Hat, Inc.                     LVM TOOLS 2.03.11(2) (2021-01-08)                      LVCHANGE(8)",
            "subsections": []
        }
    },
    "summary": "lvchange - Change the attributes of logical volume(s)",
    "flags": [
        {
            "flag": "-a",
            "long": "--activate",
            "arg": null,
            "description": "Change the active state of LVs. An active LV can be used through a block device, al‐ lowing data on the LV to be accessed. y makes LVs active, or available. n makes LVs inactive, or unavailable. The block device for the LV is added or removed from the system using device-mapper in the kernel. A symbolic link /dev/VGName/LVName pointing to the device node is also added/removed. All software and scripts should access the device through the symbolic link and present this as the name of the device. The lo‐ cation and name of the underlying device node may depend on the distribution, configu‐ ration (e.g. udev), or release version. ay specifies autoactivation, in which case an LV is activated only if it matches an item in lvm.conf activation/autoactivationvol‐ umelist. If the list is not set, all LVs are considered to match, and if if the list is set but empty, no LVs match. Autoactivation should be used during system boot to make it possible to select which LVs should be automatically activated by the system. See lvmlockd(8) for more information about activation options ey and sy for shared VGs. --activationmode partial|degraded|complete Determines if LV activation is allowed when PVs are missing, e.g. because of a device failure. complete only allows LVs with no missing PVs to be activated, and is the most restrictive mode. degraded allows RAID LVs with missing PVs to be activated. (This does not include the \"mirror\" type, see \"raid1\" instead.) partial allows any LV with missing PVs to be activated, and should only be used for recovery or repair. For default, see lvm.conf/activationmode. See lvmraid(7) for more information. --addtag Tag Adds a tag to a PV, VG or LV. This option can be repeated to add multiple tags at once. See lvm(8) for information about tags. --alloc contiguous|cling|clingbytags|normal|anywhere|inherit Determines the allocation policy when a command needs to allocate Physical Extents (PEs) from the VG. Each VG and LV has an allocation policy which can be changed with vgchange/lvchange, or overriden on the command line. normal applies common sense rules such as not placing parallel stripes on the same PV. inherit applies the VG policy to an LV. contiguous requires new PEs be placed adjacent to existing PEs. cling places new PEs on the same PV as existing PEs in the same stripe of the LV. If there are sufficient PEs for an allocation, but normal does not use them, anywhere will use them even if it reduces performance, e.g. by placing two stripes on the same PV. Optional positional PV args on the command line can also be used to limit which PVs the command will use for allocation. See lvm(8) for more information about allo‐ cation."
        },
        {
            "flag": "-A",
            "long": "--autobackup",
            "arg": null,
            "description": "Specifies if metadata should be backed up automatically after a change. Enabling this is strongly advised! See vgcfgbackup(8) for more information. --cachemode writethrough|writeback|passthrough Specifies when writes to a cache LV should be considered complete. writeback consid‐ ers a write complete as soon as it is stored in the cache pool. writethough considers a write complete only when it has been stored in both the cache pool and on the origin LV. While writethrough may be slower for writes, it is more resilient if something should happen to a device associated with the cache pool LV. With passthrough, all reads are served from the origin LV (all reads miss the cache) and all writes are for‐ warded to the origin LV; additionally, write hits cause cache block invalidates. See lvmcache(7) for more information. --cachepolicy String Specifies the cache policy for a cache LV. See lvmcache(7) for more information. --cachesettings String Specifies tunable values for a cache LV in \"Key = Value\" form. Repeat this option to specify multiple values. (The default values should usually be adequate.) The spe‐ cial string value default switches settings back to their default kernel values and removes them from the list of settings stored in LVM metadata. See lvmcache(7) for more information. --commandprofile String The command profile to use for command configuration. See lvm.conf(5) for more infor‐ mation about profiles. --compression y|n Controls whether compression is enabled or disable for VDO volume. See lvmvdo(7) for more information about VDO usage. --config String Config settings for the command. These override lvm.conf settings. The String arg uses the same format as lvm.conf, or may use section/field syntax. See lvm.conf(5) for more information about config."
        },
        {
            "flag": "-C",
            "long": "--contiguous",
            "arg": null,
            "description": "Sets or resets the contiguous allocation policy for LVs. Default is no contiguous al‐ location based on a next free principle. It is only possible to change a non-contigu‐ ous allocation policy to contiguous if all of the allocated physical extents in the LV are already contiguous."
        },
        {
            "flag": "-d",
            "long": "--debug",
            "arg": null,
            "description": "Set debug level. Repeat from 1 to 6 times to increase the detail of messages sent to the log file and/or syslog (if configured). --deduplication y|n Controls whether deduplication is enabled or disable for VDO volume. See lvmvdo(7) for more information about VDO usage. --deltag Tag Deletes a tag from a PV, VG or LV. This option can be repeated to delete multiple tags at once. See lvm(8) for information about tags."
        },
        {
            "flag": "",
            "long": "--detachprofile",
            "arg": null,
            "description": "Detaches a metadata profile from a VG or LV. See lvm.conf(5) for more information about profiles. --discards passdown|nopassdown|ignore Specifies how the device-mapper thin pool layer in the kernel should handle discards. ignore causes the thin pool to ignore discards. nopassdown causes the thin pool to process discards itself to allow reuse of unneeded extents in the thin pool. passdown causes the thin pool to process discards itself (like nopassdown) and pass the dis‐ cards to the underlying device. See lvmthin(7) for more information. --driverloaded y|n If set to no, the command will not attempt to use device-mapper. For testing and de‐ bugging. --errorwhenfull y|n Specifies thin pool behavior when data space is exhausted. When yes, device-mapper will immediately return an error when a thin pool is full and an I/O request requires space. When no, device-mapper will queue these I/O requests for a period of time to allow the thin pool to be extended. Errors are returned if no space is available af‐ ter the timeout. (Also see dm-thin-pool kernel module option nospacetimeout.) See lvmthin(7) for more information."
        },
        {
            "flag": "-f",
            "long": "--force",
            "arg": null,
            "description": "Override various checks, confirmations and protections. Use with extreme caution."
        },
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "Display help text."
        },
        {
            "flag": "-K",
            "long": "--ignoreactivationskip",
            "arg": null,
            "description": "Ignore the \"activation skip\" LV flag during activation to allow LVs with the flag set to be activated."
        },
        {
            "flag": "",
            "long": "--ignorelockingfailure",
            "arg": null,
            "description": "Allows a command to continue with read-only metadata operations after locking fail‐ ures."
        },
        {
            "flag": "",
            "long": "--ignoremonitoring",
            "arg": null,
            "description": "Do not interact with dmeventd unless --monitor is specified. Do not use this if dmeventd is already monitoring a device. --lockopt String Used to pass options for special cases to lvmlockd. See lvmlockd(8) for more informa‐ tion."
        },
        {
            "flag": "",
            "long": "--longhelp",
            "arg": null,
            "description": "Display long help text."
        },
        {
            "flag": "-j",
            "long": "--major",
            "arg": null,
            "description": "Sets the major number of an LV block device. --[raid]maxrecoveryrate Size[k|UNIT] Sets the maximum recovery rate for a RAID LV. The rate value is an amount of data per second for each device in the array. Setting the rate to 0 means it will be un‐ bounded. See lvmraid(7) for more information. --metadataprofile String The metadata profile to use for command configuration. See lvm.conf(5) for more in‐ formation about profiles. --minor Number Sets the minor number of an LV block device. --[raid]minrecoveryrate Size[k|UNIT] Sets the minimum recovery rate for a RAID LV. The rate value is an amount of data per second for each device in the array. Setting the rate to 0 means it will be un‐ bounded. See lvmraid(7) for more information. --monitor y|n Start (yes) or stop (no) monitoring an LV with dmeventd. dmeventd monitors kernel events for an LV, and performs automated maintenance for the LV in reponse to specific events. See dmeventd(8) for more information."
        },
        {
            "flag": "",
            "long": "--nolocking",
            "arg": null,
            "description": "Disable locking."
        },
        {
            "flag": "",
            "long": "--noudevsync",
            "arg": null,
            "description": "Disables udev synchronisation. The process will not wait for notification from udev. It will continue irrespective of any possible udev processing in the background. Only use this if udev is not running or has rules that ignore the devices LVM creates."
        },
        {
            "flag": "-P",
            "long": "--partial",
            "arg": null,
            "description": "Commands will do their best to activate LVs with missing PV extents. Missing extents may be replaced with error or zero segments according to the lvm.conf miss‐ ingstripefiller setting. Metadata may not be changed with this option."
        },
        {
            "flag": "-p",
            "long": "--permission",
            "arg": null,
            "description": "Set access permission to read only r or read and write rw."
        },
        {
            "flag": "-M",
            "long": "--persistent",
            "arg": null,
            "description": "When yes, makes the specified minor number persistent. --poll y|n When yes, start the background transformation of an LV. An incomplete transformation, e.g. pvmove or lvconvert interrupted by reboot or crash, can be restarted from the last checkpoint with --poll y. When no, background transformation of an LV will not occur, and the transformation will not complete. It may not be appropriate to immedi‐ ately poll an LV after activation, in which case --poll n can be used to defer polling until a later --poll y command. --profile String An alias for --commandprofile or --metadataprofile, depending on the command."
        },
        {
            "flag": "-q",
            "long": "--quiet",
            "arg": null,
            "description": "Suppress output and log messages. Overrides --debug and --verbose. Repeat once to also suppress any prompts with answer 'no'."
        },
        {
            "flag": "-r",
            "long": "--readahead",
            "arg": null,
            "description": "Sets read ahead sector count of an LV. auto is the default which allows the kernel to choose a suitable value automatically. none is equivalent to zero."
        },
        {
            "flag": "",
            "long": "--readonly",
            "arg": null,
            "description": "Run the command in a special read-only mode which will read on-disk metadata without needing to take any locks. This can be used to peek inside metadata used by a virtual machine image while the virtual machine is running. No attempt will be made to commu‐ nicate with the device-mapper kernel driver, so this option is unable to report whether or not LVs are actually in use. --rebuild PV Selects a PV to rebuild in a raid LV. Multiple PVs can be rebuilt by repeating this option. Use this option in place of --resync or --syncaction repair when the PVs with corrupted data are known, and their data should be reconstructed rather than recon‐ structing default (rotating) data. See lvmraid(7) for more information."
        },
        {
            "flag": "",
            "long": "--refresh",
            "arg": null,
            "description": "If the LV is active, reload its metadata. This is not necessary in normal operation, but may be useful if something has gone wrong, or if some form of manual LV sharing is being used. --reportformat basic|json Overrides current output format for reports which is defined globally by the re‐ port/outputformat setting in lvm.conf. basic is the original format with columns and rows. If there is more than one report per command, each report is prefixed with the report name for identification. json produces report output in JSON format. See lvmre‐‐ port(7) for more information."
        },
        {
            "flag": "",
            "long": "--resync",
            "arg": null,
            "description": "Initiates mirror synchronization. Synchronization generally happens automatically, but this option forces it to run. Also see --rebuild to synchronize a specific PV. Dur‐ ing synchronization, data is read from the primary mirror device and copied to the others. This can take considerable time, during which the LV is without a complete re‐ dundant copy of the data. See lvmraid(7) for more information."
        },
        {
            "flag": "-S",
            "long": "--select",
            "arg": null,
            "description": "Select objects for processing and reporting based on specified criteria. The criteria syntax is described by --select help and lvmreport(7). For reporting commands, one row is displayed for each object matching the criteria. See --options help for se‐ lectable object fields. Rows can be displayed with an additional \"selected\" field (-o selected) showing 1 if the row matches the selection and 0 otherwise. For non-report‐ ing commands which process LVM entities, the selection is used to choose items to process."
        },
        {
            "flag": "-k",
            "long": "--setactivationskip",
            "arg": null,
            "description": "Persistently sets (yes) or clears (no) the \"activation skip\" flag on an LV. An LV with this flag set is not activated unless the --ignoreactivationskip option is used by the activation command. This flag is set by default on new thin snapshot LVs. The flag is not applied to deactivation. The current value of the flag is indicated in the lvs lvattr bits. --[raid]syncaction check|repair Initiate different types of RAID synchronization. This causes the RAID LV to read all data and parity blocks in the array and check for discrepancies (mismatches between mirrors or incorrect parity values). check will count but not correct discrepancies. repair will correct discrepancies. See lvs for reporting discrepancies found or re‐ paired."
        },
        {
            "flag": "",
            "long": "--sysinit",
            "arg": null,
            "description": "Indicates that vgchange/lvchange is being invoked from early system initialisation scripts (e.g. rc.sysinit or an initrd), before writable filesystems are available. As such, some functionality needs to be disabled and this option acts as a shortcut which selects an appropriate set of options. Currently, this is equivalent to using --ig‐ norelockingfailure, --ignoremonitoring, --poll n, and setting env var LVMSUP‐ PRESSLOCKINGFAILUREMESSAGES. vgchange/lvchange skip autoactivation, and defer to pvscan autoactivation."
        },
        {
            "flag": "-t",
            "long": "--test",
            "arg": null,
            "description": "Run in test mode. Commands will not update metadata. This is implemented by disabling all metadata writing but nevertheless returning success to the calling function. This may lead to unusual error messages in multi-stage operations if a tool relies on read‐ ing back metadata it believes has changed but hasn't."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "Set verbose level. Repeat from 1 to 4 times to increase the detail of messages sent to stdout and stderr."
        },
        {
            "flag": "",
            "long": "--version",
            "arg": null,
            "description": "Display version information. --[raid]writebehind Number The maximum number of outstanding writes that are allowed to devices in a RAID1 LV that is marked write-mostly. Once this value is exceeded, writes become synchronous (i.e. all writes to the constituent devices must complete before the array signals the write has completed). Setting the value to zero clears the preference and allows the system to choose the value arbitrarily. --[raid]writemostly PV[:t|n|y] Mark a device in a RAID1 LV as write-mostly. All reads to these drives will be avoided unless absolutely necessary. This keeps the number of I/Os to the drive to a minimum. The default behavior is to set the write-mostly attribute for the specified PV. It is also possible to remove the write-mostly flag by adding the suffix :n at the end of the PV name, or to toggle the value with the suffix :t. Repeat this option to change the attribute on multiple PVs."
        },
        {
            "flag": "-y",
            "long": "--yes",
            "arg": null,
            "description": "Do not prompt for confirmation interactively but always assume the answer yes. Use with extreme caution. (For automatic no, see -qq.)"
        },
        {
            "flag": "-Z",
            "long": "--zero",
            "arg": null,
            "description": "Set zeroing mode for thin pool. Note: already provisioned blocks from pool in non-zero mode are not cleared in unwritten parts when setting --zero y."
        }
    ],
    "examples": [
        "Change LV permission to read-only:"
    ],
    "see_also": [
        {
            "name": "lvm",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvm/8/json"
        },
        {
            "name": "lvm.conf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/lvm.conf/5/json"
        },
        {
            "name": "lvmconfig",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmconfig/8/json"
        },
        {
            "name": "pvchange",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvchange/8/json"
        },
        {
            "name": "pvck",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvck/8/json"
        },
        {
            "name": "pvcreate",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvcreate/8/json"
        },
        {
            "name": "pvdisplay",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvdisplay/8/json"
        },
        {
            "name": "pvmove",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvmove/8/json"
        },
        {
            "name": "pvremove",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvremove/8/json"
        },
        {
            "name": "pvresize",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvresize/8/json"
        },
        {
            "name": "pvs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/pvs/8/json"
        },
        {
            "name": "can",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/can/8/json"
        },
        {
            "name": "vgcfgbackup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgcfgbackup/8/json"
        },
        {
            "name": "vgcfgrestore",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgcfgrestore/8/json"
        },
        {
            "name": "vgchange",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgchange/8/json"
        },
        {
            "name": "vgck",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgck/8/json"
        },
        {
            "name": "vgcreate",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgcreate/8/json"
        },
        {
            "name": "vgconvert",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgconvert/8/json"
        },
        {
            "name": "vgdisplay",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgdisplay/8/json"
        },
        {
            "name": "export",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/export/8/json"
        },
        {
            "name": "vgextend",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgextend/8/json"
        },
        {
            "name": "vgimport",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgimport/8/json"
        },
        {
            "name": "vgimportclone",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgimportclone/8/json"
        },
        {
            "name": "vgmerge",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgmerge/8/json"
        },
        {
            "name": "vgmknodes",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgmknodes/8/json"
        },
        {
            "name": "vgreduce",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgreduce/8/json"
        },
        {
            "name": "move",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/move/8/json"
        },
        {
            "name": "vgrename",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgrename/8/json"
        },
        {
            "name": "vgs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgs/8/json"
        },
        {
            "name": "vgscan",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgscan/8/json"
        },
        {
            "name": "vgsplit",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/vgsplit/8/json"
        },
        {
            "name": "lvcreate",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvcreate/8/json"
        },
        {
            "name": "lvconvert",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvconvert/8/json"
        },
        {
            "name": "lvdisplay",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvdisplay/8/json"
        },
        {
            "name": "lvextend",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvextend/8/json"
        },
        {
            "name": "lvreduce",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvreduce/8/json"
        },
        {
            "name": "lvremove",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvremove/8/json"
        },
        {
            "name": "name",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/name/8/json"
        },
        {
            "name": "lvresize",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvresize/8/json"
        },
        {
            "name": "lvs",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvs/8/json"
        },
        {
            "name": "lvscan",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvscan/8/json"
        },
        {
            "name": "lvm-fullreport",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvm-fullreport/8/json"
        },
        {
            "name": "lvm-lvpoll",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvm-lvpoll/8/json"
        },
        {
            "name": "lvm2-activation-generator",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvm2-activation-generator/8/json"
        },
        {
            "name": "blkdeactivate",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/blkdeactivate/8/json"
        },
        {
            "name": "lvmdump",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmdump/8/json"
        },
        {
            "name": "dmeventd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/dmeventd/8/json"
        },
        {
            "name": "lvmpolld",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmpolld/8/json"
        },
        {
            "name": "lvmlockd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmlockd/8/json"
        },
        {
            "name": "lvmlockctl",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmlockctl/8/json"
        },
        {
            "name": "cmirrord",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/cmirrord/8/json"
        },
        {
            "name": "lvmdbusd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/lvmdbusd/8/json"
        },
        {
            "name": "lvmsystemid",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/lvmsystemid/7/json"
        },
        {
            "name": "lvmreport",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/lvmreport/7/json"
        },
        {
            "name": "lvmraid",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/lvmraid/7/json"
        },
        {
            "name": "lvmthin",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/lvmthin/7/json"
        },
        {
            "name": "lvmcache",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/lvmcache/7/json"
        }
    ]
}