iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >如何在Linux上构建RAID10阵列
  • 411
分享到

如何在Linux上构建RAID10阵列

2023-06-28 16:06:27 411人浏览 安东尼
摘要

这篇文章的内容主要围绕如何在linux上构建RaiD10阵列进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!RAID 10是一个冗余的备份阵列,由个R

这篇文章的内容主要围绕如何在linux上构建RaiD10阵列进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

RAID 10是一个冗余的备份阵列,由个Raid 1与Raid0的组合而成,继承了Raid0的快速和Raid1的安全,实现高性能和高容错性的磁盘I/O。

注意RAID 10的优缺点和其它分区方法(在不同大小的磁盘和文件系统上)的内容不在下面讨论的范围内。

Raid 10 阵列如何工作?

如果你需要实现一种支持I/O密集操作(比如数据库、电子邮件或WEB服务器)的存储解决方案,RAID 10就是你需要的。来看看为什么这么说,请看下图。

如何在Linux上构建RAID10阵列

上图中的文件由A、B、C、D、E和F六种块组成,每一个RAID 1镜像对(如镜像1和2)在两个磁盘上复制相同的块。在这样的配置下,写操作性能会因为每个块需要写入两次而下降,每个磁盘各一次;而读操作与从单块磁盘中读取相比并未发生改变。不过这种配置的好处是除非一个镜像中有超过一块的磁盘故障,否则都能保持冗余以维持正常的磁盘I/O操作。

RAID 0的分区通过将数据划分到不同的块,然后执行同时将块A写入镜像1、将块B写入镜像2(以此类推)的并行操作以提高整体的读写性能。在另一方面,没有任何一个镜像包含构成主存的数据片的全部信息。这就意味着如果其中一个镜像故障,那么整个RAID 0组件将无法正常工作,数据将遭受不可恢复的损失。

建立RAID 10阵列

有两种建立RAID 10阵列的可行方案:复杂法(一步完成)和嵌套法(先创建两个或更多的RAID 1阵列,然后使用它们组成RAID 0)。本文会讲述复杂法创建RAID 10阵列的过程,因为这种方法能够使用偶数或奇数个磁盘去创建阵列,而且能以单个RAID设备的形式被管理,而嵌套法则恰恰相反(只允许偶数个磁盘,必须以嵌套设备的形式被管理,即分开管理RAID 1和RAID 0)。

假设你的机器已经安装mdadm,并运行着相应的守护进程,细节参见这篇文章。也假设每个磁盘上已经划分出一个主分区sd[bcdef]1 (LCTT 译注:共计五块磁盘,这里是从sdb – sdf)。使用命令:

ls -l /dev | grep sd[bcdef]

查看到的输出应该如下所示:

如何在Linux上构建RAID10阵列

然后使用下面的命令创建一个RAID 10阵列(LCTT 译注:使用了四块磁盘 bcde 创建):

 # mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[bcde]1 --spare-devices=1 /dev/sdf1

如何在Linux上构建RAID10阵列

当阵列创建完毕后(最多花费几分钟),执行命令

# mdadm --detail /dev/md0

的输出应如下所示:

如何在Linux上构建RAID10阵列

在更进一步之前需要注意以下事项。

  1. Used Dev Space表示阵列所使用的每一块磁盘的容量。

  2. Array Size表示阵列的整体大小。RAID 10阵列的大小通过(N*C)/M计算,其中N是活跃磁盘的数目,C是每个活跃磁盘的容量,M是每一个镜像中磁盘的数目。在本文的情形下,这个值等于(4*8GiB)/2 = 16GiB。

  3. Layout是整个数据布局的详细信息。可能的布局数值如下所示。


  • n(默认选项):代表就近(near)拷贝。一个数据块的多个拷贝在不同磁盘里有相同的偏移量。这种布局提供和RAID 0阵列相似的读写性能。

如何在Linux上构建RAID10阵列

  • o代表偏移量(offset)拷贝。块并不是在条带里面复制的,而是整个条带一起复制,但是循环会打乱,所以同一个分区中复制的块会出现在不同的磁盘。因此,一个块的后续拷贝会出现在下一个磁盘中,一个块接着一个块。为了在RAID 10阵列中使用这种布局,在创建阵列的命令中添加–layout=o2选项。

如何在Linux上构建RAID10阵列

  • f代表远端(far)拷贝(多个拷贝在不同的磁盘中具有不同的偏移量)。这种布局提供更好的读性能但带来更差的写性能。因此,对于读远远多于写的系统来说是最好的选择。为了在RAID 10阵列中使用这种布局,在创建阵列的命令中添加–layout=f2。

如何在Linux上构建RAID10阵列

