http://www.linuxidc.com/Linux/2015-10/124391.htm    制作raid10

http://www.linuxidc.com/Linux/2015-09/122602.htm    维护raid

----------------------------------

RAID 10 是组合 RAID 1 和 RAID 0 形成的。要设置 RAID 10,我们至少需要4个磁盘。在之前的文章中,我们已经看到了如何使用最少两个磁盘设置 RAID 1 和 RAID 0。

在这里,我们将使用最少4个磁盘组合 RAID 1 和 RAID 0 来设置 RAID 10。假设我们已经在用 RAID 10 创建的逻辑卷保存了一些数据。比如我们要保存数据 “TECMINT”,它将使用以下方法将其保存在4个磁盘中。

在 Linux 中创建 Raid 10(LCTT 译注:原图有误,已修正)

RAID 10 是先做镜像,再做条带。因此,在 RAID 1 中,相同的数据将被写入到两个磁盘中,“T”将同时被写入到第一和第二个磁盘中。接着的数据被条带化到另外两个磁盘,“E”将被同时写入到第三和第四个磁盘中。它将继续循环此过程,“C”将同时被写入到第一和第二个磁盘,以此类推。

(LCTT 译注:原文中此处描述混淆有误,已经根据实际情况进行修改。)

现在你已经了解 RAID 10 怎样组合 RAID 1 和 RAID 0 来工作的了。如果我们有4个20 GB 的磁盘,总共为 80 GB,但我们将只能得到40 GB 的容量,另一半的容量在构建 RAID 10 中丢失。

RAID 10 的优点和缺点

  • 提供更好的性能。
  • 在 RAID 10 中我们将失去一半的磁盘容量。
  • 读与写的性能都很好,因为它会同时进行写入和读取。
  • 它能解决数据库的高 I/O 磁盘写操作。

要求

在 RAID 10 中,我们至少需要4个磁盘,前2个磁盘为 RAID 1,其他2个磁盘为 RAID 0,就像我之前说的,RAID 10 仅仅是组合了 RAID 0和1。如果我们需要扩展 RAID 组,最少需要添加4个磁盘。

我的服务器设置

  1. 操作系统:CentOS6.5Final
  2. IP 地址:192.168.0.229
  3. 主机名: rd10.tecmintlocal.com
  4. 磁盘1[20GB]:/dev/sdd
  5. 磁盘2[20GB]:/dev/sdc
  6. 磁盘3[20GB]:/dev/sdd
  7. 磁盘4[20GB]:/dev/sde

有两种方法来设置 RAID 10,在这里两种方法我都会演示,但我更喜欢第一种方法,使用它来设置 RAID 10 更简单。

方法1:设置 RAID 10

1、 首先,使用以下命令确认所添加的4块磁盘没有被使用。

  1. #ls-l /dev |grep sd

2、 四个磁盘被检测后,然后来检查磁盘是否存在 RAID 分区。

  1. #mdadm-E /dev/sd[b-e]
  2. #mdadm--examine /dev/sdb /dev/sdc /dev/sdd /dev/sde #或

验证添加的4块磁盘

注意: 在上面的输出中,如果没有检测到 super-block 意味着在4块磁盘中没有定义过 RAID。

第1步:为 RAID 分区

3、 现在,使用fdisk,命令为4个磁盘(/dev/sdb, /dev/sdc, /dev/sdd 和 /dev/sde)创建新分区。

  1. #fdisk/dev/sdb
  2. #fdisk/dev/sdc
  3. #fdisk/dev/sdd
  4. #fdisk/dev/sde
为 /dev/sdb 创建分区

我来告诉你如何使用 fdisk 为磁盘(/dev/sdb)进行分区,此步也适用于其他磁盘。

  1. #fdisk/dev/sdb

请使用以下步骤为 /dev/sdb 创建一个新的分区。

  • 按 n 创建新的分区。
  • 然后按 P 选择主分区。
  • 接下来选择分区号为1。
  • 只需按两次回车键选择默认值即可。
  • 然后,按 P 来打印创建好的分区。
  • 按 L,列出所有可用的类型。
  • 按 t 去修改分区。
  • 键入 fd 设置为 Linux 的 RAID 类型,然后按 Enter 确认。
  • 然后再次使用p查看我们所做的更改。
  • 使用w保存更改。

为磁盘 sdb 分区

注意: 请使用上面相同的指令对其他磁盘(sdc, sdd sdd sde)进行分区。

4、 创建好4个分区后,需要使用下面的命令来检查磁盘是否存在 raid。

  1. #mdadm-E /dev/sd[b-e]
  2. #mdadm--examine /dev/sdb /dev/sdc /dev/sdd /dev/sde #或
  3. #mdadm-E /dev/sd[b-e]1
  4. #mdadm--examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 #或

检查磁盘

注意: 以上输出显示,新创建的四个分区中没有检测到 super-block,这意味着我们可以继续在这些磁盘上创建 RAID 10。

