RAID
RAID简介:RAID(Redundant Arrays of Independent Disks )独立冗余硬盘阵列;1988年由加利福尼亚大学伯克利分校研发
把多块硬盘组合成一个“阵列”来提供更好的冗余和性能
提高IO能力:磁盘并行读写
提高耐用性:磁盘冗余来实现
RAID实现方式
硬件RAID
外接磁盘阵列:通过扩展卡提供适配能力
内接RAID:主板集成RAID控制器;安装OS前在BIOS里配置
软件RAID
RAID有级别之分;级别:多块磁盘组织在一起的工作方式有所不同
常见的级别 RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
RAID-0 条带集strip
工作原理:将连续的数据均匀分散存放在多块硬盘上
性能提升:读、写
冗余能力:无
空间利用率:n
硬盘个数:2,2+
RAID-1 镜像mirror
工作原理:每块盘上存放相同数据
性能提升:读性能提升,写性能下降
冗余能力:有
空间利用率:1/2
硬盘个数:2,2n
RAID-4
有一块硬盘存放校验位;其它硬盘上存放数据;因为存放校验位的盘很容易坏;所以导致RAID-4使用较少
RAID-5 带奇偶校验的条带集
工作原理:数据和奇偶校验信息分别存放在不同磁盘上
性能提升:读、写
冗余能力:有 允许最多坏一块盘
空间利用率:(n-1)/n
硬盘个数:3,3+
RAID-6
工作原理:在RAID-5的基础上又增加了一位校验位;数据和两位校验位分别存放在不同硬盘上
性能提升:读、写
冗余能力:有 允许最多坏二块盘
空间利用率:(n-2)/n
硬盘个数: 4,4+
RAID-10
工作原理:先实现RAID-1再组合成RAID-0
性能提升:读、写
冗余能力:有 每组镜像最多只能坏一块
空间利用率:1/2
硬盘个数:4,4+
RAID-01
工作原理:先实现RAID-0再组合成RAID-1
性能提升:读、写
空间利用率:1/2
硬盘个数:4,4+
RAID-50
工作原理:先实现RAID-5再组合成RAID-0
性能提升:读、写
冗余能力:有
空间利用率:(n-2)/n
硬盘个数:6,6+
JBOD
工作原理:将多块磁盘的空间合并一个大的连续空间使用
性能提升:无
冗余能力:无
空间利用率:100%
硬盘个数:至少2块
RAID7 理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
软件RAID
为空余磁盘添加冗余;设备命名为/dev/md0、/dev/md1,...
mdadm 为软RAID提供管理界面;模式化的工具
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
mdadm [mode] <raiddevice> [options] <component-devices>
-C 装载
-a {yes|no}:自动创建目标raid设备的设备文件
-l #:指定raid级别
-n #:指明使用#个块设备来创建raid
-x #:指明空闲盘个数
-c #:指定chunk大小
mdadm -C /dev/md0 -a yes -l5 -c 256 -n3 -x1 /dev/sda{c,d,e,f}
-D | --detail:显示raid详细信息
mdadm -D /dev/md#
cat /proc/mdstat 显示raid状态
-f:标记指定磁盘为损坏
mdadm /dev/md# -f /dev/DEVICE 模拟磁盘故障
-a:添加磁盘
mdadm /dev/md# -a /dev/DEVICE
mdadm -G /dev/md# -a /dev/DEVICE 添加新成员
-r:移除磁盘
mdadm /dev/md# -r /dev/DEVICE
mdadm -Ds /dev/md# >> /etc/mdadm.conf 生成配置文件
mdadm -S /dev/md# 停止设备
mdadm -As /dev/md# 激活设备
mdadm -R /dev/md# 强制启动
mdadm --zero-superblock /dev/DEVICE 清除raid信息
软件raid实现步骤
1、准备硬盘或分区
2、创建RAID
3、创建文件系统
4、挂载
5、创建RAID配置文件
删除raid
1、取消挂载
2、删除raid配置文件
3、停止raid
4、清除raid信息
5、删除硬盘分区
LVM
LVM(Logical Volume Manager)逻辑卷管理
dm:device mapper,将一个或多个底层块设备组合成一个逻辑设备的模块
设备名 /dev/dm-#
软链接
/dev/vg_name /lv_name --> /etc/dm-#
/dev/vg_name/lv_name --> /etc/dm-#
LVM可弹性更改LVM容量
通过交换PE来进行资料转换,将原来LV内的PE移动到其它设备中以降低LV容量,或将其它设备中的PE添加到LV中以加大容量
PE:Physical Extent 分配卷组空间的单位
PV(Physical Volumes):物理卷;VG(Volume Group):卷组;LV(Logical Volumes):逻辑卷
逻辑卷管理器
允许对卷进行方便操作的抽象层,包括重新设定文件系统大小;在多个物理设备间重新组织文件系统
1、将设备指定为物理卷
物理卷用固定大小的物理区域(PE)来定义
2、用一个或多个物理卷来创建卷组
3、在物理卷上创建逻辑卷
4、可以在逻辑卷上创建文件系统
PV管理工具
pvs | pvdisplay 查看物理卷信息
pvcreate /dev/DEVICE... 创建物理卷
pvremove /dev/DEVICE 删除物理卷
pvmove /dev/DEVICE 把指定设备中数据从一个物理卷中移到同一卷组中另一个物理卷上
VG管理工具
vgs | vgdisplay 查看卷组
vgcreate /dev/DEVICE /dev/DEVICE1... 创建卷组
vgchange [options...] vgname
-s #:改变PE大小
-an:禁用卷组
-ay:激活卷组
vgextend [options...] /dev/vgname/lvname 扩展卷组
-L #:以容量为单位
-l #:以PE数量为单位
-r:扩展容量同时重新设定文件系统大小
vgextend vgname /dev/vgname/lvname 新物理卷加入到旧卷组中
vgreduce vgname /dev/DEVICE 缩减卷组
vgexport vgname 导出卷组
vgimport vgname 导入卷组
vgrename vgname vgrename 重命名卷组
vgremove vgname 删除卷组
LV管理工具
lvs | lvdisplay 查看逻辑卷
lvcreate [options...] vgname
-n:指定逻辑卷名
-L #:指定大小,以容量为单位
-l #:指定大小,以PE个数为单位
lvextend [options...] /dev/vgname/lvname 扩展逻辑卷
-L #:以容量为单位
+#:增加多少
#:指定多少
-l:以PE为单位
-r:扩展容量时同时重新设定文件系统大小
lvreduce [options...] /dev/vgname/lvname 缩减逻辑卷
-L #:指定缩减容量
lvremove vgname 删除逻辑卷
lvrename lvname /dev/vgname/lvrename 重命名逻辑卷
一、创建逻辑卷
pvcreate /dev/sdx /dev/sdy
vgcreate [-s 16M] vgname /dev/sd{x,y}
lvcreate -n lvname -L 50G vgname
二、扩展逻辑卷
1、添加物理硬盘
2、创建物理卷
3、添加物理卷到旧卷组中(扩展卷组)
4、扩展逻辑卷
5、重新设定文件系统大小
相关命令
pvcreate /dev/sdx
vgextend vgname /dev/sdx
lvextend -L 50G /dev/vgname/lvname
resize2fs /dev/vgname/lvname
三、缩减逻辑卷
1、取消挂载
2、检查文件系统
3、重新设定文件系统大小
4、缩减逻辑卷
5、挂载
umount
ckfs -f /dev/vgname/lvname
resize2fs /dev/vgname/lvname 10G
lvreduce -L 10G /dev/vgname/lvname
mount
注意:缩减文件系统有可能会造成数据丢失
四、删除vg中的pv缩减vg
1、添加物理硬盘或分区
2、创建物理卷
3、创建卷组并把物理卷加入
4、迁移空间(把存放数据的物理卷上所有占用的PE移到同一卷组里的其它成员上)
5、缩减卷组
6、删除物理卷(物理卷变为普通硬盘)
相关命令
pvcreate /dev/sdx
vgcreate vgname /dev/sdx
pvmove /dev/sdy
vgreduce vgname /dev/sdy
pvremove /dev/sdy
五、跨主机迁移卷组
源主机
1、取消挂载
2、禁用卷组
3、导出卷组
目标主机
4、导入卷组
5、激活卷组
6、挂载
相关命令
umount
vgchange -an vgname
vgexport vgname
vgimport vgname
vgchange -ay vgname
mount
六、快照管理
创建快照
快照恢复
删除快照