跟在布局选项n、f和o后面的数字代表所需的每一个数据块的副本数目。默认值是2,但可以是2到阵列中磁盘数目之间的某个值。提供足够的副本数目可以最小化单个磁盘上的I/O影响。

  1. Chunk Size,参考Linux RAID wiki的说明,是写入磁盘的最小数据单元。最佳的chunk大小取决于I/O操作的速率和相关的文件大小。对于大量的写操作,通过设置相对较大的chunk可以得到更低的开销,但对于主要存储小文件的阵列来说更小的chunk性能更好。为了给RAID 10指定一个chunk大小,在创建阵列的命令中添加–chunk=desiredchunksize。

不幸的是,并没有设置一个大小就能适合全局的策略来提高性能,但可以参考下面的一些方案。

  • 文件系统:就整体而言,XFS据说是最好的,当然EXT4也是不错的选择。

  • 最佳布局:远端布局能提高读性能,但会降低写性能。

  • 副本数目:更多的副本能最小化I/O影响,但更多的磁盘需要更大的花费。

  • 硬件:在相同的环境下,SSD比传统(机械旋转)磁盘更能带来出性能提升

使用DD进行RAID性能测试

下面的基准测试用于检测RAID 10阵列(/dev/md0)的性能。

1. 写操作

往磁盘中写入大小为256MB的单个文件:

# dd if=/dev/zero of=/dev/md0 bs=256M count=1 oflag=dsync

写入1000次512字节:

# dd if=/dev/zero of=/dev/md0 bs=512 count=1000 oflag=dsync

使用dsync标记,dd可以绕过文件系统缓存,在RAID阵列上执行同步写。这个选项用于减少RAID性能测试中缓存的影响。

2. 读操作

从阵列中拷贝256KiB*15000(3.9 GB)大小内容到/dev/null:

 # dd if=/dev/md0 of=/dev/null bs=256K count=15000

使用iozone进行RAID性能测试

Iozone是一款文件系统基准测试工具,用来测试各种磁盘I/O操作,包括随机读写、顺序读写和重读重写。它支持将结果导出为微软的excel或LibreOffice的Calc文件。

Centos/RHEL 7上安装Iozone

先保证Repoforge可用,然后输入:

# yum install iozone
在Debian 7上安装Iozone
# aptitude install iozone3

下面的iozone命令会在RAID-10阵列中执行所有测试:

# iozone -Ra /dev/md0 -b /tmp/md0.xls
  • -R:往标准输出生成兼容Excel的报告

  • -a:以全自动模式运行所有的测试,并测试各种记录/文件大小。记录大小范围:4K-16M,文件大小范围:64K-512M。

  • -b /tmp/md0.xls: 把测试结果存储到一个指定的文件中

感谢你的阅读,相信你对“如何在Linux上构建RAID10阵列”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

--结束END--

本文标题: 如何在Linux上构建RAID10阵列

