热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RAID磁盘阵列及RAID配置!

RAID磁盘阵列及RAID配置一.RAID磁盘阵列RAID0RAID1RAID5RAID6RAID10RAID各级别对比二.阵列卡及硬RAID软RAID介绍1.阵列卡概念2.硬RA

RAID磁盘阵列及RAID配置

  • 一.RAID磁盘阵列
    • RAID0
    • RAID1
    • RAID5
    • RAID6
    • RAID1+0
    • RAID各级别对比
  • 二.阵列卡及硬RAID软RAID介绍
    • 1.阵列卡概念
    • 2.硬RAID和软RAID的区别
      • 硬RAID
      • 软RAID
  • 三.创建管理RAID的工具mdadm
    • 1.配置raid0
    • 2.配置RAID1
    • 3.配置RAID5
    • 4.配置RAID1+0
    • 5.配置相关补充


一.RAID磁盘阵列

是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列

把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)常用的RAID级别
RAIDO,RAID1,RAID5,RAID6,RAID1+0,RAID0+1,RAID5+0等

RAID0

RAID0是条带卷

RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余功能。RAID0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。RAID0不能应用于数据安全性要求高的场合

RAID1

RAID1是镜像卷

RAID1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。

RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

RAID5

RAID5是由N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高

磁盘利用率为(N-1)/N

RAID5可靠性高,允许坏1块盘,不影响所有数据.

RAID6

RAID6由N(N>=4)块盘组成阵列,与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用。
相对于RAID 5有更大的“写损。磁盘利用率为(N-2)/N。

RAID1+0

RAID1+0由N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0产生。N/2块盘同时写入,N块盘同时读取,性能高,可靠性高。

RAID各级别对比

在这里插入图片描述
总结:
RAID0:又称条带卷;是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略

RAID1:又称为镜像卷;它将数据完全一致地分别写到工作磁盘和镜像磁盘上

RAID5:应该是目前最常见的 RAID 等级

RAID6:引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失;RAID5的扩展版

RAID10:是先做镜像再作条带化,是对虚拟磁盘实现镜像;缺点是成本高

二.阵列卡及硬RAID软RAID介绍

1.阵列卡概念

是用来实现RAID功能的板卡,分为硬RAID和软RAID。

现在RAID卡基本上支持各种RAID等级,常用的接口类型 SCSI SATA SAS 接口,IDE接口已经没有了。

2.硬RAID和软RAID的区别


硬RAID

在硬件层面上通过阵列卡实现RAID功能
实现步骤如下:
在服务器上面插入磁盘阵列卡
阵列卡上面插入磁盘
开机–配置RAID–安装系统
RAID卡有自己的处理器CPU

软RAID

在系统层面上,通过mdadm管理工具进行管理,实现RAID功能

三.创建管理RAID的工具mdadm

1.配置raid0

创建
mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg

[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 193b25aa-faee-4342-a79b-4eb3e023d813 /boot
├─sda2 swap 7f11b069-c75e-453e-a192-62c8dc883769 [SWAP]
└─sda3 xfs 0ce0ca4e-ddf3-474f-8a4e-a7ee517b5b81 /
sdb LVM2_member p0Hn5B-cvWg-vAR6-zWyu-5QBT-zr9T-S7KB8g
sdc
└─sdc1 ext4 a653da2c-f7d8-405f-a169-313c339f9d90
sdd
├─sdd1 xfs be9f4ade-f3a9-41c1-8acd-83ce58271edd /root/tom
├─sdd2 swap ed114f9a-cd02-4c4d-a67e-489b9218bd60
├─sdd4
└─sdd5
sde LVM2_member dsWetp-tjZV-WFo7-KSSS-d1PX-F2a4-kR11EG
sdf
sdg
sdh
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 /run/media/root/CentOS 7 x86_64[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查询详细信息
mdadm -D /dev/md0

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun May 16 22:26:30 2021Raid Level : raid0Array Size : 41908224 (39.97 GiB 42.91 GB)Raid Devices : 2Total Devices : 2Persistence : Superblock is persistentUpdate Time : Sun May 16 22:26:30 2021State : clean Active Devices : 2Working Devices : 2Failed Devices : 0Spare Devices : 0Chunk Size : 512KConsistency Policy : noneName : localhost.localdomain:0 (local to host localhost.localdomain)UUID : 938337dd:c19a4e56:e46b89f2:377462ecEvents : 0Number Major Minor RaidDevice State0 8 80 0 active sync /dev/sdf1 8 96 1 active sync /dev/sdg[root@localhost ~]# mdadm -Dsv /dev/md0
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ecdevices=/dev/sdf,/dev/sdg

将mdadm -Dsv /dev/md0的信息写入配置文件/etc.mdadm.cof

mdadm -Dsv /dev/md0 >/etc/mdsdm.conf
如果有多个raid信息要用》》追加


[root@localhost ~]# mdadm -Dsv /dev/md0 >/etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadmm.conf[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ecdevices=/dev/sdf,/dev/sdg

查询当前raid的实时状态
cat /proc/mdstat

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdg[1] sdf[0]41908224 blocks super 1.2 512k chunksunused devices: <none>

格式化挂载

[root&#64;localhost ~]# mkfs.xfs /dev/md0
meta-data&#61;/dev/md0 isize&#61;512 agcount&#61;16, agsize&#61;654720 blks&#61; sectsz&#61;512 attr&#61;2, projid32bit&#61;1&#61; crc&#61;1 finobt&#61;0, sparse&#61;0
data &#61; bsize&#61;4096 blocks&#61;10475520, imaxpct&#61;25&#61; sunit&#61;128 swidth&#61;256 blks
naming &#61;version 2 bsize&#61;4096 ascii-ci&#61;0 ftype&#61;1
log &#61;internal log bsize&#61;4096 blocks&#61;5120, version&#61;2&#61; sectsz&#61;512 sunit&#61;8 blks, lazy-count&#61;1
realtime &#61;none extsz&#61;4096 blocks&#61;0, rtextents&#61;0[root&#64;localhost ~]# mkdir /raid0[root&#64;localhost ~]# mount /dev/md0 /raid0[root&#64;localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 297G 5.4G 292G 2% /
devtmpfs devtmpfs 895M 0 895M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sdd1 xfs 2.0G 33M 2.0G 2% /root/tom
/dev/sda1 xfs 197M 152M 45M 78% /boot
tmpfs tmpfs 182M 4.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 28K 182M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/md0 xfs 40G 33M 40G 1% /raid0

2.配置RAID1

主要配置命令步骤

&#xff08;1&#xff09;创建md1
mdadm -C -v /dev/md1 -l1 -n2 /dev/sdc /dev/sdd

&#xff08;2&#xff09;查询信息
mdadm -D /dev/md1

&#xff08;3&#xff09;写入RAID配置文件&#xff1a;mdadm -Dvs /etc/md1>> /etc/mdadm.conf

&#xff08;4&#xff09;格式化
mkfs.xfs /dev/md1

&#xff08;5&#xff09;挂载
mkdir /raid1
mount /dev/md1 /raid1

3.配置RAID5

主要配置命令步骤

&#xff08;1&#xff09;创建md5
mdadm -C -v /dev/md5 -l1 -n3 -x1 /dev/sd[b,c,d,e]

&#xff08;2&#xff09;查询信息
mdadm -D /dev/md5

&#xff08;3&#xff09;写入RAID配置文件
mdadm -Dvs /etc/md5 > >/etc/mdadm.conf

&#xff08;4&#xff09;格式化
mkfs.xfs /dev/md5

&#xff08;5&#xff09;挂载
mkdir /raid5
mount /dev/md1 /raid5

4.配置RAID1&#43;0

主要配置步骤与命令
&#xff08;1&#xff09;添加4块新的硬盘重启
sdb,sdc,sdd,sde

&#xff08;2&#xff09;创建raid10
mdadm -C -v /dev/md10 -l10 -n4 /dev/sd[b,c,d,e]

&#xff08;3&#xff09;写入配置文件
mdadm -Dvs /etc/md10 > >/etc/mdadm.conf

&#xff08;4&#xff09;格式化

mks.xfs /dev/md10

&#xff08;5&#xff09;挂载
mkdir /raid10
mount /dev/md10 /raid10

5.配置相关补充

停止raid阵列
mdadm -S /dev/md5

将坏的硬盘进行移除,然后增加一块磁盘
mdadm -r /dev/md1 /dev/sde
mdadm -a /dev/md1 /dev/sdf

实时监控raid5状态0.5秒刷新
watch -n 0.5 ‘mdadm -D /dev/md5 | tail’

有热备份的情况下热备份变为正式盘
mdadm -G /dev/md5 -n4

恢复的时候去配置文件中扫描
mdadm -As//s

彻底删除RAID
rm -rf /etc/mdamd.conf&#xff1a;删除配置文件
再清除superblock
mdadm --zero-surpeblock /dev/sdb:擦除设备中MD超级块


推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
author-avatar
vicanat_215
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有