您的位置:首页 > 大数据 > 人工智能

LVM&RAID

2015-08-07 10:49 302 查看
一、概述

Logical Volume Manager(逻辑卷管理)由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如store1、development)代替物理磁盘名(如sda、sdb)来标识存储卷。

LVM模型:



Physical Volume物理卷:

调整实际的分区systerm ID为8e,再通过pvcreate命令将它转变为LVM最底层的物理卷

Volume Group卷组:

所谓的LVM大磁盘就是将许多PV整合成VG,VG的容量与PE(Physical Extend)物理扩展块相关,PE是整个LVM最小的存储块。

PE(physical extent):

每一个物理卷被划分为称为PE的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小可配置,默认为4MB,其实文件数据都是由写入PE来处理的,简单来说,这个PE有点类似于文件系统里的block大小。

Logical Volume逻辑卷:

最终的VG会被切成LV,这个LV就是最后可以被格式化使用的类似分区,LV的大小与在此LV内的PE总数相关,LV的设备名通常指定为”/dev/vgname/lvname“的样式。LVM可以弹性改变文件系统的容量,就是通过交换PE来进行数据转换,将原本LV内的PE转移到其他设备中以降低LV容量,或者将其他设备中的PE加到此LV中以加大容量。

PE与VG相关性:



数据写入LV依据写入机制的不同有两种写入方式:

线性模式(linear):假如将/dev/sda1,/dev/sda2这两个分区加入VG中,且整个VG只有一个LV时,所谓的线性模式就是当/dev/sda1的容量用完之后,/dev/sda2才会被使用

交互模式(triped):将一条数据拆成2个部分,分写入/dev/sda1,/dev/sda2,感觉上有点像RAID 0。

二、LVM实作流程:

1、查询是否安装lvm2软件包,CentOS系统已默认安装



2、创建物理文件系统,将其文件系统的类型设置为LVM,分区时修改文件系统类型为8e:







与创建物理卷(PV)相关的命令;

pvcreate:将物理分区新建为PV

pvdisplay:显示目前系统上PV的状态

pvscan:查询目前系统里任何具有PV的磁盘

pvremove:将PV属性删除,让该分区不具有PV属性

3、接下来创建PV:







创建卷组相关命令:

vgcreate:创建VG

vgscan:查找系统上是否有VG

vgdisplay:显示目前系统上VG状态

vgextend:扩展VG,在VG增加额外的PV

vgreduce:缩小VG,在VG内删除PV

vgremove:删除VG

vgrename:VG重命名

4、创建VG的命令格式:vgcreate [-s size] VG名称 PV名称









5、创建好卷组之后,来扩展VG:vgextend vgName PV





创建逻辑卷相关的命令:

lvcreate:创建LV

lvscan:查看系统上的LV

lvdisplay:显示系统上LV的状态

lvextend:扩展LV

lvreduce:缩小LV

lvremove:删除一个LV

lvresize:调整LV的 容量大小

6、创建LV的命令格式: lvcreate -L [size M,G,T]-n LV名称 VG名称







7、格式化逻辑卷



8、新建目录用来挂载逻辑卷





9、新增一个类型为8e的分区,用来做扩展





放大LV容量:

1、利用PV构建PV–>利用vgextend将PV加入DQvg–>利用lvresize将新加入PV内的PE加入DQlv中







2、最后通过resize2fs将文件系统的容量确实增加





创建分区相当于创建物理边界,在分区上创建文件系统,文件系统边界可理解为逻辑边界

扩展LVM应先扩展物理边界即先创建分区在进一步扩展逻辑边界

缩减LVM应先缩减文件系统边界在缩减物理边界



缩小LV容量:

1、确保缩减后的空间大小依然能存储原有的所有数据, 即缩减后空间大小不小于Used



2、不能在线缩减,得先卸载;



3、在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态;









4、接下来缩减物理边界





5、转移/dev/sdc9中没有使用的PE





至此文件系统以及实际的LV,VG全部变小了



总结:在扩大和缩小逻辑卷时,使用命令的顺序刚好相反。但是缩减时必须先卸载逻辑卷

扩大:

[root@localhost~]#lvresize -l +64/dev/DQvg/DQlv
[root@localhost~]#resize2fs  /dev/DQvg/DQlv


缩小:

[root@localhost~]#umount /dev/DQvg/DQlv
[root@localhost~]#e2fsck -f /dev/DQvg/DQlv
[root@localhost~]#resize2fs /dev/DQvg/DQlv 2G(这里2G指缩减到2G)
[root@localhost~]#lvresize -l -64/dev/DQvg/DQlv


三、快照卷

快照就是将当时的系统信息记录下来,将来若有任何数据改动了,则原始数据会被移动到快照区,没有被改动的区域则由快照区与文件系统共享。



1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;

2、快照卷应该是只读的;

3、跟原卷在同一卷组内;





























删除之前新建的LVM数据







RAID:Redundant Array Indepedent Disk

基础知识可见http://blog.csdn.net/celeste7777/article/details/49225319

Software RAID实作流程

RAID-0 :等量模式

条带存储数据在每块磁盘上,条带chunk/block越多块磁盘组成的RAID-0性能会越好,因为每块磁盘负责的数据量变低

由于文件是被切割成适合每块磁盘分区的大小,再依次序存放到各个磁盘,所以RAID-0中只要有任何一块磁盘损毁,RAID上的数据都会丢失而无法读取

















RAID-1:镜像模式

同一份数据完整保存在2块磁盘上,写性能下降,读性能提升,有容错能力













设置sda7错误







再次设置sda7错误,测试添加进来的sda9已经启用,仍可正常访问文件



制作热空闲盘RAID,磁盘损坏时,自动同步备份















RAID-5:性能与数据备份的均衡考虑

数据写入有点类似RAID-0,不过每个循环的写入过程中,在每块磁盘还加入一个同为检查数据来记录其他磁盘的备份数据,同时也使得总容量是整体磁盘数量减1。至少需要3块磁盘,仅支持一块磁盘损毁,任何一个磁盘损毁都能通过同位检查码来重建原本磁盘内数据







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lvm 硬盘 RAID