RIAD的实现,以及mdadm命令的基本用法

注  :这个博文是软RAID的实现过程,在实际生产中主要是硬来实现磁盘冗余。本博文仅供学习,和硬RAID不能实现中使用。

(1)常用RAID级别的介绍(只介绍级别,原理及raid历史自行学习)

1,RAID0:条带化,没有冗余功能,磁盘的磁盘的读写速率为n倍 利用率为100%。实现条件最少2块盘

2, RAID1:镜像技术,有冗余功能,磁盘的写速率变慢,读的速率变快,利用率为1/2。实现条件最少2块盘

3, RAID4:校验码技术,有冗余功能,磁盘的利用率为n-1倍 ,利用率为n-1/n。实现条件最少3块盘.

有个巨大的缺点,校验盘成为速度评定标准

4,RAID5和RAID4不同一处 :RAID5校验码不放在固定一个盘。实现条件最少3块盘.

5,RAID10 先做镜像,再做条带。有钱的企业,会选择这种方式。利用率为1/2。实现条件最少4块盘.

6,RAID5先做RAID5.再做RAID0

介绍一个特殊的jbod:实现多个小盘合并成一个大空间磁盘,多用于hadoop.

准备过程,vmware虚拟机,redhat6 ,两块磁盘(准备好3块磁盘,为2G,2G ,2G)在虚拟机中添加好,开机。如果开机添加的,需要重启。#:reboot

(2)RAID的实现过程

1,RAID0实现过程

1):用命令fdisk  -l 可以查看到我们添加的/dev/sdb   ,/dev/sdc   ,/dev/sdd  三块磁盘

[[email protected] ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002980c

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM

Disk /dev/sdb: 2147 MB, 2147483648 bytes
Disk /dev/sdc: 2147 MB, 2147483648 bytes
Disk /dev/sdd: 8589 MB, 8589934592 bytes

2)用fdisk /dev/sdb 对sdb进行分区

[[email protected] ~]# fdisk /dev/sdb------>对/dev/sdb分区命令
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x21b0103d.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won‘t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) and change display units to
         sectors (command ‘u‘).

Command (m for help): n  ----->命令n新建一个分区
Command action
   e   extended                  ----->选项e为扩展分区

p   primary partition (1-4)   ----->选项p为主分区

p                                             ----->这里我选择主分区(实际操作中根据实际情况而定)

Partition number (1-4): 1   ----->分区编号选择范围1-4

First cylinder (1-261, default 1): ----->起始柱面 默认为1
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): ----->结束柱面 可以用+#G定义分区大小
Using default value 261

Command (m for help): t------>命令t改变分区类型
Selected partition 1----->我们这里只有一个分区,只能选择1,如果你们有很多分区可用根据需要选择

Hex code (type L to list codes): fd----->RAID支持的fd类型(注意下面一条信息)

Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): w--------->命令w   保存退出

The partition table has been altered!

Calling ioctl() to re-read partition table.

这样,我们就把/dev/sdb磁盘分好区了,以同样的方法,我们对/dev/sdc和/dev/sdd分区,我这里就不演示了

#现在我们再来fdisk -l 看一下

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         261     2096451   fd  Linux raid autodetect

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         261     2096451   fd  Linux raid autodetect
可以看到这两个分区类型没有问题。

2)命令partprobe /dev/sdb 和partprobe /dev/sdc重新读取分区表(或者命令partx /dev/sdb 和 part /dev/sdc)

3)查看系统有没有读取分区表 cat /proc/partitions

[[email protected] ~]# cat /proc/partitions
major minor  #blocks  name

8        0   20971520 sda
   8        1     512000 sda1
   8        2   20458496 sda2
   8       16    2097152 sdb
   8       17    2096451 sdb1
   8       32    2097152 sdc
   8       33    2096451 sdc1
   8       48    8388608 sdd
 253        0   18358272 dm-0
 253        1    2097152 dm-1

确定,都读取了

4)创建RAID0

mdadm raid 管理器  mdadm 可以将任何两个块设备做成raid
    -C    创建模式

专用选项
                -l :  级别
                -n#:  设备个数
                -a{yes|no} : 是否 自动为其创建设备文件
                -c --chunk  条带大小redhat5默认为64k redhat7默认512k
                -x #指定空白盘 (-n#+ -x#)要等于后面的设备数

mdadm  -C  /dev/md0   -l 0 -a yes -n 2 /dev/sdb1  /dev/sdc1 注:/dev/md0 为RAID设备名。

