欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


win10系统输入法设置在什么位置?
Win7系统打开IE浏览器提示"网页上有错误"怎么解决
WiFi共享大师找不到wifi连接怎么办
MKVToolnix如何快速转换抓取音频
腾达如何防止无线网络被蹭网?
腾达无线路由器 192.168.0.1 打不开怎么办?
win10系统如何设置默认输入法
MKVToolnix软件怎么对视频快速切割
win7安装谷歌浏览器出现错误代码:0X80004002的解决方法
kindeditor上传文件超过30M报错怎么办?
Linux中mdadm命令管理RAID磁盘阵列的实例总结
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。但由于现在服务器一般都带有RAID阵列卡,并且RAID阵列卡也很廉价,且由于软件RAID的自身缺陷(不能用作启动分区、使用CPU实现,降低CPU利用率),因此在生产环境下并不适用。但为了学习和了解RAID原理和管理,因此仍然进行一个详细的讲解:

  mdadm 主要命令说明模式(7种):

  •Assemble:加入一个以前定义的阵列

  •Build:创建一个没有超级块的阵列

  •Create:创建一个新的阵列,每个设备具有超级块

  •Manage: 管理阵列(如添加和删除)

  •Misc:允许单独对阵列中的某个设备进行操作(如停止阵列)

  •Follow or Monitor:监控RAID的状态

  •Grow:改变RAID的容量或阵列中的设备数目

  选项:

  -A, --assemble:加入一个以前定义的阵列

  -B, --build:创建一个没有超级块的阵列(Build a legacy array without superblocks.)

  -C, --create:创建一个新的阵列

  -F, --follow, --monitor:选择监控(Monitor)模式

  -G, --grow:改变激活阵列的大小或形态

  -I, --incremental:添加一个单独的设备到合适的阵列,并可能启动阵列

  --auto-detect:请求内核启动任何自动检测到的阵列

  -h, --help:帮助信息,用在以上选项后,则显示该选项信息

  --help-options:显示更详细的帮助

  -V, --version:打印mdadm的版本信息

  -v, --verbose:显示细节

  -b, --brief:较少的细节。用于 --detail 和 --examine 选项

  -Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分

  -D, --detail:打印一个或多个 md device 的详细信息

  -E, --examine:打印 device 上的 md superblock 的内容

  -c, --config= :指定配置文件,缺省为 /etc/mdadm.conf

  -s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm.conf

  -C 创建Raid (/dev/md0是我的raid名称)

  -n 磁盘阵列个数

  -l raid的级别,-x hostspare,待机磁盘,

  --size 指定每块磁盘大小

  --add -a : hotadd subsequent devices to the array

  --remove -r : remove subsequent devices, which must not be active

  --fail -f : mark subsequent devices a faulty

  --set-faulty : same as --fail

  --run -R : start a partially built array

  --stop -S : deactivate array, releasing all resources

  --readonly -o : mark array as readonly

  --readwrite -w : mark array as readwrite

  Options that are valid with management mode are:

  --add -a : hotadd subsequent devices to the array

  --remove -r : remove subsequent devices, which must not be active

  --fail -f : mark subsequent devices a faulty

  --set-faulty : same as --fail

  --run -R : start a partially built array

  --stop -S : deactivate array, releasing all resources

  --readonly -o : mark array as readonly

  --readwrite -w : mark array as readwrite

  使用cat /proc/mdstat命令来查看一下RAID的状态

  配置完后,需mdadm -D --scan>/etc/mdadm.conf 进行配置更新

  停止阵列前,需umount 执行mdadm -S /dev/mdX

  重新启动 执行 mdadm -As /dev/mdX

  阵列组中移除硬盘 mdadm /dev/mdX -r /dev/sdX

  阵列组中添加硬盘 mdadm /dev/mdX -a /dev/sdX

  查看单个分区 mdadm -E /dev/sdX

  下面来看一下实例:

  一、创建模式

  选项:-C

  专用选项:

  -l 级别

  -n 设备个数

  -a {yes|no} 自动为其创建设备文件

  -c 指定数据块大小(chunk)

  -x 指定空闲盘(热备磁盘)个数,空闲盘(热备磁盘)能在工作盘损坏后自动顶替

  注意:创建阵列时,阵列所需磁盘数为-n参数和-x参数的个数和

  示例:

  1、创建raid0:

  1.1 创建raid

  代码如下:

  mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}

  注意:用于创建raid的磁盘分区类型需为fd

  1.2 格式化:

  mkfs.ext4 /dev/md0

  注意:在格式化时,可以指定-E选项下的stride参数指定条带是块大小的多少倍,有在一定程度上提高软RAID性能,如块默认大小为4k,而条带大小默认为64k,则stride为16,这样就避免了RAID每次存取数据时都去计算条带大小,如:

  mkfs.ext4 -E stride=16 -b 4096 /dev/md0

  其中stride=chunk/block,为2的n次方

  2、创建raid1:

  2.1 创建raid

  代码如下:

  [root@localhost ~]# mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sdb{5,6}

  mdadm: Note: this array has metadata at the start and

  may not be suitable as a boot device. If you plan to

  store '/boot' on this device please ensure that

  your boot-loader understands md/v1.x metadata, or use

  --metadata=0.90

  Continue creating array? y

  mdadm: Defaulting to version 1.2 metadata

  mdadm: array /dev/md1 started.

  注意:这个提示是说软raid不能用作启动分区。

  2.2 格式化:

  代码如下:

  [root@localhost ~]# mkfs.ext4 /dev/md1

  3、创建raid5:

  由于没有磁盘空间,我将原来做raid1的测试磁盘全部删除后重新建立四个分区用于raid5测试,分别为sdb5-8

  3.1 创建raid5

  代码如下:

  [root@localhost ~]# mdadm -C /dev/md2 -a yes -l 5 -n 3 /dev/sdb{5,6,7}

  mdadm: /dev/sdb5 appears to be part of a raid array:

  level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013

  mdadm: /dev/sdb6 appears to be part of a raid array:

  level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013

  mdadm: /dev/sdb7 appears to be part of a raid array:

  level=raid1 devices=2 ctime=Sun Jul 14 09:14:25 2013

  Continue creating array? y

  mdadm: Defaulting to version 1.2 metadata

  mdadm: array /dev/md2 started.

  注意:由于我的分区刚才在raid1上使用过,因此有此提示。

  3.2 格式化:

  [root@localhost ~]# mkfs.ext4 /dev/md2

  3.3 增加热备磁盘:

  [root@localhost ~]# mdadm /dev/md2 -a /dev/sdb8

  4、查看md状态:

  4.1 查看RAID阵列的详细信息:

  代码如下:

  选项: -D = --detail

  mdadm -D /dev/md# 查看指定RAID设备的详细信息

  4.2 查看raid状态

  代码如下:

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

  Personalities : [raid0] [raid1]

  md0 : active raid0 sdb2[1] sdb1[0]

  4206592 blocks super 1.2 512k chunks

  md1 : active raid1 sdb6[1] sdb5[0]

  2103447 blocks super 1.2 [2/2] [UU]

  unused devices:

  注意:在创建raid前,应该先查看磁盘是否被识别,如果内核还为识别,创建Raid时会报错:

  代码如下:

  cat /proc/partitions

  如果没有被识别,可以执行命令:

  代码如下:

  kpartx /dev/sdb

  或者

  代码如下:

  partprobe/dev/sdb

  二、管理模式

  选项:-a(--add),-d(--del),-r(--remove),-f(--fail)

  1、模拟损坏:

  代码如下:

  mdadm /dev/md1 -f /dev/sdb5

  2、移除损坏的磁盘:

  代码如下:

  mdadm /dev/md1 -r /dev/sdb5

  3、添加新的硬盘到已有阵列:

  代码如下:

  mdadm /dev/md1 -a /dev/sdb7

  注意:

  3.1、新增加的硬盘需要与原硬盘大小一致

  3.2、如果原有阵列缺少工作磁盘(如raid1只有一块在工作,raid5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘。

  4、停止阵列:

  选项:-S = --stop

  代码如下:

  mdadm -S /dev/md1

  三、监控模式

  选项:-F

  不常用,不做详细说明。

  四、增长模式,用于增加磁盘,为阵列扩容:

  选项:-G

  示例,将上述raid5的热备磁盘增加到阵列工作磁盘中

  代码如下:

  [root@localhost ~]# mdadm -G /dev/md2 -n 4

  注意:-n 4 表示使用四块工作磁盘

  再次使用-D选项查看阵列详细信息如下:

  代码如下:

  [root@localhost ~]# mdadm -D /dev/md2

  ……此处略掉部分信息……

  Number Major Minor RaidDevice State

  0 8 21 0 active sync /dev/sdb5

  1 8 22 1 active sync /dev/sdb6

  3 8 23 2 active sync /dev/sdb7

  4 8 24 3 active sync /dev/sdb8

  五、装配模式,软RAID是基于系统的,当原系统损坏了,需要重新装配RAID

  选项:-A

  示例:将上述已经停止的阵列重新装配:

  代码如下:

  mdadm -A /dev/md1 /dev/sdb5 /dev/sdb6

  实现自动装配:

  mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,因此第一次配置raid后可以将信息导入到/etc/mdadm.conf 中,命令如下:

  代码如下:

  [root@localhost ~]# mdadm -Ds >/etc/mdadm.conf

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站