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  三块磁盘
            [root@localhost ~]# 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进行分区
[root@localhost ~]# 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
    [root@localhost ~]# cat /proc/partitions
major minor  #blocks  name

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14070.html