软件磁盘阵列(software raid)

xiaoxiao2025-11-17  6

一、基本概念 1.磁盘阵列RAID,即容错廉价磁盘阵列,RAID可以通过一些技术将多个较小的磁盘整合成一个较大的磁盘设备,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上 2.RAID0 stripe,不含校验与冗余的条带存储,无备份 多块磁盘组合为RAID 0后,每块磁盘都将会被分割为小区快(chunk),而数据会被分割成块的大小,然后依序交错的存放到不同的磁盘中,当数据要写入RAID,数据会被等量放置在各个磁盘上面。 举例来说,有两块磁盘组成,当有100M的数据要写入时,每个磁盘会被分配到50M 读写性能有提升,冗余能力无,空间利用率100%,至少需要2块磁盘 3.RAID1 mirror,不含校验的镜像存储 ,完整备份 多块磁盘组合为RAID 1后,数据将被同时复制到每块磁盘 读性能有提升,写性能下降,冗余能力有,空间利用率50%,至少需要2块磁盘 举例说明,有一个100M的文件,仅有两块磁盘组成,这两块磁盘将会被同步写入100M的文件,整体RAID的容量几乎少了50% 4.RAID5 数据块级别的分布式校验条带存储 ,性能与数据备份的均衡考虑 多块磁盘组合为RAID 5后,数据将以块为单位同步式分别存储在不同的磁盘上,在数据写入过程中,在每块磁盘还循环加入一个同位检验数据(parity),这个数据会记录其他磁盘的备份数据,用于有磁盘损坏时的救援,不过默认仅能支持一块磁盘的损毁情况 读写性能有提升,冗余能力有,空间利用率(n-1)/n,至少需要3块磁盘

RAID01 条带+镜像存储 让两块硬盘组成RAID 0,然后这两组再整合成为一组RAID 1 读写性能有提升,冗余能力有,空间利用率50%,至少需要4块盘 RAID10 镜像+条带存储 让两块硬盘组成RAID 1,然后这两组再整合成为一组RAID 0 如果有100M的数据要写入,由于raid1,两组raid0都会写入100M,但由于raid0,每块磁盘仅会写入50M,不论哪一组raid0的磁盘损毁,只要另外一组还在,可通过raid1机制回复数据 3.重要的 RAID 概念 校验方式用在 RAID 重建中从校验所保存的信息中重新生成丢失的内容。 RAID 5,RAID 6 基于校验。 条带化是将切片数据随机存储到多个磁盘。它不会在单个磁盘中保存完整的数据。如果我们使用2个磁盘,则每个磁盘存储我们的一半数据。 镜像被用于 RAID 1 和 RAID 10。镜像会自动备份数据。在 RAID 1 中,它会保存相同的内容到其他盘上。 热备份只是我们的服务器上的一个备用驱动器,它可以自动更换发生故障的驱动器。在我们的阵列中,如果任何一个驱动器损坏,热备份驱动器会自动用于重建 RAID。 块是 RAID 控制器每次读写数据时的最小单位,最小 4KB。通过定义块大小,我们可以增加 I/O 性能。 二、常用参数 以RAID5为底层,在此基础上创建逻辑卷,模拟搞坏硬盘后数据有无影响 1)关机,添加3块硬盘大小为5G 2)开启虚拟机,mdadm创建 mdadm -Cv /dev/md0 -a yes -n 3 -l 5 /dev/sdb /dev/sdc /dev/sdd mkfs.ext4 /dev/md0 以ext4格式化/dev/md0 mkdir /raid 创建raid目录 mount /dev/md0 /raid 挂载/dev/md0 到raid mdadm-D /dev/md0 查看/dev/md0 详细信息 echo “/dev/md0 /raid ext4 defaults 0 0” >> /etc/fstab写进自动挂载 mount -a pvcreate /dev/md0 如果出现这个问题,先卸载挂载点umount /raid可成功 pvcreate /dev/md0 创建物理卷成功 vgcreate storage /dev/md0 创建卷组名为storage lvcreate -n vo -L 150M storage 创建150M 的逻辑卷 mkfs.ext4 /dev/storage/vo 格式化 mkdir /lvm创建挂载目录 mount/dev/storage /vo lvm挂载 此时,进入到lvm下创建文件并写入数据 cd /lvm touch ss dd if=/dev/zero of=/lvm/ss bs=100M count=1 mdadm -D /dev/md0 查看详细信息,三块盘已经正常工作 损坏 /dev/sdc 盘 查看时发现/dev/sdc 损坏不能正常使用 查询里面的数据发现还在,未被损坏 移除/dev/sdc盘, 查看已经移除成功 查询里面的数据发现还在,未被损坏 然后添加上/dev/sdc 在图中红色圈出来的部分可以看到添加完成情况 添加成功 总结:以RAID5为基础,创建逻辑卷测试如果损坏一块硬盘时 数据不会变化,而不能损坏超过一块,RAID5 仅支持损坏一块,否则系统可能崩溃。

转载请注明原文地址: https://www.6miu.com/read-5039784.html

最新回复(0)