LVM逻辑卷管理

要使用磁盘存储数据,必须要先分区、建立文件系统,之后才可以挂载并使用文件系统存储数据。但是一些系统中凸显了这种方式的弊端:随着应用的不断扩展,存储的数据越来越多(例如数据库、文件服务器等),分区大小不能在线扩充就成了一个棘手的问题。为了解决问题,管理员们不得不关闭正在提供的业务,然后在线下执行扩展和数据转移工作。由于数据量巨大,线下扩展通常花费的时间很长,这对与关键性业务而言可能是致命的。

可以使用LVM来解决这一难题。LVM(Logical Volume Manager),逻辑卷管理。LVM可以将多个不同容量的分区合并在一起,然后重新分配使用空间。不仅如此,LVM还支持在线添加磁盘、删除磁盘、在线扩充文件系统等功能。

一、LVM的基本概念

1、基本术语

物理卷(PV,Physical Volume):构成LVM的基本存储设备。在实际应用中,物理卷可以是磁盘分区、RAID设备等。

卷组(VG,Volume Group):卷组就像一个可以扩充的磁盘(可以简单地理解为卷组是未分区的磁盘),由一个或多个物理卷组成。

逻辑卷(LV,Logical Volume):逻辑卷就像是卷组中的一个分区,可以创建文件系统,挂载并存储数据。

将多个物理卷组成卷组后,就可以在卷组的基础上创建逻辑卷、文件系统并存储数据。由于逻辑卷在卷组的基础上创建,而卷组又由多个物理卷组成,因此一个逻辑卷可能位于不同的物理卷之上。

在磁盘中,系统会通过查找扇区的方式寻址并存取数据。由于逻辑卷可能会位于不同的磁盘上,因此不能使用扇区寻址。为解决逻辑卷寻址的问题,LVM引入了两个新的概念:物理块和逻辑块。

物理块(PE,Physical Extent),加入卷组的物理卷被划分为许多大小相等的物理块,物理块的大小通常为4MB。物理块的功能类似于磁盘上的扇区,每个物理块都具有唯一的地址,LVM通过物理块在磁盘中寻址。与磁盘中的扇区类似,物理块也是LVM中最小的可寻址存储单元。

逻辑快(LE,Logical Extent),与物理卷一样,逻辑卷也被划分为许多大小相等的逻辑块,其大小和物理块大小相同。逻辑块是逻辑卷上可寻址的最小存储单元。

逻辑块和物理块之间的关系是一一对应的,即一个逻辑块对应一个物理块。在物理卷的起始处,有一个类似于分区表的区域,称为VGDA(卷组描述符区域)。LE和PE之间的对应关系就保存在VGDA的一个表中,除此之外VGDA还保存有卷组描述符等内容。

提示:读者可以简单地理解为:物理块是物理卷中的“扇区”,逻辑块是逻辑卷中的“扇区”。

2、LVM工作原理

存储数据时,LVM会为数据分配逻辑块,将数据存储到分配的逻辑块上。此时卷组会分配与逻辑块相对应的物理块,并将数据交给磁盘,磁盘会将数据存储到对应的物理块中。

在这个数据存储的例子中,卷组就像是逻辑卷与物理卷的“中间人”,它负责地址转换工作。读取、写入数据时,,卷组会将逻辑卷分配的逻辑块地址转换为物理块地址。

二、创建物理卷

创建LVM的顺序依次是:物理卷、卷组、逻辑卷。

物理卷的实质是一个存储设备,通常可以使用的存储设备有磁盘分区、RAID设备等。创建物理卷的过程,就是向物理卷写入LVM信息的过程。

(1)创建并修改分区类型

创建物理卷PV之前,需要先对磁盘进行分区并修改分区类型,这个过程与创建组成RAID设备的分区类似:

[root@localhost ~]# fdisk /dev/sdaThe number of cylinders to 1958.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)Command (m for help): nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-1958, default 1): Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-1958, default 1958): Using default value 1958#此处使用的分区类型是8eCommand (m for help): tSelected partition 1Hex code (type L to list codes): 8eChanged system type of partition 1 to 8e (Linux LVM)Command (m for help): pDisk /dev/sda: 16.1 GB, 16106127360 bytes255 heads, 63 sectors/track, 1958 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice BootStartEndBlocks Id System/dev/sda1+ 8e Linux LVMCommand (m for help): w可是却依旧为对方擦去嘴角的油渍。

LVM逻辑卷管理

相关文章:

你感兴趣的文章:

标签云: