linux RAID
RAID: 组织多块硬盘当一个设备来使用
硬件RAID: 硬件控制器:创建RAID通过BIOS进行 在OS中看到的仅是一个单独的设备 软件RAID: 无需任何硬件的RAID设备,仅需多个块设备(磁盘分区即可) 在OS中看到的是多个基本的磁盘设备、磁盘分区等,而后将这多个块设备可以组织一个单独的设备使用即为软RAID
RAID 分类
- raid0: 读、写性能提升,无容错能力,空间n*disk
- raid1: 写性能略有下降,读性能提升,容错,空间:1*disk
- raid4: 读、写性能提升,有容错能力(最多坏一块磁盘),空间:(n-1)*disk 1 & 0 = 1
- raid5: 读、写性能提升,有容错能力(最多坏一块磁盘),空间:(n-1)*disk
- raid10: 读、写性能提升,有容错能力(每一组可坏一块盘),空间:n*disk/2
- raid6: 有两块校验盘,容许同时坏两块,至少需要4块盘,空间:(n-2)*disk
mdadm工具:
md: 支持将任何块设备组织成RAID mdadm: 模块式化命令 -A: 装配模式,重新识别此前实现的RAID -C:创建模式,创建RAID -F:监控模式 管理模式:-f, -r, -a -C: 创建模式中专用选项 -n #: 用于创建RAID设备的磁盘个数; -l #: 级别 -a yes: 自动为创建的RAID生成设备文件; -c Chunk_Size: md设备的设备文件,一般在/dev目录下,以md开头,后跟一个数字来区别 # cat /proc/mdstat /proc/mdstat: 当前系统上所有已启用的软件RAID设备及其相关信息 例如:创建一个10G空间的RAID0 # mdadm -C /dev/md0 -a yes -n 2 -l 0 /dev/sdb{1,2} 例如:创建大小为10G空间的RAID5: 3*5G,6*2G (n-1)*2G # mdadm -C /dev/md1 -a yes -n 3 -l 5 /dev/sda{3,5} /dev/sdb3
mdadm: 命令行工具,结果md模块实现软件RAID
模式化工具:-C, -F, -A, -a, -r, -f mdadm -D /dev/md# 显示指定的软RAID的详细信息 mdadm /dev/md# -f /dev/some_device 将/dev/md#中的/dev/some_device手动设置为损坏 mdadm /dev/md# -r /dev/some_device 将/dev/md#中的损坏状态的/dev/some_device移除 mdadm /dev/md# -a /dev/new_device 新增设备
停止软件RAID
mdadm -S /dev/md#
重新启用RAID
mdadm -A /dev/md# /dev/DEVICE... mdadm的配置文件/etc/mdadm.conf
RAID:理解RAID各级的特性
watch [-n #] <COMMAND>: 阶段性地执行指定的COMMAND -n #: 指定间隔时间