服务器存储之Raid技术详解

简介: 服务器存储之Raid技术详解

一、RAID介绍

1.RAID理解

RAID:独立磁盘冗余阵列(Redundant Array of Independent Drives),磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

2.RAID优点

RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

3.RAID分类

①软件 RAID
软件 RAID 的性能较低,因为其使用主机的资源。 需要加载 RAID 软件以从软件 RAID 卷中读取数据。在加载 RAID 软件前,操作系统需要引导起来才能加载 RAID 软件。在软件 RAID 中无需物理硬件。零成本投资。
②硬件 RAID
硬件 RAID 的性能较高,他们采用 PCI Express 卡物理地提供有专用的 RAID 控制器。它不会使用主机资源。他们有 NVRAM 用于缓存的读取和写入。缓存用于 RAID 重建时,即使出现电源故障,它会使用后备的电池电源保持缓存。对于大规模使用是非常昂贵的投资。

二、RAID0

1.RAID0介绍

基于striping方式(data striping是一种切割逻辑上连续数据的技术,例如切割文件,使得连续的片段可以被存储在不同的物理存储设备上。)来组织数据,不具备镜像(mirror,即数据冗余)和校验的功能。

2.RAID0图示

在这里插入图片描述

3.RAID0特点

①高性能。
②RAID 0 中容量零损失。
③零容错。
④写和读有很高的性能。

三、RAID1

1.RAID1介绍

基于镜像(mirroring)的方式,当写入数据的时候,会同时写入每个磁盘设备。

2.RAID1图解

在这里插入图片描述

3.RAID1特点

①良好的性能。
②总容量丢失一半可用空间。
③完全容错。
④重建会更快。
⑤写性能变慢。
⑥读性能变好。
⑦能用于操作系统和小规模的数据库。

四、RAID5

1.RAID5介绍

RAID5(分布式奇偶校验的独立磁盘结构),RAID 5 多用于企业级, RAID 5 的以分布式奇偶校验的方式工作。奇偶校验信息将被用于重建数据。它从剩下的正常驱动器上的信息来重建。在驱动器发生故障时,这可以保护我们的数据。

2.RAID5图示

在这里插入图片描述

3.RAID5特点

优点:
①性能卓越
②读速度将非常好。
③写速度处于平均水准,如果我们不使用硬件 RAID 控制器,写速度缓慢。
④从所有驱动器的奇偶校验信息中重建。
⑤完全容错。
⑥1个磁盘空间将用于奇偶校验。
⑦可以被用在文件服务器,Web服务器,非常重要的备份中。
缺点:

①无镜像能力,虽然存在数据恢复能力,但是数据盘损坏后,基于校验码恢复数据会有额外的计算开销。
②单校验问题,此前的所有具备校验能力的RAID亦均有此问题。

五、RAID6

1.RAID6介绍

类似于RAID 5,RAID 6基于块(block)级别切割数据至多个磁盘,具备分布式校验码。只不过是使用了双校验码(double-parity)机制。双校验支持损坏至多2块磁盘。这使得更大的RAID阵列更加实用,尤其对于高可用系统,因为大容量的阵列需要更长的时间重建。至少需要4块磁盘。和RAID 5一样,单块磁盘故障会降低整体阵列性能,直到故障盘被替换。如果磁盘的容量和阵列的容量越大的话,那么越应该考虑使用RAID 6来替代RAID 5。RAID 10同样也最小化了这些问题。

2.RAID6图示

在这里插入图片描述

3.RAIDD6特点

①性能不佳。
②读的性能很好。
③如果我们不使用硬件 RAID 控制器写的性能会很差。
④从两个奇偶校验驱动器上重建。
⑤完全容错。
⑥2个磁盘空间将用于奇偶校验。
⑦可用于大型阵列。
⑧用于备份和视频流中,用于大规模。

六、RAID10

1.RAID10介绍

也叫作RAID 0+1或者RAID 0&1,先将磁盘制作成RAID 0,再将每个RAID 0组合成RAID 1。

2.RAID10图示

在这里插入图片描述
在这里插入图片描述

3.RAID10特点

①良好的读写性能。
②总容量丢失一半的可用空间。
③容错。
④从副本数据中快速重建。
⑤由于其高性能和高可用性,常被用于数据库的存储中。

七、LINUX下的RAID命令

1.检查安装mdadm工具

[root@control ~]# mdadm --help
mdadm is used for building, managing, and monitoring
Linux md devices (aka RAID arrays)
Usage: mdadm --create device options...
            Create a new array from unused devices.
       mdadm --assemble device options...
            Assemble a previously created array.
       mdadm --build device options...
            Create or assemble an array without metadata.
       mdadm --manage device options...
            make changes to an existing array.
       mdadm --misc options... devices
            report on or modify various md related devices.
       mdadm --grow options device
            resize/reshape an active array
       mdadm --incremental device
            add/remove a device to/from an array as appropriate
       mdadm --monitor options...
            Monitor one or more array for significant changes.
       mdadm device options...
            Shorthand for --manage.
Any parameter that does not start with '-' is treated as a device name
or, for --examine-bitmap, a file name.
The first such name is often the name of an md device.  Subsequent
names are often names of component devices.

 For detailed help on the above major modes use --help after the mode
 e.g.
         mdadm --assemble --help
 For general help on options use
         mdadm --help-options

