当前位置: 首页 » 产品 » 生活保健 » 正文

Linux中使用mdadm命令来操作RAID的基本教程

放大字体  缩小字体 发布日期: 2024-09-27 15:29   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:26
核心提示:  mdadm 用于建设,管理和监控RAID阵列  用法:  mdadm --create device options...  用未使用的设备,创建raid选项, 

  mdadm 用于建设,管理和监控RAID阵列

  用法:

  mdadm --create device options...

  用未使用的设备,创建raid选项,

  mdadm --assemble device options...

  合并先前创建的raid阵列。

  mdadm --build device options...

  创建或合并没有元数据的一个raid。

  mdadm --manage device options...

  对现有阵列进行更改

  mdadm --misc options... devices

  报告或修改各种MD相关设备的。

  mdadm --grow options device

  调整以激活的raid阵列

  mdadm --incremental device

  从一个raid中,添加/删除设备

  mdadm --monitor options...

  监视一个或多个raid阵列的变化

  mdadm device options...

  --manage的简写

  mdadm --create 主要参数

  --auto=yes :决定建立后面接的软体磁盘阵列设备,亦即/ dev/md0的,/ dev/md1上...

  --raid-devices=N :使用几个磁盘 (partition) 作为磁盘阵列的设备

  --spare-devices=N :使用几个磁盘作用磁盘阵列的备用设备

  --level=[015] :设置磁盘阵列的等级,常用0,1,5

  mdadm --manage 主要参数

  --add :会将后面的设备加入到这个MD中!

  --remove :会将后面的设备由这个MD中移除

  --fail :会将后面的设备设定成为出错的状态

  一、在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)

  p

  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 ~]#

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站