{
    "content": [
        {
            "type": "text",
            "text": "# lvm.conf (man)\n\n## NAME\n\nlvm.conf — Configuration file for LVM2\n\n## SYNOPSIS\n\n/etc/lvm/lvm.conf\n\n## DESCRIPTION\n\nlvm.conf  is loaded during the initialisation phase of lvm(8).  This file can in turn lead to\nother files being loaded - settings read in later override earlier settings.  File timestamps\nare checked between commands and if any have changed, all the files are reloaded.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (4 subsections)\n- **SYNTAX**\n- **SETTINGS** (5 subsections)\n- **FILES**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "lvm.conf",
        "section": "",
        "mode": "man",
        "summary": "lvm.conf — Configuration file for LVM2",
        "synopsis": "/etc/lvm/lvm.conf",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "lvm",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvm/8/json"
            },
            {
                "name": "lvmconfig",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/lvmconfig/8/json"
            },
            {
                "name": "2.03.16",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/2.03.16/2/json"
            },
            {
                "name": "LVM.CONF",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/LVM.CONF/5/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 6,
                "subsections": [
                    {
                        "name": "lvmconfig --typeconfig default --withcomments --withspaces",
                        "lines": 3
                    },
                    {
                        "name": "direct config override on command line",
                        "lines": 5
                    },
                    {
                        "name": "profile config",
                        "lines": 44
                    },
                    {
                        "name": "tag config",
                        "lines": 12
                    }
                ]
            },
            {
                "name": "SYNTAX",
                "lines": 43,
                "subsections": []
            },
            {
                "name": "SETTINGS",
                "lines": 4,
                "subsections": [
                    {
                        "name": "lvmconfig --type default",
                        "lines": 2
                    },
                    {
                        "name": "lvmconfig --type default --withcomments",
                        "lines": 2
                    },
                    {
                        "name": "lvmconfig --type current",
                        "lines": 2
                    },
                    {
                        "name": "lvmconfig --type diff",
                        "lines": 3
                    },
                    {
                        "name": "lvmconfig --type default --withcomments Section/Setting",
                        "lines": 1
                    }
                ]
            },
            {
                "name": "FILES",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "lvm.conf — Configuration file for LVM2\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "/etc/lvm/lvm.conf\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "lvm.conf  is loaded during the initialisation phase of lvm(8).  This file can in turn lead to\nother files being loaded - settings read in later override earlier settings.  File timestamps\nare checked between commands and if any have changed, all the files are reloaded.\n\nFor a description of each lvm.conf(5) setting, run:\n",
                "subsections": [
                    {
                        "name": "lvmconfig --typeconfig default --withcomments --withspaces",
                        "content": "The settings defined in lvm.conf can be overridden by any  of  these  extended  configuration\nmethods:\n"
                    },
                    {
                        "name": "direct config override on command line",
                        "content": "The  --config ConfigurationString command line option takes the ConfigurationString as\ndirect string representation of the configuration to override the existing  configura‐\ntion. The ConfigurationString is of exactly the same format as used in any LVM config‐\nuration file.\n"
                    },
                    {
                        "name": "profile config",
                        "content": "A  profile  is a set of selected customizable configuration settings that are aimed to\nachieve a certain characteristics in various environments or uses. It's used to  over‐\nride  existing  configuration.   Normally, the name of the profile should reflect that\nenvironment or use.\n\nThere are two groups of profiles recognised: command profiles and metadata profiles.\n\nThe command profile is used to override selected configuration settings at global LVM command\nlevel - it is applied at the very beginning of LVM command execution and it is used  through‐\nout  the  whole  time  of  LVM command execution. The command profile is applied by using the\n--commandprofile ProfileName command line option that is recognised by all LVM2 commands.\n\nThe metadata profile is used to override selected configuration settings at Volume Group/Log‐\nical Volume level - it is applied independently for each Volume Group/Logical Volume that  is\nbeing processed. As such, each Volume Group/Logical Volume can store the profile name used in\nits  metadata  so  next time the Volume Group/Logical Volume is processed, the profile is ap‐\nplied automatically. If Volume Group and any of its Logical Volumes have  different  profiles\ndefined, the profile defined for the Logical Volume is preferred. The metadata profile can be\nattached/detached  by  using  the  lvchange and vgchange commands and their --metadataprofile\nProfileName and --detachprofile options or the --metadataprofile option during creation  when\nusing vgcreate or lvcreate command.  The vgs and lvs reporting commands provide -o vgprofile\nand  -o lvprofile output options to show the metadata profile currently attached to a Volume\nGroup or a Logical Volume.\n\nThe set of options allowed for command profiles is mutually exclusive when  compared  to  the\nset of options allowed for metadata profiles. The settings that belong to either of these two\nsets can't be mixed together and LVM tools will reject such profiles.\n\nLVM  itself  provides a few predefined configuration profiles.  Users are allowed to add more\nprofiles with different values if needed.  For this purpose, there's the commandprofiletem‐\nplate.profile (for command profiles) and metadataprofiletemplate.profile (for metadata pro‐\nfiles) which contain all settings that are customizable by profiles of  certain  type.  Users\nare  encouraged  to  copy these template profiles and edit them as needed. Alternatively, the\nlvmconfig --file  <ProfileName.profile>  --type  profilable-command  <section>  or  lvmconfig\n--file  <ProfileName.profile>  --type profilable-metadata <section> can be used to generate a\nconfiguration with profilable settings in either of the type for given section and save it to\nnew ProfileName.profile (if the section is not specified, all  profilable  settings  are  re‐\nported).\n\nThe  profiles  are  stored  in  /etc/lvm/profile  directory by default.  This location can be\nchanged by using the config/profiledir setting.  Each profile  configuration  is  stored  in\nProfileName.profile file in the profile directory. When referencing the profile, the .profile\nsuffix is left out.\n"
                    },
                    {
                        "name": "tag config",
                        "content": "See tags configuration setting description below.\n\nWhen several configuration methods are used at the same time and when LVM looks for the value\nof a particular setting, it traverses this config cascade from left to right:\n\ndirect  config  override on command line → command profile config → metadata profile config →\ntag config → lvmlocal.conf → lvm.conf\n\nNo part of this cascade is compulsory. If there's no setting value found at the  end  of  the\ncascade,  a default value is used for that setting.  Use lvmconfig to check what settings are\nin use and what the default values are.\n"
                    }
                ]
            },
            "SYNTAX": {
                "content": "This section describes the configuration file syntax.\n\nWhitespace is not significant unless it is within quotes.  This provides a wide choice of ac‐\nceptable indentation styles.  Comments begin with # and continue to  the  end  of  the  line.\nThey are treated as whitespace.\n\nHere is an informal grammar:\n\nfile = value*\nA configuration file consists of a set of values.\n\nvalue = section | assignment\nA value can either be a new section, or an assignment.\n\nsection = identifier '{' value* '}'\nA section groups associated values together. If the same section is encountered multi‐\nple times, the contents of all instances are concatenated together in the order of ap‐\npearance.\nIt is denoted by a name and delimited by curly brackets.\ne.g. backup {\n...\n}\n\nassignment = identifier '=' ( array | type )\nAn assignment associates a type with an identifier. If the identifier contains forward\nslashes,  those  are interpreted as path delimiters. The statement section/key = value\nis equivalent to section { key = value }. If multiple instances of the  same  key  are\nencountered, only the last value is used (and a warning is issued).\ne.g. level = 7\n\narray =  '[' ( type ',')* type ']' | '[' ']'\nInhomogeneous arrays are supported.\nElements must be separated by commas.\nAn empty array is acceptable.\n\ntype = integer|float|string\ninteger = [0-9]*\nfloat = [0-9]*'.'[0-9]*\nstring = '\"' .* '\"'\n\nStrings  with spaces must be enclosed in double quotes, single words that start with a\nletter can be left unquoted.\n",
                "subsections": []
            },
            "SETTINGS": {
                "content": "The lvmconfig command prints the LVM configuration settings in various  ways.   See  the  man\npage lvmconfig(8).\n\nCommand to print a list of all possible config settings, with their default values:",
                "subsections": [
                    {
                        "name": "lvmconfig --type default",
                        "content": "Command  to  print  a  list of all possible config settings, with their default values, and a\nfull description of each as a comment:"
                    },
                    {
                        "name": "lvmconfig --type default --withcomments",
                        "content": "Command to print a list of all possible config settings, with their current  values  (config‐\nured, non-default values are shown):"
                    },
                    {
                        "name": "lvmconfig --type current",
                        "content": "Command  to  print  all config settings that have been configured with a different value than\nthe default (configured, non-default values are shown):"
                    },
                    {
                        "name": "lvmconfig --type diff",
                        "content": "Command to print a single config setting, with its default value,  and  a  full  description,\nwhere  \"Section\"  refers to the config section, e.g. global, and \"Setting\" refers to the name\nof the specific setting, e.g. umask:"
                    },
                    {
                        "name": "lvmconfig --type default --withcomments Section/Setting",
                        "content": ""
                    }
                ]
            },
            "FILES": {
                "content": "/etc/lvm/lvm.conf\n/etc/lvm/lvmlocal.conf\n/etc/lvm/archive\n/etc/lvm/backup\n/etc/lvm/cache/.cache\n/etc/lvm/profile\n/run/lock/lvm\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "lvm(8), lvmconfig(8)\n\nRed Hat, Inc.                     LVM TOOLS 2.03.16(2) (2022-05-18)                      LVM.CONF(5)",
                "subsections": []
            }
        }
    }
}