mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
man: vdo improvals
Add some more notes about discard. Correct enumeration.
This commit is contained in:
parent
7b41ea61b2
commit
3e9664baca
@ -1,5 +1,6 @@
|
|||||||
Version 2.03.11 -
|
Version 2.03.11 -
|
||||||
==================================
|
==================================
|
||||||
|
Update lvmvdo man page and better explain DISCARD usage.
|
||||||
|
|
||||||
Version 2.03.10 - 09th August 2020
|
Version 2.03.10 - 09th August 2020
|
||||||
==================================
|
==================================
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.TH "LVMVDO" "7" "LVM TOOLS #VERSION#" "Red Hat, Inc" "\""
|
.TH "LVMVDO" "7" "LVM TOOLS #VERSION#" "Red Hat, Inc" "\""
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
lvmvdo \(em EXPERIMENTAL LVM Virtual Data Optimizer support
|
lvmvdo \(em LVM Virtual Data Optimizer support
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|
||||||
@ -86,14 +86,14 @@ The primary methods for using VDO with lvm2:
|
|||||||
|
|
||||||
.SS 1. Create VDOPoolLV with VDOLV
|
.SS 1. Create VDOPoolLV with VDOLV
|
||||||
|
|
||||||
Create an VDOPoolLV that will holds VDO data together with
|
Create a VDOPoolLV that will hold VDO data together with
|
||||||
virtual size VDOLV, that user can use. When the virtual size
|
virtual size VDOLV, that user can use. When the virtual size
|
||||||
is not specified, then such LV is created with maximum size that
|
is not specified, then such LV is created with maximum size that
|
||||||
always fits into data volume even if there cannot happen any
|
always fits into data volume even if there cannot happen any
|
||||||
deduplication and compression
|
deduplication and compression
|
||||||
(i.e. it can hold uncompressible content of /dev/urandom).
|
(i.e. it can hold uncompressible content of /dev/urandom).
|
||||||
When the name of VDOPoolLV is not specified, it tales name from
|
When the name of VDOPoolLV is not specified, it is taken from
|
||||||
sequence of vpool0, vpool1 ...
|
the sequence of vpool0, vpool1 ...
|
||||||
|
|
||||||
Note: As the performance of TRIM/Discard operation is slow for large
|
Note: As the performance of TRIM/Discard operation is slow for large
|
||||||
volumes of VDO type, please try to avoid sending discard requests unless
|
volumes of VDO type, please try to avoid sending discard requests unless
|
||||||
@ -112,7 +112,7 @@ operation.
|
|||||||
# mkfs.ext4 -E nodiscard /dev/vg/vdo0
|
# mkfs.ext4 -E nodiscard /dev/vg/vdo0
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 2. Create VDOPoolLV and convert existing LV into VDODataLV
|
.SS 2. Create VDOPoolLV from conversion of an existing LV into VDODataLV
|
||||||
|
|
||||||
Convert an already created/existing LV into a volume that can hold
|
Convert an already created/existing LV into a volume that can hold
|
||||||
VDO data and metadata (a volume reference by VDOPoolLV).
|
VDO data and metadata (a volume reference by VDOPoolLV).
|
||||||
@ -120,7 +120,7 @@ User will be prompted to confirm such conversion as it is \fBIRREVERSIBLY
|
|||||||
DESTROYING\fP content of such volume, as it's being immediately
|
DESTROYING\fP content of such volume, as it's being immediately
|
||||||
formatted by \fBvdoformat\fP(8) as VDO pool data volume. User can
|
formatted by \fBvdoformat\fP(8) as VDO pool data volume. User can
|
||||||
specify virtual size of associated VDOLV with this VDOPoolLV.
|
specify virtual size of associated VDOLV with this VDOPoolLV.
|
||||||
When the virtual size is not specified, it will set to the maximum size
|
When the virtual size is not specified, it will be set to the maximum size
|
||||||
that can keep 100% uncompressible data there.
|
that can keep 100% uncompressible data there.
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
@ -134,9 +134,9 @@ that can keep 100% uncompressible data there.
|
|||||||
# lvconvert --type vdo-pool -n vdo0 -V10G vg/existinglv
|
# lvconvert --type vdo-pool -n vdo0 -V10G vg/existinglv
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 3. Change default setting used for creating VDOPoolLV
|
.SS 3. Change default settings used for creating VDOPoolLV
|
||||||
|
|
||||||
VDO allows to set large variety of option. Lots of these setting
|
VDO allows to set large variety of options. Lots of these settings
|
||||||
can be specified by lvm.conf or profile settings. User can prepare
|
can be specified by lvm.conf or profile settings. User can prepare
|
||||||
number of different profiles and just specify profile file name.
|
number of different profiles and just specify profile file name.
|
||||||
Check output of \fBlvmconfig --type full\fP for detailed description
|
Check output of \fBlvmconfig --type full\fP for detailed description
|
||||||
@ -189,7 +189,7 @@ Disable or enable compression and deduplication for VDO pool LV
|
|||||||
# lvchange --deduplication y vg/vdpool1
|
# lvchange --deduplication y vg/vdpool1
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 4. Checking usage of VDOPoolLV
|
.SS 5. Checking usage of VDOPoolLV
|
||||||
|
|
||||||
To quickly check how much data of VDOPoolLV are already consumed
|
To quickly check how much data of VDOPoolLV are already consumed
|
||||||
use \fBlvs\fP(8). Field Data% will report how much data occupies
|
use \fBlvs\fP(8). Field Data% will report how much data occupies
|
||||||
@ -219,7 +219,7 @@ Note: \fBvdostats\fP(8) currently understands only /dev/mapper device names.
|
|||||||
...
|
...
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 4. Extending VDOPoolLV size
|
.SS 6. Extending VDOPoolLV size
|
||||||
|
|
||||||
Adding more space to hold VDO data and metadata can be made via
|
Adding more space to hold VDO data and metadata can be made via
|
||||||
extension of VDODataLV with commands
|
extension of VDODataLV with commands
|
||||||
@ -227,6 +227,8 @@ extension of VDODataLV with commands
|
|||||||
|
|
||||||
Note: Size of VDOPoolLV cannot be reduced.
|
Note: Size of VDOPoolLV cannot be reduced.
|
||||||
|
|
||||||
|
Note: Size of cached VDOPoolLV cannot be changed.
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
.B lvextend -L+AddingSize VG/VDOPoolLV
|
.B lvextend -L+AddingSize VG/VDOPoolLV
|
||||||
.fi
|
.fi
|
||||||
@ -238,7 +240,7 @@ Note: Size of VDOPoolLV cannot be reduced.
|
|||||||
# lvresize -L300G vg/vdopool1
|
# lvresize -L300G vg/vdopool1
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 4. Extending or reducing VDOLV size
|
.SS 7. Extending or reducing VDOLV size
|
||||||
|
|
||||||
VDO LV can be extended or reduced as standard LV with commands
|
VDO LV can be extended or reduced as standard LV with commands
|
||||||
\fBlvresize\fP(8), \fBlvextend\fP(8), \fBlvreduce\fP(8).
|
\fBlvresize\fP(8), \fBlvextend\fP(8), \fBlvreduce\fP(8).
|
||||||
@ -260,7 +262,7 @@ a long time.
|
|||||||
# lvresize -L200G vg/vdo2
|
# lvresize -L200G vg/vdo2
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 5. Component activation of VDODataLV
|
.SS 8. Component activation of VDODataLV
|
||||||
|
|
||||||
VDODataLV can be activated separately as component LV for examination
|
VDODataLV can be activated separately as component LV for examination
|
||||||
purposes. It activates data LV in read-only mode and cannot be modified.
|
purposes. It activates data LV in read-only mode and cannot be modified.
|
||||||
@ -294,7 +296,12 @@ Using Raid type LV for VDO Data LV.
|
|||||||
|
|
||||||
.SS 3. Caching VDODataLV, VDOPoolLV
|
.SS 3. Caching VDODataLV, VDOPoolLV
|
||||||
|
|
||||||
Cache VDO Data LV (accepts also VDOPoolLV.
|
VDO Pool LV (accepts also VDOPoolLV) caching provides mechanism
|
||||||
|
to accelerate read and write of already compressed and deduplicated
|
||||||
|
blocks together with vdo metadata.
|
||||||
|
|
||||||
|
Cached VDO Data LV cannot be currently resized (also automatic
|
||||||
|
resize will not work).
|
||||||
|
|
||||||
.I Example
|
.I Example
|
||||||
.br
|
.br
|
||||||
@ -305,9 +312,10 @@ Cache VDO Data LV (accepts also VDOPoolLV.
|
|||||||
# lvconvert --uncache vg/vpool
|
# lvconvert --uncache vg/vpool
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.SS 3. Caching VDOLV
|
.SS 4. Caching VDOLV
|
||||||
|
|
||||||
Cache VDO LV.
|
VDO LV cache allow users to 'cache' device for better perfomance before
|
||||||
|
it hits processing of VDO Pool LV layer.
|
||||||
|
|
||||||
.I Example
|
.I Example
|
||||||
.br
|
.br
|
||||||
@ -318,6 +326,22 @@ Cache VDO LV.
|
|||||||
# lvconvert --uncache vg/vdo1
|
# lvconvert --uncache vg/vdo1
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
|
.SS 5. Usage of Discard/TRIM with VDOLV
|
||||||
|
|
||||||
|
User can discard data in VDO LV and reduce used blocks in VDOPoolLV.
|
||||||
|
However present performance of discard operation is still not optimal
|
||||||
|
and takes considerable amount of time and CPU.
|
||||||
|
So unless it's really needed users should avoid usage of discard.
|
||||||
|
|
||||||
|
When block device is going to be rewritten,
|
||||||
|
block will be automatically reused for new data.
|
||||||
|
Discard is useful in situation, when it is known the given portion of a VDO LV
|
||||||
|
is not going to be used and the discarded space can be used for block
|
||||||
|
provisioning in other regions of VDO LV.
|
||||||
|
For the same reason, user should avoid using mkfs with discard for
|
||||||
|
freshly created VDO LV to save a lot of time this operation would
|
||||||
|
take otherwise as device after create empty.
|
||||||
|
|
||||||
.br
|
.br
|
||||||
|
|
||||||
\&
|
\&
|
||||||
|
Loading…
Reference in New Issue
Block a user