4.8. Customized Reporting for LVM
4.8. Customized Reporting for LVM LVM provides a wide range of configuration and command line options to produce customized reports and to filter the report's output. For a full description of LVM reporting features and capabilities, see the lvmreport (7) man page. You can produce concise and customizable reports of LVM objects with the pvs , lvs , and vgs commands. The reports that these commands generate include one line of output for each object. Each line contains an ordered list of fields of properties related to the object. There are five ways to select the objects to be reported: by physical volume, volume group, logical volume, physical volume segment, and logical volume segment. As of the Red Hat Enterprise Linux 7.3 release, you can report information about physical volumes, volume groups, logical volumes, physical volume segments, and logical volume segments all at once with the lvm fullreport command. For information on this command and its capabilities, see the lvm-fullreport (8) man page. As of the Red Hat Enterprise Linux 7.3 release, LVM supports log reports, which contain a log of operations, messages, and per-object status with complete object identification collected during LVM command execution. For an example of an LVM log report, see Section 4.8.6, "Command Log Reporting (Red Hat Enterprise Linux 7.3 and later)" . For further information about the LVM log report. see the lvmreport (7) man page. The following sections provide summary information on the use of the pvs , lvs , and vgs commands to customize a report: Section 4.8.1, "Format Control" , which provides a summary of command arguments you can use to control the format of the report. Section 4.8.2, "Object Display Fields" , which provides a list of the fields you can display for each LVM object. Section 4.8.3, "Sorting LVM Reports" , which provides a summary of command arguments you can use to sort the generated report. Section 4.8.4, "Specifying Units" , which provides instructions for specifying the units of the report output. Section 4.8.5, "JSON Format Output (Red Hat Enterprise Linux 7.3 and later)" , which provides an example that specifies JSON format output (Red Hat Enterprise Linux 7.3 and later). Section 4.8.6, "Command Log Reporting (Red Hat Enterprise Linux 7.3 and later)" , which provides an example of a command log. 4.8.1. Format Control Whether you use the pvs , lvs , or vgs command determines the default set of fields displayed and the sort order. You can control the output of these commands with the following arguments: You can change what fields are displayed to something other than the default by using the -o argument. For example, the following output is the default display for the pvs command (which displays information about physical volumes). The following command displays only the physical volume name and size. You can append a field to the output with the plus sign (+), which is used in combination with the -o argument. The following example displays the UUID of the physical volume in addition to the default fields. Adding the -v argument to a command includes some extra fields. For example, the pvs -v command will display the DevSize and PV UUID fields in addition to the default fields. The --noheadings argument suppresses the headings line. This can be useful for writing scripts. The following example uses the --noheadings argument in combination with the pv_name argument, which will generate a list of all physical volumes. The --separator separator argument uses separator to separate each field. The following example separates the default output fields of the pvs command with an equals sign (=). To keep the fields aligned when using the separator argument, use the separator argument in conjunction with the --aligned argument. For a full listing of display arguments, see the pvs (8), vgs (8) and lvs (8) man pages. Volume group fields can be mixed with either physical volume (and physical volume segment) fields or with logical volume (and logical volume segment) fields, but physical volume and logical volume fields cannot be mixed. For example, the following command will display one line of output for each physical volume. 4.8.2. Object Display Fields This section provides a series of tables that list the information you can display about the LVM objects with the pvs , vgs , and lvs commands. For convenience, a field name prefix can be dropped if it matches the default for the command. For example, with the pvs command, name means pv_name , but with the vgs command, name is interpreted as vg_name . Executing the following command is the equivalent of executing pvs -o pv_free . Note The number of characters in the attribute fields in pvs , vgs , and lvs output may increase in later releases. The existing character fields will not change position, but new fields may be added to the end. You should take this into account when writing scripts that search for particular attribute characters, searching for the character based on its relative position to the beginning of the field, but not for its relative position to the end of the field. For example, to search for the character p in the ninth bit of the lv_attr field, you could search for the string "^/........p/", but you should not search for the string "/*pUSD/". The pvs Command Table 4.3, "The pvs Command Display Fields" lists the display arguments of the pvs command, along with the field name as it appears in the header display and a description of the field. Table 4.3. The pvs Command Display Fields Argument Header Description dev_size DevSize The size of the underlying device on which the physical volume was created pe_start 1st PE Offset to the start of the first physical extent in the underlying device pv_attr Attr Status of the physical volume: (a)llocatable or e(x)ported. pv_fmt Fmt The metadata format of the physical volume ( lvm2 or lvm1 ) pv_free PFree The free space remaining on the physical volume pv_name PV The physical volume name pv_pe_alloc_count Alloc Number of used physical extents pv_pe_count PE Number of physical extents pvseg_size SSize The segment size of the physical volume pvseg_start Start The starting physical extent of the physical volume segment pv_size PSize The size of the physical volume pv_tags PV Tags LVM tags attached to the physical volume pv_used Used The amount of space currently used on the physical volume pv_uuid PV UUID The UUID of the physical volume The pvs command displays the following fields by default: pv_name , vg_name , pv_fmt , pv_attr , pv_size , pv_free . The display is sorted by pv_name . Using the -v argument with the pvs command adds the following fields to the default display: dev_size , pv_uuid . You can use the --segments argument of the pvs command to display information about each physical volume segment. A segment is a group of extents. A segment view can be useful if you want to see whether your logical volume is fragmented. The pvs --segments command displays the following fields by default: pv_name , vg_name , pv_fmt , pv_attr , pv_size , pv_free , pvseg_start , pvseg_size . The display is sorted by pv_name and pvseg_size within the physical volume. You can use the pvs -a command to see devices detected by LVM that have not been initialized as LVM physical volumes. The vgs Command Table 4.4, "vgs Display Fields" lists the display arguments of the vgs command, along with the field name as it appears in the header display and a description of the field. Table 4.4. vgs Display Fields Argument Header Description lv_count #LV The number of logical volumes the volume group contains max_lv MaxLV The maximum number of logical volumes allowed in the volume group (0 if unlimited) max_pv MaxPV The maximum number of physical volumes allowed in the volume group (0 if unlimited) pv_count #PV The number of physical volumes that define the volume group snap_count #SN The number of snapshots the volume group contains vg_attr Attr Status of the volume group: (w)riteable, (r)eadonly, resi(z)eable, e(x)ported, (p)artial and (c)lustered. vg_extent_count #Ext The number of physical extents in the volume group vg_extent_size Ext The size of the physical extents in the volume group vg_fmt Fmt The metadata format of the volume group ( lvm2 or lvm1 ) vg_free VFree Size of the free space remaining in the volume group vg_free_count Free Number of free physical extents in the volume group vg_name VG The volume group name vg_seqno Seq Number representing the revision of the volume group vg_size VSize The size of the volume group vg_sysid SYS ID LVM1 System ID vg_tags VG Tags LVM tags attached to the volume group vg_uuid VG UUID The UUID of the volume group The vgs command displays the following fields by default: vg_name , pv_count , lv_count , snap_count , vg_attr , vg_size , vg_free . The display is sorted by vg_name . Using the -v argument with the vgs command adds the following fields to the default display: vg_extent_size , vg_uuid . The lvs Command Table 4.5, "lvs Display Fields" lists the display arguments of the lvs command, along with the field name as it appears in the header display and a description of the field. Note In later releases of Red Hat Enterprise Linux, the output of the lvs command may differ, with additional fields in the output. The order of the fields, however, will remain the same and any additional fields will appear at the end of the display. Table 4.5. lvs Display Fields Argument Header Description chunksize chunk_size Chunk Unit size in a snapshot volume copy_percent Copy% The synchronization percentage of a mirrored logical volume; also used when physical extents are being moved with the pv_move command devices Devices The underlying devices that make up the logical volume: the physical volumes, logical volumes, and start physical extents and logical extents lv_ancestors Ancestors (Red Hat Enterprise Linux 7.2 and later) For thin pool snapshots, the ancestors of the logical volume lv_descendants Descendants (Red Hat Enterprise Linux 7.2 and later) For thin pool snapshots, the descendants of the logical volume lv_attr Attr The status of the logical volume. The logical volume attribute bits are as follows: Bit 1: Volume type: (m)irrored, (M)irrored without initial sync, (o)rigin, (O)rigin with merging snapshot, (r)aid, (R)aid without initial sync, (s)napshot, merging (S)napshot, (p)vmove, (v)irtual, mirror or raid (i)mage, mirror or raid (I)mage out-of-sync, mirror (l)og device, under (c)onversion, thin (V)olume, (t)hin pool, (T)hin pool data, raid or thin pool m(e)tadata or pool metadata spare, Bit 2: Permissions: (w)riteable, (r)ead-only, (R)ead-only activation of non-read-only volume Bit 3: Allocation policy: (a)nywhere, (c)ontiguous, (i)nherited, c(l)ing, (n)ormal. This is capitalized if the volume is currently locked against allocation changes, for example while executing the pvmove command. Bit 4: fixed (m)inor Bit 5: State: (a)ctive, (s)uspended, (I)nvalid snapshot, invalid (S)uspended snapshot, snapshot (m)erge failed, suspended snapshot (M)erge failed, mapped (d)evice present without tables, mapped device present with (i)nactive table Bit 6: device (o)pen Bit 7: Target type: (m)irror, (r)aid, (s)napshot, (t)hin, (u)nknown, (v)irtual. This groups logical volumes related to the same kernel target together. So, for example, mirror images, mirror logs as well as mirrors themselves appear as (m) if they use the original device-mapper mirror kernel driver, whereas the raid equivalents using the md raid kernel driver all appear as (r). Snapshots using the original device-mapper driver appear as (s), whereas snapshots of thin volumes using the thin provisioning driver appear as (t). Bit 8: Newly-allocated data blocks are overwritten with blocks of (z)eroes before use. Bit 9: Volume Health: (p)artial, (r)efresh needed, (m)ismatches exist, (w)ritemostly. (p)artial signifies that one or more of the Physical Volumes this Logical Volume uses is missing from the system. (r)efresh signifies that one or more of the Physical Volumes this RAID Logical Volume uses had suffered a write error. The write error could be due to a temporary failure of that Physical Volume or an indication that it is failing. The device should be refreshed or replaced. (m)ismatches signifies that the RAID logical volume has portions of the array that are not coherent. Inconsistencies are discovered by initiating a check operation on a RAID logical volume. (The scrubbing operations, check and repair , can be performed on a RAID Logical Volume by means of the lvchange command.) (w)ritemostly signifies the devices in a RAID 1 logical volume that have been marked write-mostly. Bit 10: s(k)ip activation: this volume is flagged to be skipped during activation. lv_kernel_major KMaj Actual major device number of the logical volume (-1 if inactive) lv_kernel_minor KMIN Actual minor device number of the logical volume (-1 if inactive) lv_major Maj The persistent major device number of the logical volume (-1 if not specified) lv_minor Min The persistent minor device number of the logical volume (-1 if not specified) lv_name LV The name of the logical volume lv_size LSize The size of the logical volume lv_tags LV Tags LVM tags attached to the logical volume lv_uuid LV UUID The UUID of the logical volume. mirror_log Log Device on which the mirror log resides modules Modules Corresponding kernel device-mapper target necessary to use this logical volume move_pv Move Source physical volume of a temporary logical volume created with the pvmove command origin Origin The origin device of a snapshot volume regionsize region_size Region The unit size of a mirrored logical volume seg_count #Seg The number of segments in the logical volume seg_size SSize The size of the segments in the logical volume seg_start Start Offset of the segment in the logical volume seg_tags Seg Tags LVM tags attached to the segments of the logical volume segtype Type The segment type of a logical volume (for example: mirror, striped, linear) snap_percent Snap% Current percentage of a snapshot volume that is in use stripes #Str Number of stripes or mirrors in a logical volume stripesize stripe_size Stripe Unit size of the stripe in a striped logical volume The lvs command displays the following fields by default: lv_name , vg_name , lv_attr , lv_size , origin , snap_percent , move_pv , mirror_log , copy_percent , convert_lv . The default display is sorted by vg_name and lv_name within the volume group. Using the -v argument with the lvs command adds the following fields to the default display: seg_count , lv_major , lv_minor , lv_kernel_major , lv_kernel_minor , lv_uuid . You can use the --segments argument of the lvs command to display information with default columns that emphasize the segment information. When you use the segments argument, the seg prefix is optional. The lvs --segments command displays the following fields by default: lv_name , vg_name , lv_attr , stripes , segtype , seg_size . The default display is sorted by vg_name , lv_name within the volume group, and seg_start within the logical volume. If the logical volumes were fragmented, the output from this command would show that. Using the -v argument with the lvs --segments command adds the following fields to the default display: seg_start , stripesize , chunksize . The following example shows the default output of the lvs command on a system with one logical volume configured, followed by the default output of the lvs command with the segments argument specified. 4.8.3. Sorting LVM Reports Normally the entire output of the lvs , vgs , or pvs command has to be generated and stored internally before it can be sorted and columns aligned correctly. You can specify the --unbuffered argument to display unsorted output as soon as it is generated. To specify an alternative ordered list of columns to sort on, use the -O argument of any of the reporting commands. It is not necessary to include these fields within the output itself. The following example shows the output of the pvs command that displays the physical volume name, size, and free space. The following example shows the same output, sorted by the free space field. The following example shows that you do not need to display the field on which you are sorting. To display a reverse sort, precede a field you specify after the -O argument with the - character. 4.8.4. Specifying Units To specify the unit for the LVM report display, use the --units argument of the report command. You can specify (b)ytes, (k)ilobytes, (m)egabytes, (g)igabytes, (t)erabytes, (e)xabytes, (p)etabytes, and (h)uman-readable. The default display is human-readable. You can override the default by setting the units parameter in the global section of the lvm.conf file. The following example specifies the output of the pvs command in megabytes rather than the default gigabytes. By default, units are displayed in powers of 2 (multiples of 1024). You can specify that units be displayed in multiples of 1000 by capitalizing the unit specification (B, K, M, G, T, H). The following command displays the output as a multiple of 1024, the default behavior. The following command displays the output as a multiple of 1000. You can also specify (s)ectors (defined as 512 bytes) or custom units. The following example displays the output of the pvs command as a number of sectors. The following example displays the output of the pvs command in units of 4 MB. 4.8.5. JSON Format Output (Red Hat Enterprise Linux 7.3 and later) As of Red Hat Enterprise Linux 7.3, you can use the --reportformat option of the LVM display commands to display the output in JSON format. The following example shows the output of the lvs in standard default format. The following command shows the output of the same LVM configuration when you specify JSON format. You can also set the report format as a configuration option in the /etc/lvm/lvm.conf file, using the output_format setting. The --reportformat setting of the command line, however, takes precedence over this setting. 4.8.6. Command Log Reporting (Red Hat Enterprise Linux 7.3 and later) As of Red Hat Enterprise Linux 7.3, both report-oriented and processing-oriented LVM commands can report the command log if this is enabled with the log/report_command_log configuration setting. You can determine the set of fields to display and to sort by for this report. The following examples configures LVM to generate a complete log report for LVM commands. In this example, you can see that both logical volumes lvol0 and lvol1 were successfully processed, as was the volume group VG that contains the volumes. For further information on configuring LVM reports and command logs, see the lvmreport man page.
pvs PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G pvs -o pv_name,pv_size PV PSize /dev/sdb1 17.14G /dev/sdc1 17.14G /dev/sdd1 17.14G pvs -o +pv_uuid PV VG Fmt Attr PSize PFree PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS pvs -v Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS pvs --noheadings -o pv_name /dev/sdb1 /dev/sdc1 /dev/sdd1 pvs --separator = PV=VG=Fmt=Attr=PSize=PFree /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14G pvs --separator = --aligned PV =VG =Fmt =Attr=PSize =PFree /dev/sdb1 =new_vg=lvm2=a- =17.14G=17.14G /dev/sdc1 =new_vg=lvm2=a- =17.14G=17.09G /dev/sdd1 =new_vg=lvm2=a- =17.14G=17.14G vgs -o +pv_name VG #PV #LV #SN Attr VSize VFree PV new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdc1 new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdd1 new_vg 3 1 0 wz--n- 51.42G 51.37G /dev/sdb1 pvs -o free PFree 17.14G 17.09G 17.14G pvs PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.13G pvs -v Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe /dev/sdd1 new_vg lvm2 a- 17.14G 17.13G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS pvs --segments PV VG Fmt Attr PSize PFree Start SSize /dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 0 1172 /dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1172 16 /dev/hda2 VolGroup00 lvm2 a- 37.16G 32.00M 1188 1 /dev/sda1 vg lvm2 a- 17.14G 16.75G 0 26 /dev/sda1 vg lvm2 a- 17.14G 16.75G 26 24 /dev/sda1 vg lvm2 a- 17.14G 16.75G 50 26 /dev/sda1 vg lvm2 a- 17.14G 16.75G 76 24 /dev/sda1 vg lvm2 a- 17.14G 16.75G 100 26 /dev/sda1 vg lvm2 a- 17.14G 16.75G 126 24 /dev/sda1 vg lvm2 a- 17.14G 16.75G 150 22 /dev/sda1 vg lvm2 a- 17.14G 16.75G 172 4217 /dev/sdb1 vg lvm2 a- 17.14G 17.14G 0 4389 /dev/sdc1 vg lvm2 a- 17.14G 17.14G 0 4389 /dev/sdd1 vg lvm2 a- 17.14G 17.14G 0 4389 /dev/sde1 vg lvm2 a- 17.14G 17.14G 0 4389 /dev/sdf1 vg lvm2 a- 17.14G 17.14G 0 4389 /dev/sdg1 vg lvm2 a- 17.14G 17.14G 0 4389 pvs -a PV VG Fmt Attr PSize PFree /dev/VolGroup00/LogVol01 -- 0 0 /dev/new_vg/lvol0 -- 0 0 /dev/ram -- 0 0 /dev/ram0 -- 0 0 /dev/ram2 -- 0 0 /dev/ram3 -- 0 0 /dev/ram4 -- 0 0 /dev/ram5 -- 0 0 /dev/ram6 -- 0 0 /dev/root -- 0 0 /dev/sda -- 0 0 /dev/sdb -- 0 0 /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc -- 0 0 /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd -- 0 0 /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G vgs VG #PV #LV #SN Attr VSize VFree new_vg 3 1 1 wz--n- 51.42G 51.36G vgs -v Finding all volume groups Finding volume group "new_vg" VG Attr Ext #PV #LV #SN VSize VFree VG UUID new_vg wz--n- 4.00M 3 1 1 51.42G 51.36G jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32 lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert lvol0 new_vg owi-a- 52.00M newvgsnap1 new_vg swi-a- 8.00M lvol0 0.20 lvs -v Finding all logical volumes LV VG #Seg Attr LSize Maj Min KMaj KMin Origin Snap% Move Copy% Log Convert LV UUID lvol0 new_vg 1 owi-a- 52.00M -1 -1 253 3 LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78 newvgsnap1 new_vg 1 swi-a- 8.00M -1 -1 253 5 lvol0 0.20 1ye1OU-1cIu-o79k-20h2-ZGF0-qCJm-CfbsIx lvs --segments LV VG Attr #Str Type SSize LogVol00 VolGroup00 -wi-ao 1 linear 36.62G LogVol01 VolGroup00 -wi-ao 1 linear 512.00M lv vg -wi-a- 1 linear 104.00M lv vg -wi-a- 1 linear 104.00M lv vg -wi-a- 1 linear 104.00M lv vg -wi-a- 1 linear 88.00M lvs -v --segments Finding all logical volumes LV VG Attr Start SSize #Str Type Stripe Chunk lvol0 new_vg owi-a- 0 52.00M 1 linear 0 0 newvgsnap1 new_vg swi-a- 0 8.00M 1 linear 0 8.00K lvs LV VG Attr LSize Origin Snap% Move Log Copy% lvol0 new_vg -wi-a- 52.00M lvs --segments LV VG Attr #Str Type SSize lvol0 new_vg -wi-a- 1 linear 52.00M pvs -o pv_name,pv_size,pv_free PV PSize PFree /dev/sdb1 17.14G 17.14G /dev/sdc1 17.14G 17.09G /dev/sdd1 17.14G 17.14G pvs -o pv_name,pv_size,pv_free -O pv_free PV PSize PFree /dev/sdc1 17.14G 17.09G /dev/sdd1 17.14G 17.14G /dev/sdb1 17.14G 17.14G pvs -o pv_name,pv_size -O pv_free PV PSize /dev/sdc1 17.14G /dev/sdd1 17.14G /dev/sdb1 17.14G pvs -o pv_name,pv_size,pv_free -O -pv_free PV PSize PFree /dev/sdd1 17.14G 17.14G /dev/sdb1 17.14G 17.14G /dev/sdc1 17.14G 17.09G pvs --units m PV VG Fmt Attr PSize PFree /dev/sda1 lvm2 -- 17555.40M 17555.40M /dev/sdb1 new_vg lvm2 a- 17552.00M 17552.00M /dev/sdc1 new_vg lvm2 a- 17552.00M 17500.00M /dev/sdd1 new_vg lvm2 a- 17552.00M 17552.00M pvs PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G pvs --units G PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 18.40G 18.40G /dev/sdc1 new_vg lvm2 a- 18.40G 18.35G /dev/sdd1 new_vg lvm2 a- 18.40G 18.40G pvs --units s PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 35946496S 35946496S /dev/sdc1 new_vg lvm2 a- 35946496S 35840000S /dev/sdd1 new_vg lvm2 a- 35946496S 35946496S pvs --units 4m PV VG Fmt Attr PSize PFree /dev/sdb1 new_vg lvm2 a- 4388.00U 4388.00U /dev/sdc1 new_vg lvm2 a- 4388.00U 4375.00U /dev/sdd1 new_vg lvm2 a- 4388.00U 4388.00U lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert my_raid my_vg Rwi-a-r--- 12.00m 100.00 root rhel_host-075 -wi-ao---- 6.67g swap rhel_host-075 -wi-ao---- 820.00m lvs --reportformat json { "report": [ { "lv": [ {"lv_name":"my_raid", "vg_name":"my_vg", "lv_attr":"Rwi-a-r---", "lv_size":"12.00m", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"100.00", "convert_lv":""}, {"lv_name":"root", "vg_name":"rhel_host-075", "lv_attr":"-wi-ao----", "lv_size":"6.67g", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"", "convert_lv":""}, {"lv_name":"swap", "vg_name":"rhel_host-075", "lv_attr":"-wi-ao----", "lv_size":"820.00m", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"", "convert_lv":""} ] } ] } lvmconfig --type full log/command_log_selection command_log_selection="all" lvs Logical Volume ============== LV LSize Cpy%Sync lvol1 4.00m 100.00 lvol0 4.00m Command Log =========== Seq LogType Context ObjType ObjName ObjGrp Msg Errno RetCode 1 status processing lv lvol0 vg success 0 1 2 status processing lv lvol1 vg success 0 1 3 status processing vg vg success 0 1 lvchange -an vg/lvol1 Command Log =========== Seq LogType Context ObjType ObjName ObjGrp Msg Errno RetCode 1 status processing lv lvol1 vg success 0 1 2 status processing vg vg success 0 1