lvm命令详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvm命令详解相关的知识,希望对你有一定的参考价值。

物理卷管理
pvchange   

pvchange命令允许管理员改变物理卷的分配许可。如果物理卷出现故障,可以使用pvchange命令禁止分配物理卷上的PE。 
语法 pvchange(选项)(参数) 

选项 

-u:生成新的UUID; 
-x:是否允许分配PE。 

参数 

物理卷:指定要修改属性的物理卷所对应的设备文件。 

实例 
使用pvchange命令禁止分配指定物理卷上的PE。

在命令行中输入下面的命令: pvchange -x n /dev/sdb1 #禁止分配"/dev/sdb1"上的PE 
输出信息如下: 
Physical volume "/dev/sdb1" changed 
1 physical volume changed / 0 physical volumes not changed

pvcreate   
pvcreate命令用于将物理硬盘分区初始化为物理卷,以便LVM使用。 

语法 pvcreate(选项)(参数)

选项 

-f:强制创建物理卷,不需要用户确认; 
-u:指定设备的UUID; 
-y:所有的问题都回答“yes”; 
-Z:是否利用前4个扇区。
参数 物理卷:指定要创建的物理卷对应的设备文件名。

将6-9分区转成pv,注意大括号的用途: 
[[email protected] ~]# pvcreate /dev/hda{6,7,8,9} 
Physical volume "/dev/hda6" successfully 
created Physical volume "/dev/hda7" successfully created 
Physical volume "/dev/hda8" successfully created 
Physical volume "/dev/hda9" successfully created

pvremove   

pvremove命令用于删除一个存在的物理卷。使用pvremove指令删除物理卷时,
它将LVM分区上的物理卷信息删除,使其不再被视为一个物理卷。

语法:
pvremove(选项)(参数)

选项 

-d:调试模式; 
-f:强制删除; 
-y:对提问回答“yes”。 

参数 

物理卷:指定要删除的物理卷对应的设备文件名。 

实例 

使用pvremove指令删除物理卷/dev/sdb2。

在命令行中输入下面的命令: pvremove /dev/sdb2 #删除物理卷 

Labels on physical volume "/dev/sdb2" successfully wiped

来自: http://man.linuxde.net/pvremove

pvs  

pvs命令用于输出格式化的物理卷信息报表。使用pvs命令仅能得到物理卷的概要信息,
如果要得到更加详细的信息可以使用pvdisplay命令。

语法 

pvs(选项)(参数) 

选项 

--noheadings:不输出标题头; 

--nosuffix:不输出空间大小的单位。 

参数 

物理卷:要显示报表的物理卷列表。 

实例 

使用pvs命令显示系统中所有物理卷的信息报表。
在命令行中输入下面的命令: pvs 

#输出物理卷信息报表 输出信息如下: 
PV VG fmt Attr PSize PFree /dev/sdb1 vg1000 lvm2 -- 100.00M 100.00M /dev/sdb2 lvm2 -- 101.98M 101.98M



pvresize   

pvdisplay
 
pvscan 

pvscan命令会扫描系统中连接的所有硬盘,列出找到的物理卷列表。
使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。 

语法 

pvscan(选项) 选项 

-d:调试模式; 

-e:仅显示属于输出卷组的物理卷; 

-n:仅显示不属于任何卷组的物理卷; 

-s:短格式输出; -u:显示UUID。 

实例 

使用pvscan命令扫描当前系统中所有硬盘的物理卷,
在命令行中输入下面的命令: 
[[email protected] ~]# pvscan #扫描所有硬盘上的物理卷 

输出信息如下: 
PV /dev/sdb1 lvm2 [101.94 MB] PV /dev/sdb2 lvm2 [101.98 MB] 
Total: 2 [203.92 MB] / in use: 0 [0 ] / in no VG: 2 [203.92 MB]



卷组管理
 vgcreate

vgcreate命令用于创建LVM卷组。卷组(Volume Group)将多个物理卷组织成一个整体,
屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。 

语法 

