I.RAID简介

RAID是“Redundant Array ofIndependentDisk”的缩写,中文意思是独立冗余磁盘阵列,主要用于提高传输速率和提供容错功能等。

RAID0硬盘跨区卷:跨盘存储在不同的物理盘上,用户不需关心哪个盘上存有他需要的数据。

RAID1硬盘镜像:数据同时写入二个硬盘,二个硬盘上的数据完全相同,因此一个硬盘故障时,另一个硬盘可提供数据。

Raid10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。

RAID2 JBOD模式SpanJBOD通常又称为Span。它是在逻辑上将几个物理磁盘一个接一个连起来,组成一个大的逻辑磁盘。JBOD不提供容错,该阵列的容量等于组成Span的所有磁盘的容量的总和。JBOD严格意义上说,不属于RAID的范围。不过现在很多IDERAID控制芯片都带着种模式,JBOD就是简单的硬盘容量叠加,但系统处理时并没有采用并行的方式,写入数据的时候就是先写的一块硬盘,写满了再写第二块硬盘……

RAID2:将N台硬盘通过RAIDController(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点。也叫虚拟硬盘。

RAID3:采用的是一种较为简单的校验实现方式,使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。例如,在一个由4块硬盘构成的RAID3系统中,3块硬盘将被用来保存数据,第四块硬盘则专门用于校验。这种配置方式可以用3+1的形式表示。

RAID4:它与RAID3不同的是它在分割时是以区块为单位分别存在硬盘中,但每次的数据存取都必须从同位元检查的那个硬盘中取出对应的同位元数据进行核对,由于过于频繁的使用,所以对硬盘的损耗可能会提高。

RAID5:分布式奇偶校验方式,有三块及以上的磁盘构成,其中一块磁盘专门用于保存奇偶校验数据,速度和安全性兼顾的类型。

以上为个人对RAID小结,实际应用中最常见的是RAID0RAID1 RAID5和RAID10,由于在大多数场合,RAID5包含了RAID2-4的优点,所以RAID2-4基本退出市场现在,一般认为RAID2-4只用于RAID开发研究

IDE RAID多数只支持RAID0,RAID 1,RAID0+1,JBOD模式。

目前企业中常用raid1、raid10和raid5,相信大家通过比较这几种磁盘阵列的特点,应该能看出原因,总结一点:企业的数据安全是企业的生存之本;在此前有应用过相关技术,在这里和再次总结下和大家分享;

简单介绍以下内容:

1.主要介绍:Raid1、Raid5配置步骤,磁盘热备、破坏磁盘测试、卸载磁盘、增减RAID设备、监控RAID设备等

2.准备工作:至少了解linux基础命令和lin系统中磁盘格式、分区格式及方法

3.实际应用:企业数据物理安全保障和性能的相对提升

原理性的东西就了解到这里,下面给大家介绍Raid的具体配置步骤

老版本的linux用的是raidtools来管理linuxRAID的,在rhel5中我们集成了mdmam工具管理RAID磁盘阵列

II.RAID实战

RAID管理工具

mdadm

mdadm是multiple devicesadmin的简称,是linux系统常用的RAID管理工具,相对老的raidtools管理工具相对简单易用,无需单独的配置文件

首先我们要确定系统是否安装了该工具

#rpm qa |grep mdadm

mdadm- 2.6.9-2.el5

命令格式举例:

在linux下我们都知道每个服务和命令的配置或执行都是有一定的格式依据,mdadm也一样,在这里以实例说明命令执行格式及相关命令参数

#mdadm -C /dev/md0 -l1 -n2/dev/sd[b,c]1这里是创建RAID1

#上面这条命令就是mdadm命令的执行格式

#mdadm[指令]-C[创建RAID参数]/dev/md0[默认格式必须要挂载在/devmd(0-5)下]-l1[指定创建Raid1] -n2[指定实用硬盘个数]/dev/sd[b,c]1[指定分区块和分区目录]-à指第二块和第三块sata硬盘的第一个目录作为创建RAID1的分区

#参数简略介绍:

-C = ---creat表示创建一个RAID

/dev/md0表示创建的设备RAID

-l0表示运行的级别0表示RAID0

l1表示RAID1

l5表示RAID5

l10表示RAID0+1

-n2表示2个活动磁盘就是使用的RAID磁盘

-x1表示一个热备磁盘

/dev/sd[b,c]1表示加入RAID磁盘的磁盘设备 /dev/sdb1 /dev/sdc1

mdadm /dev/md0 -f /dev/sdb1模拟/dev/sdb1这个磁盘损坏

mdadm /dev/md0 -r /dev/sdb1把/dev/sdb1这个磁盘移除

mdadm /dev/md0 -a /dev/sdb1把/dev/sdb1这个磁盘加入阵列中使用

mdadm --monitor /dev/sdb1监控这个RAID设备的使用情况

mdadm misc zero-superblock /dev/sdb1强制删除raid磁盘分区

此外,可以通过man来查询更多的可用参数

以上为模拟物理机器演示解析

首先我们了解下当前系统的硬盘设备信息:

[root@XIAOMO ~]# fdisk -l

Disk /dev/hda: 17.1 GB, bytes

255 heads, 63 sectors/track, 2088cylinders

Units = cylinders of * 512 = bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 65 83 Linux

/dev/hda2 66 1085 83 Linux

/dev/hda3 1086 1346 + 83 Linux

/dev/hda4 1347 2088 5 Extended

/dev/hda5 1347 1607 83 Linux

/dev/hda6 1608 1709 + 82 Linux swap /Solaris

Disk /dev/hdb: 85.8 GB, bytes

15 heads, 63 sectors/track, cylinders

Units = cylinders of 945 * 512 = bytes

Disk /dev/hdb doesn't contain a valid partitiontable

Disk /dev/hdd: 85.8 GB, bytes

15 heads, 63 sectors/track, cylinders

Units = cylinders of 945 * 512 = bytes

Disk /dev/hdd doesn't contain a valid partitiontable

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

以上可以看出系统内部所挂载的硬盘设备详细情况,最重要的信息就是/dev/hdb和/dev/hdd还么做格式化分区,还未挂载至目录;

为了方便演示我们只拿一块硬盘的分区目录做测试,因为在windows用Vmware做测试没办法加入超过三块的IDE虚拟硬盘,物理机器又不能去折腾,用虚拟机一块硬盘演示更方便点,切记在物理设备可不能这样做,一块硬盘坏了,数据就都丢了,这样做只是因为方便演示而已,我们选择/dev/hdb做测试,下面我们进行硬盘分区格式化:

[root@XIAOMO ~]# fdisk /dev/hdb#格式化/dev/hdb(在linux中h大头的挂载设备为IDE接口的挂载设备)

Device contains neither a valid DOS partitiontable, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel. Changes willremain in memory only,

until you decide to write them. After that, ofcourse, the previous

content won't be recoverable.

The number of cylinders for this disk is set to.

There is nothing wrong with that, but this islarger than 1024,

and could in certain setups cause problemswith:

1) software that runs at boot time (e.g., oldversions of LILO)

