磁盘冗余阵列之RAID5、RAID10
RAID技术主要有以下三个基本功能:
RAID0、RAID1、RAID5、RAID10的特点
RAID0:需要至少两块(含)硬盘,可以有效的提高硬盘的性能和吞吐量,但没有数据的冗余和错误修复能力。
将多块硬盘通过硬件或软件的方式串联在一起,成为一个大的卷集,将数据依次写入到各个硬盘中,这样性能会极大提升,但若任意一块硬盘故障则整个系统的数据都会受到破坏。
RAID1:需要至少两块(含)硬盘,可以有效的提高数据资料的安全性和可修复性,但成本却提高了。
实现原来是在数据写入硬盘时也会在另外一块闲置的硬盘上生成镜像文件,在不影响性能的情况下最大限度保证数据资料的可靠性,只要在一对镜像盘中还有一块硬盘可以使用,那么数据也不会丢失,具有很好的硬盘冗余能力,虽然对数据来讲绝对的安全,但成本却明显增加,磁盘利用率仅为50%。
RAID5:需要至少三块(含)硬盘,兼顾存储性能、数据安全和储存成本。
如下图所示”parity”块中保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘的数据),以数据的奇偶校验信息来保证数据的安全,RAID5不以单独的硬盘来存放数据的奇偶校验信息,而是保存在各个磁盘上。
这样当任何一个硬盘损坏都可以根据其他硬盘上的奇偶校验信息来尝试重建损坏的数据,性能也很高,兼顾了存储性能、数据安全和存储成本,可以看作是RAID0与RAID1的折中方案。
RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高。
继承了RAID0的快速与RAID1的安全,RAID1在这里提供了冗余备份的阵列,而RAID0则负责数据的读写阵列。
因这种结构的成本高,一般用于存放要求速度与差错控制的数据。
linux虚拟机模拟 独立磁盘冗余阵列RAID5配置5块磁盘、3块做raid,2块做备份)
1.准备mdadm
Linux下需要安装mdadm软件包,mdadm命令用于管理系统软件RAID硬盘阵列。
[root@yyd-hbza ~]# rpm -qa |grep mdadm
mdadm-4.0-5.el7.x86_64
mdadm命令格式为:”mdadm [模式] <RAID设备名称> [选项] [成员设备名称]”。
mdadm管理RAID阵列的动作有:
名称 |
作用 |
Assemble |
将设备加入到以前定义的阵列 |
Build |
创建一个没有超级块的阵列 |
Create |
创建一个新的阵列,每个设备具有超级块。 |
Manage |
管理阵列(如添加和删除)。 |
Misc |
允许单独对阵列中的某个设备进行操作(如停止阵列)。 |
Follow or Monitor |
监控状态。 |
Grow |
改变阵列的容量或设备数目。 |
mdadm管理RAID阵列的参数有:
参数 |
作用 |
-a |
检测设备名称 |
-n |
指定设备数量 |
-l |
指定raid级别 |
-C |
创建 |
-v |
显示过程 |
-f |
模拟设备损坏 |
-r |
移除设备 |
-a |
添加设备 |
-Q |
查看摘要信息 |
-D |
查看详细信息 |
-S |
停止阵列 |
2.在虚拟机中再添加5块硬盘
如上操作,重复五次,出现五块新磁盘。
3、使用mdadm命令创建RAID5,名称为”/dev/md0″。
(1).启动主机,在终端下查看磁盘是否成功添加
输入命令:
#fdisk -l
(2).分区转换
-C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义RAID的级别 -x 使备用磁盘格式 而后面写上要加入阵列的硬盘名称, 这里新的磁盘再/dev/md0 下
输入命令:
mdadm -Cv /dev/md0 -n 3 -l 5 -x 2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
(3).查看RAID组的详细信息:
#mdadm -D /dev/md0
4.格式化并挂载使用
(1).格式化为xfs格式。
输入mkfs,按两次tab键,查询格式,根据需求格式化。
在这里我们格式化成xfs格式,输入命令:
#mkfs.xfs /dev/md0
(2).挂载
首先创建挂载目录:
#mkdir /RAID
进行文件系统的挂载:mount /dev/md0 /RAID
查看磁盘挂载信息:
# df -h
设置 开机自动挂载:#echo "/dev/md0 /RAID xfs defaults 0 0" >> /etc/fstab
查看 /etc/fstab 文件内容写入是否正确 #cat /etc/fstab
5.模拟有1块硬盘损坏的情况
(1).将/dev/sdb移出阵列:
#mdadm /dev/md0 -f /dev/sdb
(2).查看RAID组的详细信息: /dev/sdb磁盘损坏,备份磁盘/dev/sdf自动顶替/dev/sdb作用
#mdadm -D /dev/md0
RAID硬盘依然可以正常的创建或删除文件
(3).重启主机,查看RAID组的详细信息: 发现/dev/sdf代替成为为raid
#mdadm -D /dev/md0
(4).将磁盘添加回阵列/dev/sdb
#mdadm /dev/md0 -a /dev/sdb
(5).查看RAID组的详细信息:
#mdadm -D /dev/md0
结果 /dev/sdf磁盘成为raid,/dev/sdb成为备份磁盘
linux虚拟机模拟 独立磁盘冗余阵列RAID10配置5块磁盘
RAID10配置,除第三步创建RAID进行分区转换的命令有所差别,其余配置步骤相同。
RAID进行分区转换命令:#mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sd[b-f]
磁盘冗余阵列之RAID5、RAID10的更多相关文章
- 磁盘冗余阵列之RAID5的配置
1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢 ...
- RAID 独立磁盘冗余阵列 - redundant array of independent disks
RAID: RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. RAID ...
- RAID(独立磁盘冗余阵列)简介
RAID(独立磁盘冗余阵列) 在大数据技术出现之前,人们就需要面对这些关于存储的问题,对应的解决方案就是RAID技术. RAID(独立磁盘冗余阵列)技术主要是为了改善磁盘的存储容量,读写速度,增强磁盘 ...
- 转 关于Raid0,Raid1,Raid5,Raid10的总结
关于Raid0,Raid1,Raid5,Raid10的总结 RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能 ...
- 使用mdadm创建磁盘RAID10整列,RAID5出现故障,自动替换硬盘
首先需了解mdadm的参数使用 . 第一步: 先在虚拟机中添加四块硬板 第二步:使用mdadm命令创建RAID10名称为"/dev/md0" -C代表创建操作,v 显示创建过程,- ...
- 磁盘冗余阵列之RAID10的配置
1988年由加利福尼亚大学伯克利分校发表的文章首次提到并定义了RAID,当今CPU性能每年可提升30%-50%但硬盘仅提升7%,渐渐的已经成为计算机整体性能的瓶颈,并且为了避免硬盘的突然损坏导致数据丢 ...
- linux系统中RAID5磁盘冗余阵列配置(5块磁盘)
RAID5:需要至少三块(含)硬盘,兼顾存储性能.数据安全和储存成本. 如图所示”parity”块中保存的是其他硬盘数据的奇偶校验信息(并非其他硬盘的数据),以数据的奇偶校验信息来保证数据的安全,RA ...
- linux系统中RAID10磁盘冗余阵列配置
介绍:RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高,RAID10用两个磁盘做RAID0,用其他两个做RAID1当备份. 配置流程: 第一步:在原有基础上为磁盘再填入五块磁盘(至少 ...
- 关于Raid0,Raid1,Raid5,Raid10的总结
RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...
随机推荐
- 华为hcip学习备考心得
大家好我是林中鸟,经过几个月的学习终于顺利拿下了华为的hcip:写这篇文章主要目的是想和大家分享一下我学习备考中的一些经历. 2020年由于疫情影响,社会各行各业都遭受重创,同时也打乱的我的生活规划: ...
- Thinkphp3.2 cms之登陆模块
<?php /** * Created by dreamcms. * User: Administrator * Date: 2016/9/5 * Time: 17:15 */ namespac ...
- leetcode144 longest-palindromic-substring
题目描述 找出给出的字符串S中最长的回文子串.假设S的最大长度为1000,并且只存在唯一解. Given a string S, find the longest palindromic substr ...
- 万字长文,详解推荐系统领域经典模型FM因子分解机
在上一篇文章当中我们剖析了Facebook的著名论文GBDT+LR,虽然这篇paper在业内广受好评,但是毕竟GBDT已经是有些老旧的模型了.今天我们要介绍一个业内使用得更多的模型,它诞生于2010年 ...
- vs2010 中取消检测有潜在危险的 Request.Form 值的方法
1,<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true&q ...
- VC6最基本
高级语言C++程序设计[chap4][p119-1][我的自考书-刘璟周玉龙书] 1.VC6使用: <1>.编译:"Build"-->"Compile& ...
- Shell脚本常用命令整理
该笔记主要整理了一些常见的脚本操作命令,大致如下(持续补充中): 1. while.for循环 1. while.for循环 #!/bin/bash # while循环 v_start_date=${ ...
- ERP的协议管理的操作与设计--开源软件诞生27
赤龙ERP协议与订单进阶讲解--第27篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/re ...
- Servlet与通信协议概述
Servlet 是一个java应用程序,一个Servlet应用有一个或多个Servlet程序,JSP页面会被转换和编译成Servlet程序. Servlet应用无法独立运行,必须运行在Servlet容 ...
- gdb调试core dump使用
什么是coredump? Coredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照.操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存.寄存器状态.运行堆 ...