前言
LVM(Logicl Volume Manager),逻辑卷管理器,通过使用逻辑卷管理器对硬盘存储设备进行管理,可以实现硬盘空间的动态划分和调整。
1、基本概念
1.1 物理卷–PV(Physical Volume)
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘。
1.2 卷组—VG(Volumne Group)
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
1、3 逻辑卷–LV(Logical Volume)
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷要以属于同一个卷组,也可以属于不同的多个卷组。
1.4 物理区域-PE(Physical Extent)
物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。
1.5 逻辑区域-LE(Logical Extent)
逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
1.6 卷组描述区域–(Volume Group Descriptor Area)
卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有信息,卷组描述区域是在使用pvcreate建立物理卷时建立的。
2、逻辑卷常用管理命令
2.1 在磁盘分区上建立物理卷
1
2
3
|
#fdisk /dev/hdb
#pvdisplay /dev/hdb1 //在已经建立好的分区或硬盘上建立物理卷
#pvcreate /dev/hdb1
|
2.2 使用物理卷建立卷组
1
|
#vgcreate myVG /dev/hdb1 //建立卷组,日后可以根据需要添加新的物理卷到已有卷组中
|
2.3 在卷组中建立逻辑卷
1
|
#lvcreate -L 10M -n myLV1 myVG //从已有卷组建立逻辑卷,通常只分配部分空间给该逻//辑卷
|
2.4 在逻辑卷上建立文件系统
2.5 将文件系统挂载到Linux系统的目录树中
2.6 在卷组中添加新的物理卷
当卷组中没有足够的空间分配给逻辑卷时,可以使用vgextend命令添加新的物理卷到该卷组中,来扩充卷组容量。在一引起特殊的情况下也可以把卷组中现有的物理卷移出卷组。
1
|
#vgextend myVG /dev/hdb2
|
2.7 扩充逻辑卷的容量
当逻辑卷的空间不能满足需要时,可以使用lvextend命令把卷组中的空闲空间分配到该逻辑卷以扩展逻辑卷的容量。在逻辑卷的空闲空间过大时,也可以使用lvreduce命令缩减逻辑卷的容量。这样就实现了逻辑卷容量的动态调整。
1
|
#lvextend -L +4M /dev/myVG/myLV
|
3、物理卷命令
3.1 pv一般维护命令
1
2
3
4
|
# pvscan //在系统的所有磁盘中搜索已存在的物理卷
# pvdisplay 物理卷全路径名称 //用于显示指定物理卷的属性。
# pvdata 物理卷全路径名称 //用于显示物理卷的卷组描述区域信息,用于调试目的。
# pvchange -x|-allocation {y|n} 物理卷全路径名 //用于改变物理卷的分配许可设置
|
3.2 物理卷的创建与删除命令
1
2
|
# pvcreate 设备全路径名 //用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。
# pvmove 源物理卷全路径我[目的物理卷全路径名] //用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。
|
3.3 vg一般维护命令
1
2
3
4
5
6
7
8
|
# vgscan //检测系统中所有磁盘
# vgck [卷组名] //用于检查卷组中卷组描述区域信息的一致性。
# vgdisplay [卷组名] //显示卷组的属性信息
# vgrename 原卷组名 新卷组名
# vgchange -a y|n [卷组名] //改变卷组的相应属性。是否可分配
# vgchange -l 最大逻辑卷数 //卷组可容纳最大逻辑卷数
# vgchange -x y|n [卷组名] //卷是否有效
# vgmknodes [卷组名|卷组路径] //用于建立(重新建立)已有卷组目录和其中的设备文件
|
3.4 卷组配置的备份与恢复命令
1
2
|
# vgcfgbackup [卷组名] //把卷组中的VGDA信息备份到“/etc/lvmconf”目录中的文件
# vgcfgrestore -n 卷组名 物理卷全路命名 //从备份文件中必得指定物理卷的信息
|
3.5 卷组的建立与删除命令
1
2
|
# vgcreate 卷组名 物理卷全路径名[物理卷全路径名]
# vgremove 卷组名
|
3.6 卷组的扩充与缩小命令
1
2
|
# vgextend 卷组名 物理卷全路径名[物理卷全路径名]
# vgreduce 卷组名 物理卷全路径名[物理卷全路径名]
|
3.7 卷组的合并与拆分
1
2
|
# vgmerge 目的卷组名 源卷组名 //合并两个已经存在的卷组,要求两个卷组的物理区域大小相等且源卷组是非活动的。
# vgsplit 现有卷组 新卷组 物理卷全路径名[物理卷全路径名]
|
3.8 卷组的输入与输出命令
1
2
|
# vgexport 卷组名
# vgimport 卷组名 卷组中的物理卷[卷组中的物理卷]
|
3.9 给数据库扩充逻辑卷
采用raw
1
2
3
4
|
# lvmdiskscan //检测所有的SCSI、IDE等存储设备
# lvmchange -R|-reset //复位逻辑卷管理器
# lvmsadc [日志文件全路径名] //收信逻辑卷管理器读写统计信息,保存到日志文件中。
# lvmsar 日志文件全路径名 //从lvmsadc命令生成的日志文件中读取并报告逻辑卷管理器的读写统计信息。
|
3.10 oracle11g增加LV
SMSC在线热加载方式
1
2
3
4
5
6
7
8
|
pvcreate /dev/sdj
vgextend datavg /dev/sdj
lvcreate -L 60G -n lv_hisdata5 datavg
lvcreate -L 30G -n lv_index4 datavg
raw /dev/raw/raw48 /dev/datavg/lv_hisdata5
raw /dev/raw/raw49 /dev/datavg/lv_index4
chown Oracle:oinstall /dev/raw/raw48
chown oracle:oinstall /dev/raw/raw49
|
然后进入oracle命令行管理界面
1
2
|
alter tablespace SMSC_CENTER add datafile '/dev/raw/raw48' size 61400M;
alter tablespace SMSC_INDEX add datafile '/dev/raw/raw49' size 30700M;
|
再修改VCS脚本/etc/VRTSvcs/…/main.cf
修改双机的脚本,加这个raw操作加到双机中,med的是在/opt/App…../bin/oracle/raw.config
3.11 lv一般运维命令
1
2
3
4
5
6
|
# lvscan
# lvdisplay 逻辑卷全路径名[逻辑卷全路径名]
# lvrename 旧逻辑卷全路径名 新逻辑卷全路径名
# lvrename 卷组名 旧逻辑卷名 新逻辑卷名
# lvchange
# e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名
|
3.12 逻辑卷的创建与删除命令
1
2
|
# lvcreate
# lvremove
|
3.13 逻辑卷的扩充与缩小命令
1
2
|
# lvextend -L|-size +逻辑卷大小增量 逻辑卷全路径名
# lvreduce q -L|-size +逻辑卷减小量 逻辑卷全路径名
|