米老鼠和蓝精鼠v 发表于 2024-9-11 15:05:21

centos服务器中的pvs vgs lvs各参数详解

物理卷管理
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,注意大括号的用途:
# 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

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

pvscan

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

语法 pvscan(选项)


选项
-d:调试模式;
-e:仅显示属于输出卷组的物理卷;
-n:仅显示不属于任何卷组的物理卷;
-s:短格式输出; -u:显示UUID。

实例
使用pvscan命令扫描当前系统中所有硬盘的物理卷,
在命令行中输入下面的命令:
# pvscan #扫描所有硬盘上的物理卷
输出信息如下:
PV /dev/sdb1 lvm2 PV /dev/sdb2 lvm2
Total: 2 / in use: 0 / in no VG: 2

卷组管理
vgcreate

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

语法 vgcreate(选项)(参数)

选项
-l:卷组上允许创建的最大逻辑卷数;
-p:卷组中允许添加的最大物理卷数;
-s:卷组上的物理卷的PE大小。

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

实例
使用vgcreate命令创建卷组 "vg1000",并且将物理卷/dev/sdb1和/dev/sdb2添加到卷组中。
在命令行中输入下面的命令:
# vgcreate vg1000 /dev/sdb1 /dev/sdb2 #创建卷组"vg1000"
输出信息如下:
Volume group "vg1000" successfully created

vgremove

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

语法 vgremove(选项)(参数)

选项
-f:强制删除。

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

实例
使用vgremove命令删除LVM卷组"vg1000"。
在命令行中输入下面的命令:
# vgremove vg1000 #删除卷组
"vg1000" Volume group "vg1000" successfully removed
vgextend

vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。

语法 vgextend(选项)(参数)

选项
-d:调试模式;
-t:仅测试。

参数
卷组:指定要操作的卷组名称; 物理卷列表:指定要添加到卷组中的物理卷列表。

实例
使用vgextend命令向卷组"vg2000"中添加物理卷。
在命令行中输入下面的命令:
# vgextend vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"加入卷组"vg2000"
输出信息如下:
Volume group "vg2000" successfully extended   


vgreduce

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

语法 vgreduce(选项)(参数)

选项
-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷;
--removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。

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

实例
使用vgreduce命令从卷组"vg2000"中移除物理卷/dev/sdb2。
在命令行中输入下面的命令:
# vgreduce vg2000 /dev/sdb2 #将物理卷"/dev/sdb2"从卷组"vg2000"中删除
输出信息如下: Removed "/dev/sdb2" from volume group "vg2000"

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

语法 vgchange(选项)(参数)

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

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

实例
使用vgchange命令将卷组状态改为活动的。
在命令行中输入下面的命令:
# 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的逻辑卷。
在命令行中输入下面的命令:
# lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷
输出信息如下:
Logical volume "lvol0" created

lvremove

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

语法 lvremove(选项)(参数)

选项
-f:强制删除。

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

实例
使用lvremove命令删除指定的逻辑卷。
在命令行中输入下面的命令:
# lvremove /dev/vg1000/lvol0 #删除逻辑卷"lvol0"
输出信息如下:
Do you really want to remove active logical volume "lvol0"? : y #确认删除 Logical volume "lvol0" successfully removed

lvextend

lvextend命令 磁盘管理 lvextend命令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。
使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。

语法 lvextend(选项)(参数)

选项
-L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
-l:指定逻辑卷的大小(LE数)。

参数
逻辑卷:指定要扩展空间的逻辑卷。

实例
使用lvextend命令为逻辑卷/dev/vg1000/lvol0增加100M空间。
在命令行中输入下面的命令:
# 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命令调整最大的逻辑卷大小。
在命令行中输入下面的命令:
# 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命令减少指定的逻辑卷的空间大小。

在命令行中输入下面的命令:
# lvreduce -L -50M /dev/vg1000/lvol0 #将逻辑卷的空间大小减少50M
输出信息如下:
......省略部分输出内容...... Do you really want to reduce lvol0? : y #确认操作
Reducing logical volume lvol0 to 252.00 MB Logical volume lvol0 successfully resized
                                    
lvdisplay

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

语法 lvdisplay(参数)

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

实例
使用lvdisplay命令显示指定逻辑卷的属性。
在命令行中输入下面的命令:
# lvdisplay /dev/vg1000/lvol0 #显示逻辑卷属性
输出信息如下: --- Logical volume --- LV Name /dev/vg1000/lvol0 ......省略部分输出内容...... Block device 253:0

lvscan

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

语法 lvscan(选项)

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

实例
使用lvscan命令扫描系统中的所有逻辑卷。
在命令行中输入下面的命令:
# lvscan #扫描所有的逻辑卷
输出信息如下: ACTIVE '/dev/vg1000/lvol0' inherit
页: [1]
查看完整版本: centos服务器中的pvs vgs lvs各参数详解