HP-UX LVM管理
LVM【Logical Volume Manager】是操作系统的一个磁盘管理子系统,而不是文件系统。
在LVM系统中,一个PV【Physical Volume,物理卷】对应且只对应一个物理硬盘,一个或多个PV组成一个VG【Volume Group,卷组】,而一个VG里又可以虚拟划分多个LV【Logical Volume,逻辑卷】,真正的文件系统是创建在LV上面的。
可以在LV上建立文件系统,也可以不建立文件系统而直接使用,这是叫做裸设备【Raw Device】,因为是直接对设备进行数据读写,所以Raw Device的性能要比文件系统好,许多数据库系统就是直接存储在裸设备上的,但是可管理性比较差。
那么,LVM系统怎么知道往某个LV里面存数据时,到底时存放在那个(些)实际硬盘呢?在LVM系统里,一个PV由若干个PE【Physical Extend】组成,一个LV由若干个LE【Logical Extend】组成,而这些PE和LE之间又有直接的对应关系,这种关系被存储在叫做“PE/LE对应表”【TranslationTable】的表中。Translation Table存放在LVM磁盘上,当VG激活时才被装载倒内存中。PE是在创建卷组时创建的,大小由vgcreate -s参数指定,默认是4M;在同一个VG里面所有的PV的PE大小是一样的,不管实际硬盘的大小和型号是否相同。当LV创建时,LVM系统创建LE并自动维护PE/LE对应表,使得每个LV里面的LE都可以找到与之对应的PE,从而知道数据该往那个硬盘写。一般情况下创建LV的时候,系统都是按照物理硬盘加入VG的顺序来分配其可用的PV。比如说c0t5d0是第一个加入VG的,那么默认情况下,这个硬盘里是可用PE将最先用来分配,除非使用lvextent命令时特殊指定。
在使用vgcreate的-s参数时,PE的大小必须是2的整倍数,一般使用默认值4M。一个PV最多只能有65535个PE,也就是最大支持4×65535=262140M,当单个硬盘容量超过这个数的时候,PE大小就应该增加了。
LVM的限定如下:
◎一个LV只能属于一个VG
◎一个PV要么独立,要么属于一个VG(独立时作Raw Device,性能比较好)
◎vgcreate -l参数将限定一个VG里面能创建的最大的LV的数量,极限时255
◎vgcreate -p参数将限定一个VG里面能容纳多少个PV的数量,极限是255
◎内核参数maxvgs限定系统最大的VG数,默认是10,最大支持256
Quorum机制:
什么是Quorum机制,在激活VG之前,系统检测属于该VG的所有的PV,当且仅当过半数的PV没有问题时,该VG才能被激活。这是一个安全机制,有一半的PV是坏的不让激活。Quorum机制在VG配置改变(如新建逻辑卷)或状态改变(如VG里面有硬盘损坏)时都会被检测,不过可以使用“vgcreate -q n”来绕过Quorum检测