RAID
Introduction to RAID: RAID (Redundant Arrays of Independent Disks) independent redundant hard disk array; developed by the University of California, Berkeley in 1988
Combine multiple hard drives into an "array" to provide better redundancy and performance
Improve IO capability: Disk parallel read and write
Increased durability: disk redundancy to achieve
RAID implementation
hardware RAID
External disk array: provide adaptability through expansion cards
Internal RAID: motherboard integrated RAID controller; configure in BIOS before installing OS
Software RAID
There are levels of RAID; levels: how multiple disks are organized together work differently
Common levels RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
RAID-0 stripe set strip
Working principle: Disperse continuous data evenly on multiple hard disks
Performance improvements: read, write
Redundancy: none
Space utilization: n
Number of hard drives: 2, 2+
RAID-1 mirror mirror
How it works: store the same data on each disk
Performance improvement: read performance improved, write performance decreased
Redundancy: yes
Space utilization: 1/2
Number of hard drives: 2, 2n
RAID-4
There is one hard disk to store the parity bit; other hard disks store data; because the disk that stores the parity bit is easily damaged; therefore, RAID-4 is less used
RAID-5 Stripe Set with Parity
Working principle: data and parity information are stored on different disks
Performance improvement: read, write
Redundancy: Yes Allow at most one bad disk
Space utilization: (n-1)/n
Number of hard drives: 3, 3+
RAID-6
Working principle: A check digit is added on the basis of RAID-5; data and two check digit are stored on different hard disks respectively
Performance improvements: read, write
Redundancy: yes, allow up to two bad disks
空间利用率:(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
5. Migrating volume groups across hosts
source host
1. Cancel the mount
2. Disable the volume group
3. Export the volume group
target host
4. Import the volume group
5. Activate the volume group
6. Mount
Related commands
umount
vgchange -an vgname
vgexport vgname
vgimport vgname
vgchange -ay vgname
mount
6. Snapshot management
Create snapshot
Snapshot recovery
delete snapshot