raid(Redundant Array of Independent Disk)独立冗余磁盘阵列
- 注意事项: raid存在于文件系统之下,对文件系统无感知,假如刚建立的raid阵列。就算存储了少量的文件。这个时更换硬盘或者从做某个阵列盘。都会导致整盘重新复制(无论你硬盘是满的还是空的!)
假设磁盘数量为n,单磁盘读写性能为x
raid | 读速度 | 写速度 | 冗余 | 实现原理 |
---|---|---|---|---|
raid0 | n*x | x | 无 | Stripe/条带化/分块分布/多盘存储,以提高吞吐速度,无冗余备份 |
raid1 | (n/2)*x | x | n/2备/2 | Mirror 一个数据分开写两份 |
raid5 | (n-1)*x | x/2(写操作同时需要带有读取和计算操作性能差) | n-1备1 | 分布式奇偶校验,n-1个份的数据,剩下1份是前n-1份的奇偶校验XOR汇总,用于n-1有一份丢失后的恢复计算,商业上用的最多 |
RAID6 |
raid实施
mdadm raid howto
create cmds
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc2 /dev/sda2
mdadm --create /dev/md1 --level=10 --raid-devices=4 /dev/sd[b-e]1
mkfs.ext4 /dev/md0
e2label /dev/md0 raid1t
mount /dev/md0 /mnt/raid1t/
mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
mdadm --assemble --scan
check cmds
cat /proc/mdstat
cat /sys/block/md0/md/sync_action
mdadm --detail --scan --verbose
mdadm --detail /dev/md0 #check array
mdadm --examine /dev/sd[a-e] #check array item(component)
mdadm --examine /dev/sd[a-e]1
modify cmds
mdadm /dev/md0 --add /dev/sdc2
mdadm /dev/md0 --add /dev/sde2
mdadm /dev/md0 --fail /dev/sda2
mdadm /dev/md0 --remove /dev/sda2
mdadm /dev/md0 --add /dev/sda2
mdadm /dev/md0 --add /dev/sdd2
mdadm /dev/md0 --remove /dev/sdd2
mdadm --stop /dev/md0
mdadm --remove /dev/md0
mdadm --zero-superblock /dev/sdf1 /dev/sde1
other
if you not save mdadm to mdadm.conf, or move disk to other new machin mdadm --detail --scan --verbose, will name raid as /dev/md127 (external device start number) better try fix name /dev/md127 to /dev/md0 by: ref about md127
mdadm --assemble --scan
mdadm --detail --scan --verbose
mdadm --detail --scan --verbose >> /etc/mdadm/mdadm.conf
vi /etc/mdadm/mdadm.conf #modify md127 to md0,
update-initramfs -u
reboot
考虑结果
- 数据库不考虑raid5 写性能差,可以考虑(多盘raid1)(mysql考虑异地replicate,一担某地数据丢失,考虑rsync恢复)
- 重要文件长期存储可以考虑raid5,raid6,raid10
- raid在文件系统之下(对文件系统无感知,比如10T的文件系统上只有1G的一个小文件,raid换盘加盘的恢复复制仍然是傻傻的全盘进行)
数据恢复软件
- 商业 https://www.r-studio.com/
- 商业 https://www.adrdata.com/
- 开源 testdisk
- DiskGenius
基于网络的raid:DRBD Distributed Replicated Block Device(DRBD)
是否有跨网raid1?(基于iscsi等)
fs 对比分析
btrfs | ||
zfs | ||
zfs |