linux下软raid配置

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下软raid配置

一、在linux系统中目前以MD(Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗祭算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上.

目前MD支持linear,multipath,raid0(stripping),raid1(mirror),raid4,raid5,raid6,raid10等不同的冗余级别和级成方式,当然也能支持多个RAID陈列的层叠组成raid1+0,raid5+1等类型的陈列,

本文主要讲解用户层mdadm如何管理软件RAID及使用中经常遇到的问题及解决办法.现流行的系统中一般已经将MD驱动模块直接编译到内核中或编译为可动态加载的驱动模块,我们可以在机器启动后通过cat /proc/mdstat看内核是否已经加载MD驱动或者cat /proc/devices是否有md块设备,并且可以使用lsmod看MD是否可以模块加载到系统中.

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

Personalities :

unused devices:

[root@testggv ~]#

[root@testggv ~]# cat /proc/devices | grep md

1 ramdisk

9 md

254 mdp

[root@testggv ~]#mdadm --version

[root@testggv ~]# mdadm --version

mdadm - v2.5.4 - 13 October 2006

[root@testggv ~]#

二、mdadm管理软raid陈列

mdadm程序是一个独立的程序,能完成所有的软件raid管理功能,主要有7种使用模

Create

使用空闲的设备创建一个新的阵列,每个设备具有元数据块

Assemble

将原来属于一个阵列的每个块设备组装为阵列

Build

创建或组装不需要元数据的阵列,每个设备没有元数据块

Manage

管理已经存储阵列中的设备,比如增加热备磁盘或者设置某个磁盘失效,然后从阵列中删除这个磁盘

Misc

报告或者修改阵列中相关设备的信息,比如查询阵列或者设备的状态信息

Grow

改变阵列中每个设备被使用的容量或阵列中的设备的数目

Monitor

监控一个或多个阵列,上报指定的事件

如果MD驱动被编译到内核中,当内核调用执行MD驱动时,会自动查找分区为FD(linux raid autodetect格式的磁盘。所以一般会使用fdisk工具将HD磁盘或者SD磁盘分区,再设置为FD的磁盘。

[root@testggv ~]# fdisk /dev/hdc

The number of cylinders for this disk is set to 25232.

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

and could in certain setups cause problems with:

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

2) booting and partitioning software from other OSs

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

Command (m for help): n

Command action

e extended

p primary partition (1-4)

Partition number (1-4): 1

First cylinder (1-25232, default 1):

Using default value 1

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

Using default value 25232

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): fd

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

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

[root@testggv ~]#

如果MD驱动是模块形式加载,需要在系统运行时由用户层脚本控制RAID陈列启动运行,如在FedoraCore系统中在/etc/rc.d/rc.sysinit文件中有启动软RAID阵列的指令,若RAID的配置文件mdadm.conf存在,则调用mdadm检查配置文件里的选项,然后启动RAID阵列。

echo "raidautorun /dev/md0" | nash --quiet

if [ -f /etc/mdadm.conf]; then

/sbin/mdadm -A -s

fi -A:指装载一个已存在的陈列-s:指查找mdadm.conf文件中的配置信息。

手工停止盘陈:#mdadm -S /dev/md0

相关文档
最新文档