vgcreate(选项)(参数) 

选项 

-l:卷组上允许创建的最大逻辑卷数; 

-p:卷组中允许添加的最大物理卷数; 

-s:卷组上的物理卷的PE大小。 

参数 

卷组名:要创建的卷组名称; 物理卷列表:要加入到卷组中的物理卷列表。 

实例 

使用vgcreate命令创建卷组 "vg1000",并且将物理卷/dev/sdb1和/dev/sdb2添加到卷组中。

在命令行中输入下面的命令: 

[[email protected] ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2 #创建卷组"vg1000" 

输出信息如下: 

Volume group "vg1000" successfully created

vgremove

vgremove命令用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,
防止误删除数据。 

语法 

vgremove(选项)(参数) 

选项 

-f:强制删除。 

参数 

卷组:指定要删除的卷组名称。 

实例 

使用vgremove命令删除LVM卷组"vg1000"。

在命令行中输入下面的命令: 

[[email protected] ~]# vgremove vg1000 #删除卷组

"vg1000" Volume group "vg1000" successfully removed
 
vgextend  

 vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
 LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。 
 
 语法 
 
 vgextend(选项)(参数) 
 
 选项 
 
 -d:调试模式; 
 
 -t:仅测试。 
 
 参数 
 
 卷组:指定要操作的卷组名称; 物理卷列表:指定要添加到卷组中的物理卷列表。 
 
 实例 
 
 使用vgextend命令向卷组"vg2000"中添加物理卷。
 
 在命令行中输入下面的命令: 
 
 [[email protected] ~]# vgextend vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"加入卷组"vg2000" 
 
 输出信息如下: 
 
 Volume group "vg2000" successfully extended
      
vgreduce  

vgreduce命令通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。 

语法 

vgreduce(选项)(参数) 

选项 

-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷; 

--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。 

参数 

卷组:指定要操作的卷组名称; 物理卷列表:指定要删除的物理卷列表。 

实例 

使用vgreduce命令从卷组"vg2000"中移除物理卷/dev/sdb2。

在命令行中输入下面的命令: 

[[email protected] ~]# vgreduce vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"从卷组"vg2000"中删除 

输出信息如下: Removed "/dev/sdb2" from volume group "vg2000"


vgchange

vgchange命令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,
必须使用vgchange命令将卷组设置为非活动状态后才能删除。 

语法 

vgchange(选项)(参数) 

选项 

-a:设置卷组的活动状态。 

参数 

卷组:指定要设置属性的卷组。 

实例 

使用vgchange命令将卷组状态改为活动的。

在命令行中输入下面的命令: 

[[email protected] ~]# vgchange -ay vg1000 #将卷组"vg1000"设置为活动状态 

输出信息如下: 

1 logical volume(s) in volume group "vg1000" now active

vgscan vgdisplay     

逻辑卷管理

lvcreate

lvcreate命令用于创建LVM的逻辑卷。逻辑卷是创建在卷组之上的。逻辑卷对应的设备文件保存在卷组目录下,
例如:在卷组"vg1000"上创建一个逻辑卷"lvol0",则此逻辑卷对应的设备文件为"/dev/vg1000/lvol0"。 

语法 

lvcreate(选项)(参数) 

选项 

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 

-l:指定逻辑卷的大小(LE数)。 

参数 

逻辑卷:指定要创建的逻辑卷名称。 

实例 

使用lvcreate命令在卷组"vg1000"上创建一个200MB的逻辑卷。

在命令行中输入下面的命令: 

[[email protected] ~]# lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷 

输出信息如下: 

Logical volume "lvol0" created

lvremove

lvremove命令用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。
必须使用umount命令卸载后,逻辑卷方可被删除。 

语法 

lvremove(选项)(参数) 

选项 

-f:强制删除。 

参数 

逻辑卷:指定要删除的逻辑卷。 

实例 

使用lvremove命令删除指定的逻辑卷。

在命令行中输入下面的命令: 

[[email protected] ~]# lvremove /dev/vg1000/lvol0 #删除逻辑卷"lvol0" 

输出信息如下: 

Do you really want to remove active logical volume "lvol0"? [y/n]: y #确认删除 Logical volume "lvol0" successfully removed

lvextend 

 lvextend命令 磁盘管理 lvextend命令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。
 使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。 
 
 语法 
 
 lvextend(选项)(参数) 
 
 选项 
 
 -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 
 
 -l:指定逻辑卷的大小(LE数)。 
 
 参数 
 
 逻辑卷:指定要扩展空间的逻辑卷。 
 
 实例 
 
 使用lvextend命令为逻辑卷/dev/vg1000/lvol0增加100M空间。
 
 在命令行中输入下面的命令: 
 
 [[email protected] ~]# lvextend -L +100M /dev/vg1000/lvol0 #为了解决增加100M空间 
 
 输出信息如下: 
 
 Extending logical volume lvol0 to 300.00 MB Logical volume lvol0 successfully resized

lvresize

lvresize命令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。使用lvresize命令调整逻辑卷空间大小和缩小空间时需要谨慎,
因为它有可能导致数据丢失。 

语法 lvresize(选项)(参数) 

选项 

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 

-l:指定逻辑卷的大小(LE数)。 

参数 

逻辑卷:指定要删除的逻辑卷。 

实例 

使用lvresize命令调整最大的逻辑卷大小。

在命令行中输入下面的命令: 

[[email protected] ~]# lvresize -L +200M /dev/vg1000/lvol0 #将逻辑卷空间增加200M 

输出信息如下: 

Extending logical volume lvol0 to 280.00 MB Logical volume lvol0 successfully resized

lvreduce

lvreduce命令 磁盘管理 lvreduce命令用于减少LVM逻辑卷占用的空间大小。使用lvreduce命令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,
所以在操作前必须进行确认。 

语法 

lvreduce(选项)(参数) 

选项 

-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节; 

-l:指定逻辑卷的大小(LE数)。 

参数 

逻辑卷:指定要操作的逻辑卷对应的设备文件。 

实例 

使用lvreduce命令减少指定的逻辑卷的空间大小。

在命令行中输入下面的命令: 

[[email protected] ~]# lvreduce -L -50M /dev/vg1000/lvol0 #将逻辑卷的空间大小减少50M 

输出信息如下:
 ......省略部分输出内容...... Do you really want to reduce lvol0? [y/n]: y #确认操作 
 Reducing logical volume lvol0 to 252.00 MB Logical volume lvol0 successfully resized


lvchange   lvrename                                     
lvdisplay 

lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,
则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 

语法 

lvdisplay(参数) 

参数 

逻辑卷:指定要显示属性的逻辑卷对应的设备文件。 

实例 

使用lvdisplay命令显示指定逻辑卷的属性。

在命令行中输入下面的命令: 
[[email protected] ~]# lvdisplay /dev/vg1000/lvol0 #显示逻辑卷属性 

输出信息如下: --- Logical volume --- LV Name /dev/vg1000/lvol0 ......省略部分输出内容...... Block device 253:0

lvscan

 lvscan命令用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,
 及其对应的设备文件。 
 
 语法 
lvscan(选项) 

选项 

-b:显示逻辑卷的主设备和次设备号。 

实例 

使用lvscan命令扫描系统中的所有逻辑卷。

在命令行中输入下面的命令: 

[[email protected] ~]# lvscan #扫描所有的逻辑卷 

输出信息如下: ACTIVE ‘/dev/vg1000/lvol0‘ [200.00 MB] inherit

本文出自 “Dr小白” 博客,请务必保留此出处http://1213503.blog.51cto.com/1203503/1927526

以上是关于lvm命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统LVM逻辑卷的创建与扩容(命令详解,图文并茂)

Linux磁盘分区与LVM详解

iostat 命令详解

删除创建失败的物理卷

使用fdisk命令在/dev/sdb上建立lvm类型的分区

通过命令iostat,iotop查看Linux系统IO性能,信息指标分析详解