-l  0  为条带。

-a yes ;自动为其创建设备文件

-n  2 : 为两个设备组成RAID

[[email protected] ~]#  mdadm  -C /dev/md0  -l 0 -a yes -n 2 /dev/sdb1  /dev/sdc1    
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started。

现在我们已经成功创建RAID0了

现在我们就可以格式化RAID0 :mke2fs j /dev/md0

格式化完成后,就可以挂载使用:mount  /dev/md0   /mnt

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

现在我们删了RAID0创建RAID1:

1先卸载/dev/md0 :umount /dev/md0

2停用md0  : mdadm -S  /dev/md0

3删除/dev/md0 :rm -f  /dev/md0

4--创建RAID1

mdadm -C /dev/md1  -a yes -l 1 -n 2 /dev/sdb1     /dev/sdc1

unused devices: <none>
[[email protected] ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb1 /dev/sdc1
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid0 devices=2 ctime=Sun Mar 26 23:31:54 2017
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store ‘/boot‘ on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid0 devices=2 ctime=Sun Mar 26 23:31:54 2017
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

5)查看RAID1

[[email protected] ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
      2095360 blocks super 1.2 [2/2] [UU]

6)RIAD管理模式

mdadm

-a  /--add  添加磁盘

-r  /--remove 删除磁盘

-f /--fail  模拟一块磁盘损坏 如:mdadm  -f  /dev/md#   /dev/sd#

例如   ## 模拟一块磁盘损坏:如,我们让RAID1中/dev/sdb1损坏

(mdadm  -f  /dev/md1   /dev/sdb1)

[[email protected] ~]# mdadm  -f  /dev/md1   /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1

##RAID的查看mdadm -D /dev/md1

[[email protected] ~]# mdadm -D /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Mar 27 00:12:42 2017
     Raid Level : raid1
     Array Size : 2095360 (2046.59 MiB 2145.65 MB)
  Used Dev Size : 2095360 (2046.59 MiB 2145.65 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

Update Time : Mon Mar 27 00:33:48 2017
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

Name : localhost:1  (local to host localhost)
           UUID : 5e187c59:ab9f8970:a941e8f4:3f5f0feb
         Events : 19

Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1

0       8       17        -      faulty   /dev/sdb1

##现在  0       8       17        -      faulty   /dev/sdb1可以看出/dev/sdb1损坏了,我们移除,换块新的

##移除/dev/sdb1

(mdadm -r /dev/md1   /dev/sdb1)

[[email protected] ~]# mdadm -r /dev/md1  /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1

##添加新磁盘/dev/sdd1

(mdadm -a /dev /md1   /dev/sdd1)

[[email protected] ~]# mdadm -a /dev/md1 /dev/sdd1
mdadm: added /dev/sdd1

##在添加空闲磁盘把/dev/sdb1添加上

[[email protected] ~]# mdadm -a /dev/md1 /dev/sdb1
mdadm: added /dev/sdb1

##查看一下md1详细情况

[[email protected] ~]#mdadm -d  /dev/md1

Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

3       8       17        -      spare   /dev/sdb1

##这种属于后面添加空闲磁盘。创建md的时候,可以一起创建空闲磁盘如

mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdc1 /dev/sdd1  -x 1 /dev/sdb1

这样就可以把/dev/sdb1添加为空闲磁盘

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

7)RAID的停用和重新装配

1,RAID的停用

mdadm -S /dev/md#

[[email protected] ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1

2,RAID重新装配 (本来有几块就要装配几块)

mdadm -A /dev/md1  /dev/sdb1 /dev/sdd1  /dev/sdc1

[[email protected] ~]# mdadm -A /dev/md1  /dev/sdb1 /dev/sdd1  /dev/sdc1
mdadm: /dev/md1 has been started with 2 drives and 1 spare.

8)RAID 的扫描系统上raid

mdadm  -D -scan

[[email protected] ~]# mdadm -D -scan
ARRAY /dev/md1 metadata=1.2 spares=1 name=localhost:1 UUID=5e187c59:ab9f8970:a941e8f4:3f5f0feb

###mdadm  -D -scan > /etc/mdadm.conf

把扫描的保存到mdadm配置文件中,重新装置就不要添加那些磁盘设备

##如:mdadm -S /dev/md1   停止md1

重新装配:mdadm -A  /dev/md1

9)格式化,挂载使用

格式化:mke2fs /dev/md1

挂载:mount /dev/md1 /mnt

时间: 2024-10-26 22:31:43