2) booting and partitioning software from otherOSs

(e.g., DOS FDISK, OS/2 FDISK)

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

Command (m for help): n #新建分区

Command action

e extended

p primary partition (1-4)

e #新建拓展分区

Partition number (1-4): 1

First cylinder (1-, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-,default ): +40G #为扩展分区指定容量,这里一定要跟上+

Command (m for help): n

Command action

l logical (5 or over)#新建逻辑分区

p primary partition (1-4)

l

First cylinder (1-, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-,default ): +2G #指定逻辑分区大小(以下同理)

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (4136-, default 4136):

Using default value 4136

Last cylinder or +size or +sizeM or +sizeK(4136-, default ): +2G

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (8271-, default 8271):

Using default value 8271

Last cylinder or +size or +sizeM or +sizeK(8271-, default ): +2G

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (-, default ):

Using default value

Last cylinder or +size or +sizeM or +sizeK (-,default ): +2GCommand (m for help): p#列出创建的分区信息

Disk /dev/hdb: 85.8 GB, bytes

15 heads, 63 sectors/track, cylinders

Units = cylinders of 945 * 512 = bytes

Device Boot Start End Blocks Id System

/dev/hdb1 1 5 Extended

/dev/hdb5 1 4135 + 83 Linux

/dev/hdb6 4136 8270 83 Linux

/dev/hdb7 8271 83 Linux

