gzyueqian
18529173453
首页 > 新闻中心 > > 正文

CentOS 4.4如何利用Mdadm建立Raid5存储

更新时间: 2008-06-03 14:21:30来源: 粤嵌教育浏览量:827

  一、环境

  1.操作系统为CentOS4.4,mdadm软件为系统自带的,版本1.6.0-3

  2.hda安装的是系统,sda、sdb、sdc、sdd四块硬盘建立Raid5,其中sdd为热备。

  二、准备

  1.首先需要将四块SCSI硬盘格式化。敲入命令fdisk –l,系统显示sda、sdb、sdc、sdd的一些信息,并提示磁盘没有包含一个有效的分区表。

  2.[root@centos /]# fdisk /dev/sda

  Command (m for help): n #输入字母n,添加一个新的分区。

  Command action

  e extended

  p primary partition (1-4)

  p #创建主分区。
 
  Partition number (1-4): 1 #可创建四个主分区,此处输入1,创建个。

  First cylinder (1-1044, default 1): #因为是将硬盘分为一个区,所以默认回车即可。

  Using default value 1

  Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):

  Using default value 1044

  Command (m for help): t #更改分区的文件系统ID。

  Selected partition 1
 
  Hex code (type L to list codes): fd #fd Linux raid auto

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

  Command (m for help): w #保存退出

  3.按照上步骤处理四块硬盘,然后可以使用命令fdisk –l再次查看,可以看到四块硬盘已经完成准备。

  三、配置

  1.创建raid非常简单,只需要一条命令即可。

  [root@centos /]# mdadm -C -v /dev/md0 -l5 -n3 /dev/sda1 /dev/sdb1 /dev/sdc1 -x1 /dev/sdd1

  #参看帮助mdadm --create --help

  mdadm: layout defaults to left-symmetric

  mdadm: chunk size defaults to 64K

  mdadm: size set to 8388544K

  mdadm: array /dev/md0 started.
  
  [root@centos /]#

  2.创建文件系统为ext3

  [root@centos /]# mkfs.ext3 /dev/md0

  创建目录/mnt/raid,挂载

  [root@centos /]# mkdir /mnt/raid

  [root@centos /]# mount /dev/md0 /mnt/raid

  3.了解raid状况

  [root@centos /]# mdadm -D /dev/md0

  4.启动和停止

  停止之前需要umount,然后mdadm –S /dev/md0

  启动:[root@centos /]# mdadm -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

  如果已经建立了配置文件,启动可使用命令mdadm –As /dev/md0

  5.关于配置文件

  系统中包含一个配置文件的样例/usr/share/doc/mdadm-1.6.0/mdadm.conf-example,可以参照建立/dev/mdadm.conf配置文件,也可通过命令mdadm –Ds查看详情,然后使用vi编辑保存文本文件

  [root@centos /]# vi /etc/mdadm.conf

  DEVICE /dev/sd[abcd]1

  ARRAY /dev/md0 level=raid5 num-devices=3 UUID=63cb965b:79486986:d389c551:67677f20

  为使系统reboot后能够自动挂载raid目录,需要修改/etc/fstab文件,加入如下一行:/dev/md0 /mnt/raid ext3 defaults 0 0

  四、故障测试

  1.测试前,在/mnt/radi下建立一个文件使用

  [root@centos raid]# ll / |tee ./ls.txt

  mdadm自带命令可以标记某块硬盘为损坏,参看帮助mdadm --manage –h。

  故障测试中,标记sda硬盘损坏

  [root@centos /]# mdadm /dev/md0 -f /dev/sda1

  mdadm: set /dev/sda1 faulty in /dev/md0

  2.查看状态

  [root@centos /]# more /proc/mdstat

  Personalities : [raid5]

  md0 : active raid5 sdd1[3] sdc1[2] sdb1[1] sda1[4](F)

  16771584 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]

  [====>................] recovery = 22.8% (1916928/8385792) finish=1.9min speed=55892K/sec

  unused devices:

  [root@centos /]#

  因为sdd硬盘为热备,系统显示raid重构中,进度22.8%,且sda1标记(F)。

  稍等再次查看:

  [root@centos/]# more /proc/mdstat

  Personalities : [raid5]

  md0 : active raid5 sdd1[0] sdc1[2] sdb1[1] sda1[3](F)

  16771584 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

  unused devices:

  [root@centos /]# mdadm -D /dev/md0

  /dev/md0:

  Version : 00.90.01

  Creation Time : Fri Jun 1 13:00:31 2007

  Raid Level : raid5

  Array Size : 16771584 (15.99 GiB 17.17 GB)

  Device Size : 8385792 (7.100 GiB 8.59 GB)

  Raid Devices : 3

  Total Devices : 4

  Preferred Minor : 0

  Persistence : Superblock is persistent

  Update Time : Fri Jun 1 13:23:49 2007

  State : clean
  
  Active Devices : 3

  Working Devices : 3
 
  Failed Devices : 1

  Spare Devices : 0

  Layout : left-symmetric

  Chunk Size : 64K

  Number Major Minor RaidDevice State

  0 8 49 0 active sync /dev/sdd1

  1 8 17 1 active sync /dev/sdb1

  2 8 33 2 active sync /dev/sdc1

  3 8 1 -1 faulty /dev/sda1

  UUID : 63cb965b:79486986:d389c551:67677f20

  Events : 0.16 [root@centos /]#

  3.移除损坏的硬盘

  [root@centos /]# mdadm /dev/md0 -r /dev/sda

  mdadm: hot removed /dev/sda

  [root@centos /]#
 
  至此可以拿下损坏的硬盘

  4.添加新的硬盘到raid中

  新硬盘接入系统中,应进行正确的分区,且与之前换掉的硬盘保持相同的设备号。然后执行命令

  [root@centos /]# mdadm /dev/md0 -a /dev/sda

免费预约试听课