raid(磁盘阵列)总结
raid技术:是按一定级别逻辑,将多块独立的物理硬盘关联起来的技术。达到提高数据读取数据、数据容灾的效果的。(官方定义:将多块磁盘组合当作一个整列(一个逻辑设备)来使用的机制)
raid级别:仅代表磁盘组织方式不同,没有上下之分。可高数据读取速度与硬盘可用性。
级别0:条带
特征:提高读、写性能,无容错能力、利用率100%,至少需2快盘。
级别1:镜像
特征:提高读、降低写性能,有容错能力、利用率50%,至少需2快盘。
级别5:校验码轮询
特征:提高读、写性能,有一定容错能力、利用率(n-1)/n,至少需3快盘
----------------------------------------------------------------------------------------------------------------------------
级别01:
特征:有一定数据容错能力。;2、磁盘利用率低,50%。;3、获取数据速度快。;4、造价昂贵。
一般有钱的企业也不会如此做,原因:此方式采取的是先镜像后条带,这将出现磁盘1与磁盘4的数据实际上是不相等,若磁盘1出错了需要联合磁盘456中的数据并校验磁盘23,最终才得于修复磁盘1中的数据。
----------------------------------------------------------------------------------------------------------------------------
级别10:
特征:1、数据容错能力强。;2、磁盘利用率低,50%。;3、获取数据速度快。;4、造价昂贵
一般有钱的企业会采取该方式,原因:此方式采取的是先条带后镜像,这将出现磁盘1与磁盘4的数据实际上是相等的,若磁盘1出错了,直接使用磁盘4中的数据来修复即可。
----------------------------------------------------------------------------------------------------------------------------
使用备注:主板上有raid模块(或有raid芯片)。若主板本身没该模块,使用该技术一定程度也会消耗CPU的使用,其效果也不能发挥的非常好。(运算整列存储算法本身会消耗不小的CPU)
使用思想:
1、创建对应磁盘区,并设置为相应Type。并加载新设备,使内核可识别到。
2、将多个磁盘区按指定级别创建为一个整列盘(逻辑设备)
3、为该逻辑设备创建文件系统
4、挂载
MD命令: Multi Device(多设备)
-C 创建模式
-l 级别
-n # 设备个数
-a {yes|no} 自动为其创建设备文件
-c CHUNK(数据)大小,2^n,默认64K
-x # 指定备份盘
--add --remove --fail 管理模式
--add 增加某个物理盘
--remove 移除某个物理盘
--frail 模拟损坏物理盘 #mdadm /dev/md1 --fail /dev/sda7
-F -D 监控模式
-D 可以显示相关raid信息 #mdadm -D /dev/md1 查看指定raid信息
#mdadm -D --scan 查看所有raid信息
-G 增长模式
-A 装配模式
#mdadm -A /dev/md1 /dev/sda7 /dev/sda9 启动被停止的整列
-S 停止整列
-S | --stop 停止某个正在运行的raid整列 #mdadm -S /dev/md1
----------------------------------------------------------------------------------------------------------------------------
实验步骤:
1、创建虚拟设备sda,并选项fd类型,并在内核加载新设备。
2、创建raid设备。 mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sda /dev/sda
3、查看创建情况。cat /proc/mdstat
4、查看生产情况 fdisk -l
5、对设备创建文件系统。 mke2fs -j /dev/md1
6、挂载 mount /dev/md1 /mnt
测试思路:
1、对不同级别的整列盘做数据读、写测试,并与主机本地单个硬盘的数据读、写速度做比较。
2、容灾测试,模拟整列中某个设备损坏,检查其已存储数据的完整性。
----------------------------------------------------------------------------------------------------------------------------
LVM:Logical Volume Manager 逻辑卷管理
DM:LVM2
特点:1、snapshot 快照; 2、多路径(冗余、负载)
物理边界,逻辑边界(由上至下)
第三层:Logical Volume LV逻辑卷
lvcreate lvremove lvextend lvreduce lvdisplay lvs
第二层:Volume Group VG卷组
vgcreate vgremove vgscan vgdisplay vgetend vgs vgreduce
第一层:Physical Volume PV物理卷
pvcreate pvremove pvscan pvdisplay pvmove pvs
实验步骤:
1、创建2个分区fdisk /dev/sda 并将将模式调为8e;并加载进内核
2、#pvcreate /dev/sda{9,10} 创建物理卷
3、查看详情pvdisplay /dev/sda10 #pvscan扫描当前由多少个PV
4、查看那些卷组名已用过了#vgs
4、创建卷组#vgcreate VolumeNEMA /dev/sda9 /dev/sda10
-s # 指定PE大小(正常B M G T E单位),默认为4MB
5、创建完卷组后 ,查看物理卷磁盘详情。#pvdisplay /dev/sda10 PE为4M
6、删除卷组,重新建立,并指定PE为8M
#vgremove myvg #vgcreate -s 8M myvg /dev/sda{10,11}
7、缩减卷组大小(实际减少物理卷),#pvs 查看物理卷使用情况(直接移除将会损坏数据完整)。
8、将要移除物理卷数据转移到其他同卷组物理卷上#pvmove /dev/sda11
9、取下已清楚完数据的盘#vgreduce myvg /dev/sda11
10、使用vgs 可以查看缩减完的空间大小
11、删除盘 #pvremove /sde/sda11
12、添加新物理卷同2
13、卷组myvg中添加物理卷。#vgextend myvg /dev/sda12
14、vgs查看myvg实际空间大小
15、lvcreate -L 50M -n testlv myvg 创建逻辑卷
16、lvs查看逻辑卷信息 查看设备链接路径
17、格式创建文件系统 #mke2fs -j /dev/myvg/testlv
18、挂载 mount /dev/myvg/testlv /mnt
19、卸载
20、lvremove /dev/myvg/testlv
----------------------------------------------------------------------------------------------------------------------------
根据:物理边界>逻辑边界
原则:扩展时:先扩展物理边界,再扩展逻边边界
缩减时:先缩减逻辑边界,再缩减物理边界
物理边界使用#lvs 或 fdisk -l 查看
逻辑边界使用#df -l 查看
----------------------------------------------------------------------------------------------------------------------------
逻辑卷伸展与快照:
一、扩展逻辑卷
lvetend 扩展物理卷
-L [+] # /dev/TO/LV
resize2fs 扩展逻辑卷
resize2fs /dev/TO/LV #
-p /dev/TO/LV 扩展得与物理卷一样
二、缩减逻辑卷(风险极大)
注意:1、不能在线缩减,得先卸载。umount
2、确保缩减后的空间大小依然能存储原有的所有数据; df -lh
3、在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态;
e2fsck -f /dev/myvg/testlv
resize2fs /dev/TO/PV #
lvreduce -L [-] # /dev/TO/LV
重新挂载
三、快照卷
1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超级快照卷大小;
2、快照卷应该是只读的
3、跟原卷在同一卷组内
lvcreate
-s
-p r|w
#lvcreate -L # -n SLV_NAME -p r /dev/