赞
踩
一、LVM基本术语
1、物理存储介质(The physical media)
这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
2、物理卷(physical volume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘
等)比较,却包含有与LVM相关的管理参数。
3、卷组(Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组
成。
4、逻辑卷(logical volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
5、PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
6、LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
物理卷(PV)被由大小等同的基本单元PE组成。一个卷组由一个或多个物理卷组成,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。
二、LVM管理
1、fdisk创建lvm分区,即分区类型为8e。
2、pvcreate创建pv。
pvcreate /dev/sdb1
3、vgcreate创建vg,并添加pv到vg,默认pe为4M。
vgcreate ghvg /dev/sdb1
vgchange -a y ghvg //激活vg
vgextend ghvg /dev/sdb2 //添加新的物理卷到vg
vgreduce ghvg /dev/sdb2 //从vg删除pv
4、lvcreate创建lv,分配500M初始空间,指定lv名为lv1,所属vg为ghvg
lvcreate -L 500 -n lv1 ghvg
lvchange -a y /dev/ghvg/lv1 //激活
5、格式化分区创建文件系统,这里用ext3
mkfs.ext3 /dev/ghvg/lv1
6、挂接
mount /dev/ghvg/lv1 /data/hh //假设挂接给/data/hh这个目录用
若要开机挂接,修改/etc/fstab,执行mount可以看见挂在信息。
调整vg,lv空间:
增大容量:先增加lv大小,再调整文件系统大小(这里都是用ext3)
1、vgextend ghvg /dev/sdb2
2、lvextend -L+100 /dev/ghvg/lv1 //lv1=500M+100M=600M
lvextend -L700 /dev/ghvg/lv1 //lv1=700M
使用lvdisplay和df -hl命令对比,发现文件系统大小和逻辑卷大小不一致
3、ext2online /dev/ghvg/lv1 //在线扩展,不需要停止服务,但是没有减少文件系统的作用,必须用ext2resize来减少。
扩展完文件系统,大小和逻辑卷一直
ext2resize /dev/ghvg/lv1 //离线扩展,需要卸载文件系统
resize_reiserfs /dev/ghvg/lv1 //前面针对ext2、ext3文件系统;这个是reiserfs文件系统,支持在线。
减少容量:先调整文件系统大小,再增调整lv大小(这里都是用ext3)
ext2resize /dev/ghvg/lv1 5g
lvreduce -L-700 /dev/ghvg/lv1
三、硬盘的迁移(转)
首先在机器1上:
#vgchange -a n ghvg
这条命令是将卷组ghvg设为不可用状态
#vgexport ghvg
注意这里不要理解为导出,实际上这个命令是从源系统中注销卷组。
在机器2上:
#vgimport ghvg /dev/hda1
在机器2上注册卷组ghvg
#vgchange -a y ghvg
激活卷组ghvg,这样硬盘就从一台机器移动到另一台机器了。
如果有2块硬盘同属于某个vg呢?
四、硬盘替换(转)
以往如果硬盘坏掉,意味着数据丢失,于是人们发明了RAID技术,LVM本身不具备数据冗余功能,但它可以建立的RADI技术之上,即先用几块硬盘组成RAID
阵列,再在阵列上进行分区,然后在其上建立逻辑卷,如果是这种情况,其中一块硬盘坏掉,如果是RAID5,那么可以直接拔掉坏硬盘,插一块好的即可。
在使用LV的情况下,可以不用重启系统将一块硬盘中的数据转移到另一块上,实际上只需要一个命令pvmove就可以了。这里以移动/dev/oracle/oracle上
的数据到/dev/src/src为例进行说明。
首先在/oracle上创建1个文件
#echo 1111>/oracle/1.txt
将第二块硬盘加入同一卷组,这里假设将/dev/hdb加入到卷组oracle中
#lvremove src
#vgremove src
这两个命令是将卷组src占用的pv腾出来。
#vgextend oracle /dev/hdb1
将/dev/hdb1分区加入卷组oracle,这时可以移动分区了
#pvmove /dev/hda1
这样将原来的/dev/hda1是的数据全部转移到新的分区/dev/hdb1上了,现在可以将/dev/hda1从卷组oracle中移除。
#vgreduce oracle /dev/hda1
重新挂载
#mount /dev/oracle/oracle /oracle
查看前面创建的文件1.txt是否还在
#ls /oracle
可以看到文件还在,说明移动成功,这样也就完成了硬盘替换。可以看出替换硬盘没有重启系统,实现了在线替换
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。