物理卷管理
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,注意大括号的用途:
[root@localhost ~]# 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命令显示系统中所有物理卷的信息报表。
#输出物理卷信息报表 输出信息如下:
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命令扫描当前系统中所有硬盘的物理卷,
[root@localhost ~]# 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添加到卷组中。
[root@localhost ~]# vgcreate vg1000 /dev/sdb1 /dev/sdb2 #创建卷组”vg1000″
输出信息如下:
Volume group “vg1000” successfully created
vgremove
vgremove命令用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,
防止误删除数据。
语法 vgremove(选项)(参数)
选项
-f:强制删除。
参数
卷组:指定要删除的卷组名称。
实例
使用vgremove命令删除LVM卷组”vg1000″。
[root@localhost ~]# vgremove vg1000 #删除卷组
“vg1000” Volume group “vg1000” successfully removed
vgextend
vgextend命令用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。
语法 vgextend(选项)(参数)
选项
-d:调试模式;
-t:仅测试。
参数
卷组:指定要操作的卷组名称; 物理卷列表:指定要添加到卷组中的物理卷列表。
实例
使用vgextend命令向卷组”vg2000″中添加物理卷。
[root@localhost ~]# vgextend vg2000 /dev/sdb2 #将物理卷”/dev/sdb2″加入卷组”vg2000″
输出信息如下:
Volume group “vg2000” successfully extended
vgreduce
vgreduce命令通过删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷。
语法 vgreduce(选项)(参数)
选项
-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷;
–removemissing:删除卷组中丢失的物理卷,使卷组恢复正常状态。
参数
卷组:指定要操作的卷组名称; 物理卷列表:指定要删除的物理卷列表。
实例
使用vgreduce命令从卷组”vg2000″中移除物理卷/dev/sdb2。
[root@localhost ~]# vgreduce vg2000 /dev/sdb2 #将物理卷”/dev/sdb2″从卷组”vg2000″中删除
输出信息如下: Removed “/dev/sdb2” from volume group “vg2000”
vgchange
vgchange命令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,
必须使用vgchange命令将卷组设置为非活动状态后才能删除。
语法 vgchange(选项)(参数)
选项
-a:设置卷组的活动状态。
参数
卷组:指定要设置属性的卷组。
实例
使用vgchange命令将卷组状态改为活动的。
[root@localhost ~]# 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的逻辑卷。
[root@localhost ~]# lvcreate -L 200M vg1000 #创建大小为200M的逻辑卷
输出信息如下:
Logical volume “lvol0” created
lvremove
lvremove命令用于删除指定LVM逻辑卷。如果逻辑卷已经使用mount命令加载,则不能使用lvremove命令删除。
必须使用umount命令卸载后,逻辑卷方可被删除。
语法 lvremove(选项)(参数)
选项
-f:强制删除。
参数
逻辑卷:指定要删除的逻辑卷。
实例
使用lvremove命令删除指定的逻辑卷。
[root@localhost ~]# 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空间。
[root@localhost ~]# 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命令调整最大的逻辑卷大小。
[root@localhost ~]# 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命令减少指定的逻辑卷的空间大小。
[root@localhost ~]# 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
lvdisplay
lvdisplay命令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略”逻辑卷”参数,
则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。
语法 lvdisplay(参数)
参数
逻辑卷:指定要显示属性的逻辑卷对应的设备文件。
实例
使用lvdisplay命令显示指定逻辑卷的属性。
[root@localhost ~]# lvdisplay /dev/vg1000/lvol0 #显示逻辑卷属性
输出信息如下: — Logical volume — LV Name /dev/vg1000/lvol0 ……省略部分输出内容…… Block device 253:0
lvscan
lvscan命令用于扫描当前系统中存在的所有的LVM逻辑卷。使用lvscan指令可以发现系统中的所有逻辑卷,
及其对应的设备文件。
语法 lvscan(选项)
选项
-b:显示逻辑卷的主设备和次设备号。
实例
使用lvscan命令扫描系统中的所有逻辑卷。
[root@localhost ~]# lvscan #扫描所有的逻辑卷
输出信息如下: ACTIVE ‘/dev/vg1000/lvol0’ [200.00 MB] inherit