「lvreduce(8)」-

  LINUX MANUAL PAGES

减少LV的大小

命令语法格式

lvreduce option_args position_args [ option_args ]

lvreduce -L|–size [-]Size[m|UNIT] LV
[ -l|–extents [-]Number[PERCENT] ]

[ -A|–autobackup y|n ]

[ -f|–force ]

[ -n|–nofsck ]

[ -r|–resizefs ]

[ –noudevsync ]

[ –reportformat basic|json ]

[ COMMON_OPTIONS ]

命令描述

命令lvreduce减小了LV的大小。 释放的LE返回给VG,以供其他LV使用。 如果需要较少的空间来保存COW块,也可以减少COW快照LV。 使用lvconvert(8)更改RAID或镜像LV中的数据映像数。

减小LV尺寸时要小心,因为缩小区域中的数据会丢失。 确保在运行lvreduce之前调整LV上的任何文件系统的大小,以便文件系统不使用已删除的扩展区。

如有必要,参数Size将四舍五入。 例如,LV大小必须是精确数量的范围,条带段的大小必须是条带数的倍数。

在下面的使用部分中,–size Size可以替换为–extents Number。 请参阅选项部分的两个说明。

命令支持的选项及含义

-A|–autobackup y|n
指定更改后是否应自动备份元数据。 强烈建议启用此功能! 有关更多信息,请参见vgcfgbackup(8)。

-l|–extents [-]Number[PERCENT]
指定LE中LV的新大小。 –size和–extents选项是指定大小的替代方法。

当RAID级别需要冗余数据时,使用的PE总数将更大。替代语法允许间接确定大小,通过使用相关VG,LV或PV集的大小的百分比。后缀%VG表示VG的总大小;后缀%FREE表示VG中剩余的可用空间;后缀%PVS表示指定PV中的可用空间。对于快照,大小可以表示为原始LV的总大小的百分比,后缀为%ORIGIN(100%ORIGIN为整个原点提供空间)。当以百分比表示时,大小定义了新LV中逻辑盘区数的上限。在命令完成之前,不确定新LV中的精确LE数。使用加号(+)或减号(-)前缀时,该值不是绝对大小,而是相对的,并从当前大小中加上或减去。

-L|–size [-]Size[m|UNIT]
指定LV的新大小。选项–size和–extents是指定大小的替代方法。 当RAID级别需要冗余数据时,使用的PE总数将更大。 使用加号(+)或减号(-)前缀时,该值不是绝对大小,而是相对的,并从当前大小中加上或减去。

-f|–force …
覆盖各种检查,确认和保护。 使用时要格外小心。

-n|–nofsck
在文件系统要求调整文件系统大小时,请不要执行fsck。 您可能需要使用–force继续此选项。

–noudevsync
禁用udev同步。 该进程不会等待来自udev的通知。 无论后台有任何可能的udev进程,它都将继续。 仅在udev未运行或具有忽略LVM创建的设备的规则时才使用此选项。

–reportformat basic|json
覆盖报告的当前输出格式,该格式由lvm.conf中的report/output_format设置全局定义。 basic是包含列和行的原始格式。 如果每个命令有多个报告,则每个报告都以报告名称为前缀进行标识。 json以JSON格式生成报告输出。 有关更多信息,请参阅lvmreport(7)。

-r|–resizefs
使用fsadm(8)来一起调整基础文件系统与LV大小。

用于lvm的公共选项

-y|–yes
不要以交互方式提示确认,但总是假设答案是肯定的。 使用时要格外小心。 (对于自动no,请参阅-qq。)

-v|–verbose …
设置详细级别。 重复1到4次以增加发送到标准输出和标准错误的消息的详细信息。

-t|–test
在测试模式下运行。 命令不会更新元数据。 这是通过禁用所有元数据写入,但仍然将成功返回到调用函数来实现的。 如果工具依赖于读回它认为已更改但尚未更改的元数据,则可能会在多阶段操作中导致异常错误消息。

-q|–quiet …
抑制输出和日志消息。 覆盖–debug和–verbose。 重复一次也可以通过回答“no”来抑制任何提示。

-h|–help
显示帮助信息。

-d|–debug …
设置调试级别。 重复1到6次以增加发送到日志文件和/或syslog(如果已配置)的消息的详细信息。

–version
显示版本信息并退出。

–profile String
选项–commandprofile或–metadataprofile的别名,具体取决于命令。

–longhelp
显示长帮助文本。

–driverloaded y|n
如果设置为no,则该命令不会尝试使用device-mapper。 用于测试和调试。

–config String
配置命令的设置。 这些覆盖lvm.conf设置。参数String使用与lvm.conf相同的格式,或者可以使用section/field语法。 有关config的更多信息,请参阅lvm.conf(5)。

–commandprofile String
用于命令配置的命令配置文件。 有关配置文件的更多信息,请参阅lvm.conf(5)。

命令行参数

LV
逻辑卷名称。 有效名称请参见lvm(8)。 LV位置参数通常包括VG名和LV名,例如,VG/LV。

String
有关String的内容的信息,请参阅选项说明。

Size[UNIT]
参数Size是接受可选单位UNIT的输入数字。 无论大小写如何,输入单位UNIT始终被视为基数两个值,例如 ‘k’和’K’都指1024。默认输入单位由字母指定,后跟|UNIT。

参数UNIT代表其他可能的输入单位:bBsSkKmMgGtTpPeE。 b|B是字节,s|S是512字节的扇区,k|K是千字节,m|M是兆字节,g|G是千兆字节,t|T是太字节,p|P是petabytes,e|E是exabytes。 (这不应该与输出控制–units混淆,大写字母表示1000的倍数。)

相关环境变量

有关lvm使用的环境变量的信息,请参阅lvm(8)。 例如,LVM_VG_NAME通常可以替换所需的VG参数。

使用示例

从LV中减少三个LE:

# lvreduce -l -3 vg00/lvol1

相关手册

lvm(8) lvm.conf(5) lvmconfig(8)

pvchange(8) pvck(8) pvcreate(8) pvdisplay(8) pvmove(8) pvremove(8) pvresize(8) pvs(8) pvscan(8)

vgcfgbackup(8) vgcfgrestore(8) vgchange(8) vgck(8) vgcreate(8) vgconvert(8) vgdisplay(8) vgexport(8) vgextend(8) vgimport(8) vgimportclone(8) vgmerge(8) vgmknodes(8) vgreduce(8) vgremove(8) vgrename(8) vgs(8) vgscan(8) vgsplit(8)

lvcreate(8) lvchange(8) lvconvert(8) lvdisplay(8) lvextend(8) lvreduce(8) lvremove(8) lvrename(8) lvresize(8) lvs(8) lvscan(8)

lvm-fullreport(8) lvm-lvpoll(8) lvm2-activation-generator(8) blkdeactivate(8) lvmdump(8)

dmeventd(8) lvmetad(8) lvmpolld(8) lvmlockd(8) lvmlockctl(8) clvmd(8) cmirrord(8) lvmdbusd(8)

lvmsystemid(7) lvmreport(7) lvmraid(7) lvmthin(7) lvmcache(7)

参考文献

  • man 8 lvreduce, Version 2.02.176-4.1

更新日志

  • 12/04/2018 创建文章