第2步: 创建 RAID 设备 md

5、 现在该创建一个md(即 /dev/md0)设备了,使用“mdadm” raid 管理工具。在创建设备之前,必须确保系统已经安装了mdadm工具,如果没有请使用下面的命令来安装。

  1. #yum install mdadm[在RedHat系统]
  2. #apt-get install mdadm[在Debain系统]

mdadm工具安装完成后,可以使用下面的命令创建一个md raid 设备。

  1. #mdadm--create /dev/md0 --level=10--raid-devices=4/dev/sd[b-e]1

6、 接下来使用cat命令验证新创建的 raid 设备。

  1. #cat/proc/mdstat

创建 md RAID 设备

7、 接下来,使用下面的命令来检查4个磁盘。下面命令的输出会很长,因为它会显示4个磁盘的所有信息。

  1. #mdadm--examine /dev/sd[b-e]1

8、 接下来,使用以下命令来查看 RAID 阵列的详细信息。

  1. #mdadm--detail /dev/md0

查看 RAID 阵列详细信息

注意: 你在上面看到的结果,该 RAID 的状态是 active 和re-syncing。

第3步:创建文件系统

9、 使用 ext4 作为md0′的文件系统,并将它挂载到/mnt/raid10`下。在这里,我用的是 ext4,你可以使用你想要的文件系统类型。

  1. #mkfs.ext4 /dev/md0

创建 md 文件系统

10、 在创建文件系统后,挂载文件系统到/mnt/raid10下,并使用ls -l命令列出挂载点下的内容。

  1. #mkdir/mnt/raid10
  2. #mount/dev/md0 /mnt/raid10/
  3. #ls-l /mnt/raid10/

接下来,在挂载点下创建一些文件,并在文件中添加些内容,然后检查内容。

  1. #touch/mnt/raid10/raid10_files.txt
  2. #ls-l /mnt/raid10/
  3. #echo"raid 10 setup with 4 disks">/mnt/raid10/raid10_files.txt
  4. #cat/mnt/raid10/raid10_files.txt

挂载 md 设备

11、 要想自动挂载,打开/etc/fstab文件并添加下面的条目,挂载点根据你环境的不同来添加。使用 wq! 保存并退出。

  1. #vim/etc/fstab
  2. /dev/md0 /mnt/raid10 ext4 defaults 00

挂载 md 设备

12、 接下来,在重新启动系统前使用mount -a来确认/etc/fstab文件是否有错误。

  1. #mount-av

检查 Fstab 中的错误

第四步:保存 RAID 配置

13、 默认情况下 RAID 没有配置文件,所以我们需要在上述步骤完成后手动保存它。

  1. #mdadm--detail --scan --verbose >>/etc/mdadm.conf

保存 RAID10 的配置

就这样,我们使用方法1创建完了 RAID 10,这种方法是比较容易的。现在,让我们使用方法2来设置 RAID 10。

方法2:创建 RAID 10

1、 在方法2中,我们必须定义2组 RAID 1,然后我们需要使用这些创建好的 RAID 1 的集合来定义一个 RAID 0。在这里,我们将要做的是先创建2个镜像(RAID1),然后创建 RAID0 (条带化)。

首先,列出所有的可用于创建 RAID 10 的磁盘。

  1. #ls-l /dev |grep sd

列出了 4 个设备

2、 将4个磁盘使用fdisk命令进行分区。对于如何分区,您可以按照上面的第1步。

  1. #fdisk/dev/sdb
  2. #fdisk/dev/sdc
  3. #fdisk/dev/sdd
  4. #fdisk/dev/sde

3、 在完成4个磁盘的分区后,现在检查磁盘是否存在 RAID块。

  1. #mdadm--examine /dev/sd[b-e]
  2. #mdadm--examine /dev/sd[b-e]1

检查 4 个磁盘

第1步:创建 RAID 1

4、 首先,使用4块磁盘创建2组 RAID 1,一组为sdb1′和sdc1′,另一组是sdd1′ 和sde1′。

  1. #mdadm--create /dev/md1 --metadata=1.2--level=1--raid-devices=2/dev/sd[b-c]1
  2. #mdadm--create /dev/md2 --metadata=1.2--level=1--raid-devices=2/dev/sd[d-e]1
  3. #cat/proc/mdstat

创建 RAID 1

查看 RAID 1 的详细信息

第2步:创建 RAID 0

5、 接下来,使用 md1 和 md2 来创建 RAID 0。

  1. #mdadm--create /dev/md0 --level=0--raid-devices=2/dev/md1 /dev/md2
  2. #cat/proc/mdstat

创建 RAID 0

第3步:保存 RAID 配置

6、 我们需要将配置文件保存在/etc/mdadm.conf文件中,使其每次重新启动后都能加载所有的 RAID 设备。

  1. #mdadm--detail --scan --verbose >>/etc/mdadm.conf

在此之后,我们需要按照方法1中的第3步来创建文件系统。

就是这样!我们采用的方法2创建完了 RAID 1+0。我们将会失去一半���磁盘空间,但相比其他 RAID ,它的性能将是非常好的。

结论

在这里,我们采用两种方法创建 RAID 10。RAID 10 具有良好的性能和冗余性。希望这篇文章可以帮助你了解 RAID 10 嵌套 RAID。在后面的文章中我们会看到如何扩展现有的 RAID 阵列以及更多精彩的内容。

在 Linux 下使用 RAID(七):在 RAID 中扩展现有的 RAID 阵列和删除故障的磁盘  http://www.linuxidc.com/Linux/2015-09/122602.htm

linux raid10管理维护的更多相关文章

  1. (11)Linux服务器管理维护注意事项

    1.远程服务器关机及重启时的注意事项 为什么远程服务器不能关机?原因很简单,远程服务器没有放置在本地,关机后谁帮你按开机电源键启动服务器?虽然计算机技术曰新月异,但是像插入电源和开机这样的工作还是需要 ...

  2. linux 用户管理维护 清缓存

    #echo 1 > /proc/sys/ vm/drop_caches 2013.10.10 其实一直user group一直都没去弄清楚 只是没去归类,@@一种是对用户/组直接修改(同时也更改 ...

  3. MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态

    MegaCli 监控raid状态 转载weixin_30344131 最后发布于2015-10-16 13:05:00 阅读数    简介 MegaCli是一款管理维护硬件RAID软件,可以通过它来了 ...

  4. 【CentOS】Linux日常管理

    /////////////////////////目录///////////////////////////////////////// 一.日常监控指标相关 1.监控系统状态命令 2.查看系统进程 ...

  5. Linux用户管理.md

    用户与组的概念 linux多用户,多任务的特性 Linux是一个真实的.完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务 ...

  6. linux软件包管理(上)

    1.二进制包管理(RPM,yum) 2.源代码包的安装 3.脚本安装(shell或java) 4.Debian系列的linux软件包管理简介 在下载rmp包的时候注意检查硬件平台是否正确,如果硬件平台 ...

  7. Linux内存管理原理

    本文以32位机器为准,串讲一些内存管理的知识点. 1. 虚拟地址.物理地址.逻辑地址.线性地址 虚拟地址又叫线性地址.linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻 ...

  8. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  9. Linux内存管理原理【转】

    转自:http://www.cnblogs.com/zhaoyl/p/3695517.html 本文以32位机器为准,串讲一些内存管理的知识点. 1. 虚拟地址.物理地址.逻辑地址.线性地址 虚拟地址 ...

随机推荐

  1. en笔记音标

      清辅音和浊辅音区别 开音节和闭音节区别 1 2 3 4 5 6 7 a o e i u w y 开音节 /eɪ/ /əu/ /i:/ /aɪ/ Ju: /aɪ/ 闭音节 /æ/ /ɒ/ /ə/ / ...

  2. office2013安装和破解教程

    office2013安装和破解教程(非常简单) 工具/原料 ·电脑 ·office2013 ·HEU_KMS_Activator_CH_v7.6a(激活软件) 方法/步骤 1.1下载Microsoft ...

  3. 蓝桥杯—ALGO-12 幂方分解(递归递推)

    问题描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) 进一步 ...

  4. jsonp 遍历文档

    遍历文档 将html解析成一个Document后,就可以使用类似Dom的方法进行操作 File input = new File("/tmp/input.html"); Docum ...

  5. Flask初级(八)flash与前台交互get post 简介

    Project name :Flask_Plan templates:templates static:static 两种 HTTP 请求方法:GET 和 POST在客户机和服务器之间进行请求-响应时 ...

  6. vim/vi用法总结

    第一章:安装: 在命令行运行vim,如果找不到程序,需要自己安装. 1.1 下载 从官方网站ftp://ftp.vim.org/pub/vim/unix/中选择一个版本下载,我这里使用的是vim-7. ...

  7. 【Android SDK Manager】SDk国内镜像下载地址

    中国科学院开源协会镜像站地址: IPV4/IPV6: http://mirrors.opencas.cn 端口:80 IPV4/IPV6: http://mirrors.opencas.org 端口: ...

  8. Swift中获取系统语言

    //en-US zh-HK zh-TW zh-Hans-US var lng:String { let userDefault = NSUserDefaults.standardUserDefault ...

  9. opencv-python教程学习系列1-安装库

    前言 以后的项目可能会用到python和opencv进行实现,故准备opencv-python教程学习系列记录学习过程的点滴,这是这一系列的开篇,坚持学习,共同进步. 系列教程参照OpenCV-Pyt ...

  10. OLED的相关信息

    有2种方式与OLED模块相连接,一种是8080的并口方式,另一种是4线SPI方式. ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS: OLED 片选信号.WR:向 OL ...