磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。[1]
分类
内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。
利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。
原理
磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。
Raid的级别
RAID 的级别分为: Raid0、 Raid1、 Raid2、 Raid3、 Raid4、 Raid5、 Raid6、 Raid7、 Raid10
生产环境中常用级别: Raid0、 Raid1、 Raid5、 Raid10
常见的Raid对比
RAID 级别 | 优点 | 缺点 | 应用场景 |
RAID0 | 读写速度最快 | 没有任何冗余 | 对读写要求高、冗余要 求 不 高 的 设 备 , 如 MYSQL Slave |
RAID1 | 100%冗余,镜像 | 读写性能一般,成本高 | 单独的、数据很重要的、 不能宕机的业务 |
RAID5 | 有一定的冗余,但只允许坏一块盘, 读性能好, |
写入性能不高 | 一般业务使用 |
RAID10 | 读写速度很快, 100%冗余 | 成本高 | 性能与冗余要求都很高 的业务,如数据库的主 库和存储的主节点 |