RIAD的实现,以及mdadm命令的基本用法的相关文章

Linux下RIAD的实现及mdadm命令的基本用法

一.RAID简述 磁盘阵列(Redundant Arrays of Independent Disks,RAID),是把多个物理磁盘组成一个阵列,当作一个逻辑磁盘使用,它将数据以分段或条带的方式储存在不同的磁盘中,这样可以通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量 二.RAID分类 1.外接式磁盘阵列:常被使用在大型服务器上,专业的硬件磁盘阵列盘柜,价格昂贵,主要厂商:IBM.HP.EMC等 2.内接式磁盘阵列:需要技术人员来使用操作,同时需要配备硬件RAID卡或者阵列卡

linux下Raid及mdadm命令详解

1.RAID级别:仅代表磁盘组织方式不同,没有高低之分: Raid常用种类:raid0,raid1,raid5,raid10,raid01 jbod:叠加硬盘,类似于raid0 Raid:分为硬Raid和软Raid,生产环境中,基本使用硬Raid 2.以下介绍软Raid相关命令及解释: 软RIAD:在系统中以 /dev/md0和/dev/md1...形式存在设备文件 mdadm命令: 将任何块设备做成RAID 模式化的命令: 创建模式:-C 常用选项: -l: 级别 -n #: 设备个数 -a

RAID 的常用模式 及mdadm 命令的应用

一,RAID:独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法.通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能.因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错.整个 RAID 由于选择的等级(level 仅用于标识磁盘的组合方式的不同) 不同,而使得整合后的磁盘具有不同的功能, 基本常见的 level 有这几种 "RAID0(条带),

Raid及Mdadm命令_学习笔记

关于Raid及Mdadm命令的学习笔记: 课前小知识: 关于case的小脚本笔记: cat  << EOF d|D) show disk Information m|M) show Mem Information s|S) show swap Information EOF read -p "Please input Your Choice: " Choice while [ $Choice != "quit" ] do case $Choice in

RAID及mdadm命令

RAID及mdadm命令详解     我们64位的操作系统是向前兼容32位的操作系统的,这样使得用户在32位操作系统上可以使用的软件也能在64位操作系统上使用,不过适用于32位操作系统的软件依赖的是32位的库文件/lib,适用于64位操作系统的软件依赖的是64位的库文件/lib64. 我们的内核是运行在内存中的. 我们的CPU想要通过内存从我们的硬盘上读取数据的时候,必须通过主板上的Controller(控制器->集成在我们的主板上的)或者是Adapter(适配器->独立的没有集成在主板上的)

2016-9-6 RAID及mdadm命令

8MB=1Mb    IDE:133MbpsSATA:并行 300Mbps,600Mbps,6GbpsUSB 3.0:480MbpsSCSI:Small Computer System Interface 10000,15000 RAID:级别:仅代表磁盘组织方式不同,没有上下之分 0:条带化:把整部分数据分成不同的部分分别存储在不同的磁盘上    性能提升: 读,写    冗余能力(容错能力): 无    空间利用率:nS    至少2块盘 1:镜像    性能表现:写性能下降,读性能提升  

mdadm命令 参数详解

mdadm命令参数详解 mdadm是linux下用于管理软件 raid 的工具 基本语法 : mdadm [mode] [options] [mode]  有7种: Assemble:将以前定义的某个阵列加入当前在用阵列. Build:Build a legacy array,每个device 没有 superblocks Create:创建一个新的阵列,每个device 具有 superblocks Manage: 管理阵列,比如 add 或 remove Misc:允许单独对阵列中的某个 d

2.2.mdadm命令

软件实现方式:CentOS 6上的软件RAID的实现:结合内核中的md(multi devices) mdadm命令: 模式化的工具 命令的语法格式: mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6,RAID10; 模式: 创建:-C 装配:-A 监控:-F 管理:-f, -r, -a <raiddevice&

好压(HaoZip)的命令行模式用法介绍

好压压缩软件,又叫“2345好压”,是一款国产的优秀压缩软件,目前是免费的,据官网介绍,该软件永久免费.官网地址:http://haozip.2345.com/ 本文主要对该软件的命令行模式用法进行介绍.目前,压缩软件支持命令行模式的还有winrar,一款国外的优秀老牌压缩软件,winrar的命令行模式请参考我的另一篇博客: WinRAR的命令行模式用法介绍 - Fetty - 博客园  http://www.cnblogs.com/fetty/p/4769279.html 直接奉上我的测试代码