Linux常用命令(八)LVM逻辑卷管理
一、LVM概述
LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层的磁盘分区布局,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。
需要注意的是,“/boot”分区不能基于LVM创建,必须独立出来。
1、pv(PhysicalVolume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷,物理卷一般直接使用设备文件名称,如/dev/sdb1、/dev/sdb2、/dev/sdd等。
对用于转换成物理卷的普通分区,建议先使用fdisk工具将分区类型的ID标记号改为“8e”。若是整块硬盘,可以将所有磁盘空间划分为一个主分区后再做相应调整。
2、VG(VolumeGroup,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷,许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。
3、LV(LogicalVolume,逻辑卷)
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统之后,就可以挂载到Linux系统中的目录下使用。
通过上述对物理卷、卷组、逻辑卷的解释可以看出,建立LVM分区管理机制的过程:首先将普通分区或整个硬盘创建为物理卷;接下来,将物理上比较分散的各物理卷的存储空间组成一个逻辑整体,即卷组;最后,基于卷组这个整体,分割出不同的数据存储空间,形成逻辑卷。逻辑卷才是最终用户可以格式化并挂载使用的存储单位。
二、LVM的管理命令
常用的LVM管理命令
功能 | PV管理命令 | VG管理命令 | LV管理命令 |
Scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 移除 | pvremove | vgremove | lvremove |
Extend 扩展 | vgextend | lvextend | |
Reduce 减少 | vgreduce | lvreduce |
1、PV物理卷管理
1.1)、pvscan命令
pvscan用于扫描系统中的所有物理卷,并输出相关信息。
1.2)、pvcreate命令
pvcreate用于将分区或整个硬盘转换成物理卷,主要是添加LVM属性信息并划分PE存储单位。该命令需要使用硬盘或分区的设备文件作为参数(可以有多个)。例如,执行以下操作将把分区/dev/sdb1、/dev/sdb2转换成物理卷。
1.3)、pvdisplay命令
pvdisplay用于显示物理卷的详细信息,需要使用指定的物理卷作为命令参数,默认时将显示所有物理卷信息。例如,执行以下“pvdisplay /dev/sdb1”命令可以查看物理卷/dev/sdb1的详细信息。
1.4)、pvremove命令
pvremove用于将物理卷还原成普通分区或磁盘,不再用于LVM体系,被移除的物理卷将无法被pvscan识别。执行“pvremove /dev/sdb1”命令可以将物理卷/dev/sdb1从LVM体系中移除。
[root@houliangjin~]#pvremove /dev/sdb1
2、VG卷组管理
2.1)、vgscan命令
vgscan命令用于扫描系统中已建立的LVM卷组及相关信息。
[root@houliangjin~]#vgscan
2.2)、vgcreate命令
vgcreate用于将一个或多个物理卷创建为一个卷组,第一个命令参数用于设置新卷组的名称,其后依次指定需要加入到该卷组的物理卷作为参数。例如,若要使用物理卷“/dev/sdb1、/dev/sdb2”创建名为abc的卷组,可以执行以下操作。
2.3)、vgdisplay命令
vgdisplay用于显示系统中各卷组的详细信息,需要使用指定卷组名作为命令参数(未指定卷组时将显示所有卷组的信息)。例如,若要查看卷组abc的详细信息,可以执行以下操作。
2.4)、vgremove命令
vgremove命令用于删除指定的卷组,指定卷组名称作为参数即可。删除时应确保该卷组中没有正在使用的逻辑卷。例如,若要删除名为abc的LVM卷组,可以执行以下操作。
[root@houliangjin~]# vgremove abc Volumegroup "abc" successfully removed
2.5)、vgextend命令
vgextend用于扩展卷组的磁盘空间。当创建了新的物理卷,并需要将其添加到已有卷组中时,就可以使用vgextend命令。该命令的第一个参数为需要扩展容量的卷组名称,其后为需要添加到该卷组中的各物理卷。例如,一下操作将重新创建卷组abc,包含物理卷“/dev/sdb1、/dev/sdb2”,然后通过vgextend命令将物理卷“/dev/sdc1”添加到卷组abc中。
3、LV逻辑卷管理
3.1)、lvscan命令
lvscan命令用于扫描系统中已建立的逻辑卷及相关信息。
[root@houliangjin~]# lvscan
3.2)、lvcreate命令
lvcreate用于从指定的卷组中分割空间,以创建新的逻辑卷。需要指定逻辑卷大小、名称及所在的卷组名作为参数。命令格式如下
[root@houliangjin~]# lvcreate -L 容量大小 -n 逻辑卷名 卷组名
例如,执行以下操作将在卷组abc中建立一个新的逻辑卷,容量为10GB,名称设为hlj。
3.3)、lvdisplay命令
lvdisplay命令用于显示逻辑卷的详细信息,需要指定逻辑卷的设备文件作为参数,也可以使用卷组名作为参数,以显示该卷组中所有逻辑卷的信息。例如,执行以下操作可以查看前面创建的hlj逻辑卷的详细信息。
3.4)、lvextend命令
lvextend用于动态扩展逻辑卷的空间,当目前使用的逻辑卷空间不足时,可以从所在卷组中分割额外的空间进行扩展。只要指定需增加的容量大小及逻辑卷文件位置即可。前提条件是该卷组中还有尚未分配的磁盘空间,否则需要先扩展卷组容量。另外,调整逻辑卷的容量后,需要执行“resize2fs /dev/卷组名/逻辑卷名”命令以便Linux系统重新识别文件系统的大小(resize2fs命令用于在线调整文件系统大小),需要格式化之后才可以使用resize2fs命令
使用lvextend命令时,基本格式如下
[root@houliangjin~]# lvextend -L +大小 /dev/卷组名/逻辑卷名
例如,以下操作可以为hlj逻辑卷扩展(增加)5GB大小的磁盘空间,并使用resize2fs
创建成功后的逻辑卷使用mkfs命令格式化之后就可以挂载到目录下边使用了。
本文出自 “侯良金” 博客,请务必保留此出处http://houliangjin.blog.51cto.com/13112910/1965075
原文地址:http://houliangjin.blog.51cto.com/13112910/1965075