/dev/hdb8 83 Linux

Command (m for help):w #保存分区创建信息反之q不保存

在这里我们不需要像创建可用挂载分区那样一个个去格式化磁盘,只需要用一个命令去转换分区类型即可

Command (m for help): t#转换分区类型

Partition number (1-8): 5#指定该磁盘上第几个目录作为转换目录

Hex code (type L to list codes): L#查看可转换分区类型

0 Empty 1e Hidden W95 FAT1 80 Old Minix bfSolaris

1 FAT12 24 NEC DOS 81 Minix / old Lin c1DRDOS/sec (FAT-

2 XENIX root 39 Plan 9 82 Linux swap / So c4DRDOS/sec (FAT-

3 XENIX usr 3c PartitionMagic 83 Linux c6DRDOS/sec (FAT-

4 FAT16 <32M 40 Venix 84 OS/2hidden C: c7 Syrinx

5 Extended 41 PPC PReP Boot 85 Linux extendedda Non-FS data

6 FAT16 42 SFS 86 NTFS volume set db CP/M /CTOS / .

7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set deDell Utility

8 AIX 4e QNX4.x 2nd part 88 Linux plaintext dfBootIt

9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVMe1 DOS access

a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3DOS R/O

b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4SpeedStor

c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOSfs

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBMThinkpad hi ee EFI GPT

f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD efEFI (FAT-12/16/

10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISCb

11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1SpeedStor

12 Compaq diagnost 5c Priam Edisk a8 Darwin UFSf4 SpeedStor

14 Hidden FAT16 <3 61 SpeedStora9 NetBSD f2 DOS secondary

16 Hidden FAT16 63 GNU HURD or Sys ab Darwinboot fb VMware VMFS

17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fsfc VMware VMKCORE

18 AST SmartSleep 65 Novell Netware b8 BSDI swapfd Linux raid auto

1b Hidden W95 FAT3 70 DiskSecure Mult bb BootWizard hid fe LANstep

1cHidden W95 FAT3 75 PC/IX beSolaris boot ff BBT

Hex code (type L to list codes): fd#转换为Raid auto分区类型

Changed system type of partition 5 to fd (Linuxraid autodetect) #以下三个分区同理转创建

Command (m for help): t

Partition number (1-8): 6

Hex code (type L to list codes): fd

Changed system type of partition 6 to fd (Linuxraid autodetect)

Command (m for help): t

Partition number (1-8): 7

Hex code (type L to list codes): fd

Changed system type of partition 7 to fd (Linuxraid autodetect)

Command (m for help): t

Partition number (1-8): 8

Hex code (type L to list codes): fd

Changed system type of partition 8 to fd (Linuxraid autodetect)

Command (m for help): p#查看分区信息,转换后的几个目录已经转换成了raidautodetect格式了

Disk /dev/hdb: 85.8 GB, bytes

15 heads, 63 sectors/track, cylinders

Units = cylinders of 945 * 512 = bytes

Device Boot Start End Blocks Id System

/dev/hdb1 1 5 Extended

/dev/hdb5 1 4135 + fd Linux raidautodetect

/dev/hdb6 4136 8270 fd Linux raidautodetect

/dev/hdb7 8271 fd Linux raid autodetect

/dev/hdb8 fd Linux raid autodetect

Command (m for help):w#保存修改后的分区信息

The partition table has been altered!

Calling ioctl() to re-read partitiontable.

Syncing disks.

[root@XIAOMO ~]#

[root@XIAOMO ~]# mdadm -C /dev/md1 -l1 -n2/dev/hdb[5,6]#看文“首命令格式举例”解析,再次强调这里我加的同一分区的目录只是为做测试,这里创建了raid1

mdadm: array /dev/md1 started.

[root@XIAOMO ~]#

[root@XIAOMO ~]# mkfs.ext3 /dev/md1#格式化raid1

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

inodes, blocks

blocks (5.00%) reserved for the superuser

First data block=0

Maximum filesystem blocks=

15 block groups

blocks per group, fragments per group

inodes per group

Superblock backups stored on blocks:

, , , ,

Writing inode tables: done

Creating journal (8192 blocks): done

Writing superblocks and filesystem accountinginformation: done

This filesystem will be automatically checkedevery 37 mounts or

180 days, whichever comes first. Use tune2fs -cor -i to override.

[root@XIAOMO ~]# mkdir /RAID

[root@XIAOMO ~]# mount /dev/md1 /RAID#把创建好的raid1挂载至根目录下的Raid目录

[root@XIAOMO ~]# cat /proc/mdstat#查看raid配置状态

Personalities : [raid1]

md1 : active raid1 hdb6[1] hdb5[0]

blocks [2/2] [UU]

unused devices:<none>

[root@XIAOMO ~]# cp /etc/passwd /RAID/

[root@XIAOMO ~]# cp /etc/shadow /RAID/

[root@XIAOMO RAID]# ls /RAID/

lost+found passwd shadow#测试copy文件至raid1挂载目录,查看文件存在,说明raid1已经可以正常使用了

[root@XIAOMO RAID]# mdadm /dev/md1 -f /dev/hdb5#删除/dev/hdb5,模拟破坏该设备

mdadm: set /dev/hdb5 faulty in /dev/md1#数据么了!!!!

[root@XIAOMO RAID]# ls#查看RAID1挂载目录文件依然存在,raid1特性体现出来

lost+found passwd shadow

[root@XIAOMO RAID]# mdadm -D /dev/md1#另一种方式查看阵列信息,主要是一个-D参数的使用/dev/md1:Version : 0.90#版本Creation Time : Thu Dec 208:54:53 2010 #运行时间

Raid Level : raid1#Raid阵列信息

Array Size : (1908.13 MiB 2000.49 MB)#Raid容量大小

Used Dev Size : (1908.13 MiB 2000.49 MB)

Raid Devices : 2#磁盘使用是两块

Total Devices : 2

Preferred Minor : 1

Persistence : Superblock is persistent

Update Time : Thu Dec 2 09:03:38 2010

State : clean, degraded

Active Devices : 1#一块硬盘正常工作

Working Devices : 1

Failed Devices : 1

Spare Devices : 0

UUID : a328c6dc:626f7023:724aa7f8:cfe

Events : 0.8

Number Major Minor RaidDevice State

0 0 0 0 removed

1 3 70 1 active sync /dev/hdb6

2 3 69 - faulty spare /dev/hdb5 #这里可以很明显看出,/dev/hdb5已经损坏

这里可以使用mdadm /dev/md0 -a /dev/sde1命令加入热备盘同步数据,就不演示了,在下面Raid5的制作过程中再演示如何加入热备盘

接着上面的步骤配置RAID5(RAID5至少需要三块以上的硬盘,当然愈多性能越稳定):

[root@XIAOMO ~]# cat /proc/mdstat#查看设备状态

Personalities : [raid1]

md1 : active raid1 hdb6[1] hdb5[2](F)

blocks [2/1] [_U]

unused devices:<none>

[root@XIAOMO ~]# umount /RAID/#卸载挂载设备

umount: /RAID/: not mounted

[root@XIAOMO ~]# mdadm -S /dev/md0

mdadm: stopped /dev/md0

[root@XIAOMO ~]# mdadm -C /dev/md1 -l5 -n2 -x1/dev/hdb[5,6,7]

mdadm: another array by this name is alreadyrunning.#这里之所以有报错信息是因为我上面-S停止指定的设备错了,应该是/dev/md1

[root@XIAOMO ~]# mdadm -S /dev/md1

mdadm: stopped /dev/md1

[root@XIAOMO ~]# mdadm -C /dev/md1 -l5 -n2 -x1/dev/hdb[6,7,8]#创建Raid5,两个活动磁盘,一个热备磁盘

mdadm: /dev/hdb6 appears to contain an ext2fsfile system

size=K mtime=Thu Dec 2 08:58:41 2010

mdadm: /dev/hdb6 appears to be part of a raidarray:

level=raid1 devices=2 ctime=Thu Dec 2 08:54:532010

Continue creating array?yes#是否覆盖上次配置信息(yes or no

mdadm: array /dev/md1 started.

[root@XIAOMO ~]# mkfs.ext3 /dev/md1#格式化Raid5硬盘分区

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

inodes, blocks

blocks (5.00%) reserved for the superuser

First data block=0

Maximum filesystem blocks=

15 block groups

blocks per group, fragments per groupinodes per groupSuperblock backups storedon blocks:, , , ,Writing inodetables: doneCreating journal (8192 blocks):doneWriting superblocks and filesystem accountinginformation: doneThis filesystem will beautomatically checked every 28 mounts or180 days,whichever comes first. Use tune2fs -c or -i to override.[root@XIAOMO ~]# mount /dev/md1 /RAID/ #挂载Raid5分区至/RAID目录

[root@XIAOMO ~]# df h#查看外置设备挂载点信息

Filesystem Size Used Avail Use% Mounted on

/dev/hda2 7.6G 2.3G 5.0G 32% /

/dev/hda5 2.0G 3.1M 1.9G 1% /home

/dev/hda3 2.0G 112M 1.8G 6% /var

/dev/hda1 494M 16M 453M 4% /boot

tmpfs 246M 0 246M 0% /dev/shm

/dev/hdc 2.8G 2.8G 0 100% /media/RHEL_5.4 i386DVD

/dev/md1 1.9G 35M 1.8G 2%/RAID#已经生成了Raid设备和挂载点

[root@XIAOMO ~]# vim /etc/fstab

LABEL=/ / ext3 defaults 1 1

LABEL=/home /home ext2 defaults 1 2

LABEL=/var /var ext3 defaults 1 2

LABEL=/boot /boot ext3 defaults 1 2

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

LABEL=SWAP-hda6 swap swap defaults 0 0

/dev/md1 /RAID ext3 defaults 0 0

#最后一行为后写入记录,目的是为了设置raid5开机挂载

~

[root@XIAOMO ~]# cat /proc/mdstat#查看raid阵列信息

Personalities : [raid1] [raid6] [raid5][raid4]

md1 : active raid5 hdb7[1] hdb8[2](S)hdb6[0]

blocks level 5, 64k chunk, algorithm 2 [2/2][UU]

unused devices:<none>

[root@XIAOMO ~]# mdadm -D /dev/md1#查看raid5这列详细信息

/dev/md1:

Version : 0.90

Creation Time : Thu Dec 2 09:24:30 2010

Raid Level : raid5

Array Size : (1908.20 MiB 2000.55 MB)

Used Dev Size : (1908.20 MiB 2000.55 MB)

Raid Devices : 2

Total Devices : 3

Preferred Minor : 1

Persistence : Superblock is persistent

Update Time : Thu Dec 2 09:27:39 2010

State : clean

Active Devices : 2#活动磁盘共两块

Working Devices : 3#工作磁盘三块

Failed Devices : 0

Spare Devices : 1#空闲的磁盘为一块,就是之前设置做热备使用的那一块磁盘

Layout : left-symmetric

Chunk Size : 64K#raid5默认64k

UUID :5010a2c2:e893e10d:7d540e79:6f82ff6f

Events : 0.8

Number Major Minor RaidDevice State

0 3 70 0 active sync /dev/hdb6

1 3 71 1 active sync /dev/hdb7

2 3 72 - spare /dev/hdb8#闲置一块硬盘[root@XIAOMO ~]#[root@XIAOMO ~]# cp /etc/grub.conf /RAID/[root@XIAOMO ~]# ls /RAID/grub.conflost+found[root@XIAOMO ~]# mdadm /dev/md1 -f/dev/hdb6 #删除/dev/hdb6,模拟损坏硬盘h3b6

mdadm: set /dev/hdb6 faulty in /dev/md1

我们可以通过一个命令来查看此时此刻的raid5状态

[root@XIAOMO ~]# cat /proc/mdstat

Personalities : [raid1] [raid6] [raid5][raid4]

md1 : active raid5 hdb7[1] hdb8[2]hdb6[3](F)

blocks level 5, 64k chunk, algorithm 2 [2/1][_U]

[=>...................] recovery= 5.1% (/) finish=4.5min speed=6723K/sec

unused devices:<none>

[root@XIAOMO ~]# cat /proc/mdstat

Personalities : [raid1] [raid6] [raid5][raid4]

md1 : active raid5 hdb7[1] hdb8[2]hdb6[3](F)

blocks level 5, 64k chunk, algorithm 2 [2/1][_U]

[==============>......] recovery= 71.8% (/) finish=0.8min speed=K/sec

unused devices:<none>

[root@XIAOMO ~]# cat /proc/mdstat

Personalities : [raid1] [raid6] [raid5][raid4]

md1 : active raid5 hdb7[1] hdb8[0]hdb6[2](F)

blocks level 5, 64k chunk, algorithm 2 [2/2][UU]

unused devices:<none>

#通过以上信息,我们能很明了的看清楚raid5在一块硬盘突然崩溃的情况下,进行数据的奇偶校验同步数据的过程

[root@XIAOMO ~]# ls /RAID/#查看下数据依然存在

grub.conf lost+found

[root@XIAOMO ~]# mdadm -D /dev/md1#通过该命令完整的查看raid5设备状况

/dev/md1:

Version : 0.90

Creation Time : Thu Dec 2 09:24:30 2010

Raid Level : raid5

Array Size : (1908.20 MiB 2000.55 MB)

Used Dev Size : (1908.20 MiB 2000.55 MB)

Raid Devices : 2

Total Devices : 3

Preferred Minor : 1

Persistence : Superblock is persistent

Update Time : Thu Dec 2 09:39:52 2010

State : clean

Active Devices : 2

Working Devices : 2

Failed Devices : 1

Spare Devices : 0

Layout : left-symmetric

Chunk Size : 64K

UUID :5010a2c2:e893e10d:7d540e79:6f82ff6f

Events : 0.12

Number Major Minor RaidDevice State

0 3 72 0 active sync /dev/hdb8

1 3 71 1 active sync /dev/hdb7

2 3 70 - faulty spare /dev/hdb6

#此时可以看出,hdb6已经损坏,且此时的已经无热备磁盘了,这里不要误以为还是hdb6,应该为后加上的热备磁盘

那么如何加入热备磁盘了,此刻可以通过-a参数加入热备磁盘,但重启后你会发现你的热备磁盘无法正常工作,这个时候你再用a参数加入热备磁盘就可以正常使用了,

[root@XIAOMO ~]# mdadm /dev/md1 -a /dev/hdb5#通过这个参数再加入热备磁盘

基本操作步骤就到这里了,下面来说下raid的相关细节问题:

1./etc/mdadm.conf文件

可以通过mdadm -Ds >/etc/mdadm.conf导入,当然不导入也可以,不过既然有了,就不要随便修改文件内容

[root@XIAOMO ~]# cat /etc/mdadm.conf#查看下文件内容,为磁盘阵列信息

ARRAY /dev/md1 level=raid5 num-devices=2metadata=0.90 UUID=5010a2c2:e893e10d:7d540e79:6f82ff6f

#注意,这里如果在同一台服务器上同时配置多个类型的raid阵列(linux里称raid级别),那么如果配置好后通过该文件导入时可以用mdadm-Ds >/etc/mdadm.conf命令直接导入即可,该文件会识别系统内部raid阵列信息,并在其文件中列出;这里特别说明的意思是因为网上大多朋友的帖子都是用mdadm-Ds >>/etc/mdadm.conf,这里大可不必用追加;

[root@XIAOMO ~]#

在这里,关于这个配置文件可以有,也可以么,下面我们就此分析:

那么如果么这个配置文件

[root@XIAOMO ~]# mdadm -As /dev/md1#我们用-As参数重启Raid时报错

mdadm: /dev/md0 not identified in configfile.

[root@XIAOMO ~]# mdadm As partition /dev/md1 m0#可以通过该命令来解决重启raid

mdadm: /dev/md1 has been started with 2drives.

如果有这个配置文件

[root@XIAOMO ~]# mdadm -As /dev/md1#则可以直接通过-As参数来重启raid

mdadm: /dev/md1 has been started with 2drives.

由此可见该配置文件对整个Raid服务并么影响

以上重启RAID设备的操作整个流程如下,缺一不可:

[root@XIAOMO ~]# umount /RAID/#卸载挂载目录

[root@XIAOMO ~]# mdadm -S /dev/md1#停止RAID设备

[root@XIAOMO ~]# mdadm -As /dev/md1#停止RAID设备后要从新启动RAID

[root@XIAOMO ~]# mount /dev/md1 /RAID///在把RAID挂载到对应的目录下面仅供借鉴参考!


转自:http://blog.sina.com.cn/s/blog_83c105c8010132il.html