本文链接: https://www.lsjlt.com/news/320449.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Linux上构建RAID10阵列
    这篇文章的内容主要围绕如何在Linux上构建RAID10阵列进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!RAID 10是一个冗余的备份阵列,由个R...
    99+
    2023-06-28
  • 如何在CentOS上创建Software RAID10
    本篇内容主要讲解“如何在CentOS上创建Software RAID10”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在CentOS上创建Software RAID10”吧!昨天重装一台老服...
    99+
    2023-06-10
  • 怎么在RAID软磁盘阵列上搭建linux系统
    这篇文章主要介绍“怎么在RAID软磁盘阵列上搭建linux系统”,在日常操作中,相信很多人在怎么在RAID软磁盘阵列上搭建linux系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在RAID软磁盘阵列上...
    99+
    2023-06-13
  • Linux下如何搭建RAID1磁盘阵列
    这篇文章主要为大家展示了“Linux下如何搭建RAID1磁盘阵列”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何搭建RAID1磁盘阵列”这篇文章吧。raid1是指一份数据存在多块硬...
    99+
    2023-06-27
  • 在RAID磁盘阵列下怎样搭建Linux系统
    这篇文章将为大家详细讲解有关在RAID磁盘阵列下怎样搭建Linux系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  因为RAID磁盘阵列的存储速度比单个硬盘高,在安装系统的时候一般会选择...
    99+
    2023-06-13
  • Linux KVM上如何创建ooRexx构建环境
    这篇文章给大家分享的是有关Linux KVM上如何创建ooRexx构建环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用ooRexx开发随需应变的软件构建服务,ooRexx使用Linux内核虚拟机(KVM)提...
    99+
    2023-06-17
  • 如何在 Linux 上使用 ASP 构建 Web 应用程序?
    在 Linux 上使用 ASP 构建 Web 应用程序是一项非常实用的技能,它能够帮助开发者快速构建高效的 Web 应用程序。下面我们将详细介绍如何在 Linux 上使用 ASP 构建 Web 应用程序。 一、准备工作 在开始之前,我们需要...
    99+
    2023-06-21
    npm javascript linux
  • Linux系统中构建RAID 10阵列的具体步骤是什么
    今天给大家介绍一下Linux系统中构建RAID 10阵列的具体步骤是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。RAID 10阵列简介:Raid 10是...
    99+
    2023-06-28
  • PHP和NPM:如何在Linux上使用Laravel构建Web应用?
    Laravel是一个基于PHP的Web开发框架,它提供了许多有用的工具和库,可以帮助开发者快速构建高质量的Web应用程序。在本文中,我们将介绍如何在Linux上使用Laravel构建Web应用程序,并演示一些基本的代码示例。 步骤1:安装...
    99+
    2023-10-13
    linux npm laravel
  • linux如何使用软件磁盘阵列RAID
    这篇文章主要为大家展示了“linux如何使用软件磁盘阵列RAID”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux如何使用软件磁盘阵列RAID”这篇文章吧。磁盘阵列的英文全称是Redund...
    99+
    2023-06-13
  • 如何在Linux系统上搭建GitLab
    GitLab是一个基于Git版本控制系统的Web应用程序,旨在管理代码库、代码审核、发布与协作等,是一个非常适合团队协作的开源项目管理平台。本文将介绍如何在Linux系统上搭建GitLab,以及如何进行中文化,并使用邮件通知的功能。环境准备...
    99+
    2023-10-22
  • 如何在Linux上搭建Solr服务
    这篇文章给大家分享的是有关如何在Linux上搭建Solr服务的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、系统环境CentOS-6.7-i386-bin-DVD1jdk-8u151-linux-i586apa...
    99+
    2023-06-09
  • 如何在Linux上使用Git和PHP来构建Laravel应用程序?
    Laravel是一个流行的PHP框架,它提供了许多功能和工具来帮助开发人员快速构建Web应用程序。如果您是一位Linux用户,那么使用Git和PHP来构建Laravel应用程序将是一个非常好的选择。本文将介绍如何在Linux上使用Git和...
    99+
    2023-11-05
    linux git laravel
  • 如何在Linux系统上搭建网站
    如何在Linux系统上搭建网站,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.在Linux系统上配置网站环境运行 wget -c http://soft.vpser.net/...
    99+
    2023-06-28
  • 如何使用Python在Linux上构建数据驱动的应用程序?
    数据驱动的应用程序,是指依赖于数据来完成业务逻辑的应用程序。Python是一种非常适合用于构建数据驱动的应用程序的语言。而Linux是一个非常适合用于运行Python应用程序的操作系统。在本文中,我们将介绍如何使用Python在Linux...
    99+
    2023-08-25
    npm 数据类型 linux
  • 如何通过 PHP 和 Spring 在 Linux 上构建可靠的应用程序?
    在当今数字化时代,应用程序的可靠性已经成为了企业竞争的一个重要因素。如何利用现有的技术来构建可靠的应用程序,成为了每一个开发者的重要问题。本文将介绍如何通过 PHP 和 Spring 在 Linux 上构建可靠的应用程序。 一、PHP P...
    99+
    2023-10-25
    spring linux 教程
  • PHP、NumPy 和容器:如何在 Linux 系统上构建高效的应用?
    在当今数字化的时代,软件应用程序的需求不断增长,对高效的开发、测试和部署方法的需求也越来越高。为了在 Linux 系统上构建高效的应用程序,我们可以使用 PHP、NumPy 和容器技术。 PHP 是一种流行的服务器端编程语言,可以用于构建...
    99+
    2023-10-25
    numy 容器 linux
  • Linux下如何构建chroot
    小编给大家分享一下Linux下如何构建chroot,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!chroot是在unix系统的一个操作,针对正在运作的软件进程和它的子进程,改变它外显的根目录。一个运行在这个环境下,经由ch...
    99+
    2023-06-27
  • 如何在Linux上使用ASP和Django构建高效的Web应用程序?
    在今天的互联网世界中,Web应用程序已经成为了人们生活和工作中必不可少的一部分。而Linux作为一种稳定、高效和安全的操作系统,已经成为了Web应用程序的首选平台之一。本文将介绍如何在Linux上使用ASP和Django构建高效的Web应用...
    99+
    2023-09-20
    django linux 文件
  • 如何在Alma Linux上搭建Web服务器
    在Alma Linux上搭建Web服务器可以使用Apache或Nginx作为Web服务器软件。以下是在Alma Linux上搭建We...
    99+
    2024-04-19
    Alma Linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作