2.检查系统RAID安装情况

[root@control ~]#  fdisk -l | grep -i "raid"
[root@control ~]# cat /proc/partitions 
major minor  #blocks  name

 259        0   20971520 nvme0n1
 259        1     512000 nvme0n1p1
 259        2    5242880 nvme0n1p2
 259        3    2097152 nvme0n1p3
 259        4          1 nvme0n1p4
 259        5   13117440 nvme0n1p5
  11        0    6936576 sr0
   8        0   20971520 sda
   8       16   20971520 sdb
[root@control ~]# lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk 
sdb           8:16   0   20G  0 disk 
sr0          11:0    1  6.6G  0 rom  /mnt/cdrom
nvme0n1     259:0    0   20G  0 disk 
├─nvme0n1p1 259:1    0  500M  0 part /boot
├─nvme0n1p2 259:2    0    5G  0 part /home
├─nvme0n1p3 259:3    0    2G  0 part [SWAP]
├─nvme0n1p4 259:4    0    1K  0 part 
└─nvme0n1p5 259:5    0 12.5G  0 part /

3.Mdadm工具使用语法

[root@control ~]# mdadm --manage --help
Usage: mdadm arraydevice options component devices...

This usage is for managing the component devices within an array.
The --manage option is not needed and is assumed if the first argument
is a device name or a management option.
The first device listed will be taken to be an md array device, any
subsequent devices are (potential) components of that array.

Options that are valid with management mode are:
  --add         -a   : hotadd subsequent devices to the array
  --re-add           : subsequent devices are re-added if there were
                     : recent members of the array
  --remove      -r   : remove subsequent devices, which must not be active
  --fail        -f   : mark subsequent devices a faulty
  --set-faulty       : same as --fail
  --replace          : mark device(s) to be replaced by spares.  Once
                     : replacement completes, device will be marked faulty
  --with             : Indicate which spare a previous '--replace' should
                     : prefer to use
  --run         -R   : start a partially built array
  --stop        -S   : deactivate array, releasing all resources
  --readonly    -o   : mark array as readonly
  --readwrite   -w   : mark array as readwrite
[root@control ~]#
相关文章
|
9天前
|
存储 数据挖掘 Windows
服务器数据恢复—V7000存储raid5故障导致LUN无法访问的数据恢复案例
服务器数据恢复环境: 三台V7000存储,共有64块SAS硬盘(其中有三块热备盘,其中一块已启用)组建了数组raid5阵列。分配若干LUN,上层安装Windows server操作系统,数据分区格式化为NTFS文件系统。 服务器故障: V7000存储中有多块硬盘出现故障离线,阵列失效,LUN无法访问。需要恢复卷中所有数据(主要为dcm文件)。
|
17天前
|
Java 关系型数据库 API
探索后端技术:构建高效、可靠的服务器端应用
在当今数字化时代,后端技术是任何成功应用程序的基石。它涉及服务器、数据库和应用程序之间的交互,处理数据存储、业务逻辑和系统性能等关键任务。本文将深入探讨后端开发的核心概念、常见技术栈及其实际应用,帮助读者更好地理解和掌握构建高效、可靠后端系统的技巧与策略。
|
10天前
|
监控 中间件 Java
后端技术:构建高效、稳定的服务器端应用
【10月更文挑战第5天】后端技术:构建高效、稳定的服务器端应用
39 0
|
13天前
|
监控 关系型数据库 Serverless
探索后端技术:构建高效、可靠的服务器端应用
本文将深入探讨后端开发的核心概念和关键技术,从服务器架构到数据库管理,再到安全防护,为读者提供全面的后端技术指南。无论是初学者还是经验丰富的开发者,都能从中汲取灵感,提升自己的技术水平。
|
13天前
|
存储
服务器数据恢复—EMC存储RAID5阵列崩溃的数据恢复案例
服务器数据恢复环境: 一台EMC某型号存储设备,该存储中有一组由12块(包括2块热备盘)STAT硬盘组建的raid5阵列。 服务器故障: 该存储在运行过程中突然崩溃,raid瘫痪。数据恢复工程师到达现场对故障存储设备进行初检,发现raid中有两块硬盘掉线但只有一块热备盘成功激活,所以导致阵列瘫痪,上层lun无法使用。
|
4天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
58 32
|
3天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
12天前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
32 2
|
25天前
|
存储 关系型数据库 API
深入理解后端技术:构建高效、可扩展的服务器端应用
本文将探讨后端开发的核心概念和技术,包括服务器端编程、数据库管理、API设计和安全性等方面。通过深入浅出的方式,让读者了解如何构建高效、可扩展的后端系统。我们将从基本的后端框架开始,逐步深入到高级主题,如微服务架构和容器化部署。无论您是初学者还是有经验的开发人员,都能在本文中找到有价值的信息和实用的建议。
|
26天前
|
存储 数据挖掘 数据库
服务器数据恢复—raid磁盘故障导致数据库数据损坏的数据恢复案例
存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别,但是拷贝文件报错。管理员重启服务器,导致离线的硬盘上线开始同步数据,同步还没有完成就直接强制关机了,之后就没有动过服务器。