dmraid 全名为设备对应器磁盘阵列(Device Mapper RAID),利用Linux内核提供的设备对应器(Device Mapper)机制 ,为多种磁盘阵列设备提供磁盘阵列的设备文件,让用户可以在 Red Hat Enterprise Linux系统中使用硬件磁盘阵列设备。

使用硬件磁盘阵列设备

启动磁盘阵列设备后,你可以把该设备文件当做一个磁盘使用,例如对该磁盘阵列设备产生分区、制作文件系统等。

每一个由 dmraid 管理的磁盘阵列设备的分区,其设备文件名称为:

/dev/mapper/TYPE_UNIQUENAMEpNUMBER

其中的TYPE_UNIQUENAME 就是硬件磁盘阵列设备的名称,而 NUMBER 则是分区的编号。

不过,对硬件磁盘阵列设备执行管理分区动作时,我建议你使用 parted工具,而尽可能不要使用fdisk,这是因为根据我的测试结果 ,发现通过parted 新增或卸载分区后,Red Hat Enterprise Linux会自动产生正确的分区设备文件;但使用fdisk却无法正常地更新分区设备文件。

以下是我使用 parted 管理分区的示范。

[root@linux ~]# ls /dev/mapper/
control  sil_aiadcdadagbj ?①
[root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj
mkpart p ext3 0 1024 o②
[root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj print
Model: Linux device-mapper(dm)
Disk /dev/mapper/sil_aiadcdadagbj: 250GB
Sector size(logical/physical): 512B/512B Partition Table: msdos
Number  Start    End      Size    Type       File system  旗标
1  0.51kB  1024MB  1024MB    主分区 ?③

信息: 如果必要,不要忘记更新 /etc/fstab

[root@linux ~]# ls /dev/mapper/
control  sil_aiadcdadagbj  sil_aiadcdadagbjp1 ④?
[root@linux ~]#

① 现在/dev/mapper/只有硬件磁盘阵列的设备文件。

② 我使用 parted 在sil_aiadcdadagbj设备中建立一个新的主要分区,作为ext3文件系统,其开始的位置为0 MB,结束的位置为 1024MB。

③ 完成后,利用parted查看 sil_aiadcdadagbj设备的磁盘分区数据表,此处可发现刚刚新增的磁盘分区数据。

④ 使用parted产生新的分区后,会自动产生该分区的设备文件。此处的sil_aiadcdadagbjp1就是刚刚新增的分区的设备文件。

管理硬件磁盘阵列

建立完硬件磁盘阵列后,接着让我们来研究如何管理该磁盘阵列设备。

1.读取磁盘阵列设备

如果你想知道目前的某一个硬件磁盘阵列设备是由哪些磁盘驱动器组成的,你可以使用dmraid -r查看:

dmraid -r [DEVICE...]

其中的DEVICE为磁盘驱动器设备的设备文件名称,省略时代表读取所有磁盘设备。

以下是我使用dmraid -r读取磁盘驱动器信息的范例。

[root@linux ~]# dmraid -r
/dev/sda: sil, "sil_aiadcdadagbj", mirror, ok,
488395120 sectors, data@ 0
/dev/sdb: sil, "sil_aiadcdadagbj", mirror, ok,
488395120 sectors, data@ 0
[root@linux ~]#

上述显示结果中,每一行代表一个磁盘设备与其硬件磁盘阵列的相关信息。以上述/dev/sda 磁盘驱动器为例。

属于sil硬件磁盘阵列设备。

设备文件名称为 sil_aiadcdadagbj。

操作为RAID-5等级,也就是镜像模式(Mirror Mode)。

目前的配置为良好(ok)。

共有 488395120 扇区。

数据位移(Offset)的大小为 0。

2.查看磁盘阵列配置

另外一种查看硬件磁盘阵列设备的方法,则是利用dmraid -s:

dmraid -s [RAID...]

其中的RAID为dmraid 提供的磁盘阵列设备的设备文件名称,省略时代表所有的磁盘设备。以下是我使用dmraid -s 查看磁盘阵列设备状态的示范。

[root@linux ~]# dmraid -s
*** Active Set
name : sil_aiadcdadagbj size : 488395120
stride : 0
type : mirror status : ok subsets: 0
devs : 2
spares : 0
[root@linux ~]#

3.停用磁盘阵列设备

最后,如果打算停用硬件磁盘阵列的话,你可以使用dmraid 命令:

dmraid -a n [RAID...]

其中的RAID即是要停用的磁盘阵列设备的设备文件,如果没有指定RAID,则代表所有磁盘阵列设备。

不过,如果该硬件磁盘阵列上仍有分区的话,dmraid将会返回错误信息。因此,请在停用硬件磁盘阵列设备之前,先卸载该磁盘设备上所有的分区。

以下是我使用dmraid -a n停用磁盘阵列设备的示范。

[root@linux ~]# dmraid -a n
RAID set "sil_aiadcdadagbj(null)1" is not active ?①
[root@linux ~]# ls /dev/mapper/
control  sil_aiadcdadagbj  sil_aiadcdadagbjp1 ②
[root@linux ~]# parted /dev/mapper/sil_aiadcdadagbj rm 1 ?③

信息: 如果必要,不要忘记更新 /etc/fstab

[root@linux ~]# ls /dev/mapper/
control  sil_aiadcdadagbj ?④
[root@linux ~]# dmraid -a n ?⑤
[root@linux ~]# ls /dev/mapper/
control ?⑥
[root@linux ~]#

① 现在我使用dmraid停用硬件磁盘阵列,但dmraid却返回错误信息,代表执行失败。

② 这是因为我的sil_aiadcdadagbj硬件磁盘阵列设备上仍有其他分区。

③ 所以,接着使用parted删除sil_aiadcdadagbj的第一个分区。

④ 现在sil_aiadcdadagbjp1设备文件就消失了。

⑤ 再次停用硬件磁盘阵列设备,这次就没有产生任何错误信息了。

⑥ 成功地停用后,该磁盘设备的设备文件也跟着消失了。

dmraid 用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. Android官方技术文档翻译——迁移 Gradle 项目到1.0.0 版本

    本文译自Android官方技术文档<Migrating Gradle Projects to version 1.0.0>,原文地址:http://tools.android.com/te ...

  2. MTK6577+Android之Camera驱动

    MTK6577+Android之Camera驱动 <MTK安卓平台的Camera效果在线调试> 1.     Camera拍照相关概念 1.1  ISP isp--(Image Signa ...

  3. Gradle 1.12用户指南翻译——第二十三章. Java 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  4. VirtualBox安装RHEL之后配置桥接网络

    VirtualBox安装RHEL之后配置桥接网络 1 如果主机是Intel (R) Ethernet Connection I217-LM上网的: 2 如果主机是无线上网的, 如ipconfig显示如 ...

  5. 修改量更新API

    /* Update a Modifier header of type 'PRO' (Promotion) */ l_MODIFIER_LIST_rec.active_flag := 'N'; l_M ...

  6. 【LaTeX排版】LaTeX论文排版<一>

    本文及接下来的几篇文章主要讲关于毕设论文的排版. 1.论文的整体构架     学校规定论文字数不得少于15000:说明论文属于中篇论文.一般来说,中长篇论文采用book文类,短篇论文采用article ...

  7. PS 图像调整算法— —渐变映射

    这个调整简单来说就是先建立一张lookup table, 然后以图像的灰度值作为索引,映射得到相应的颜色值.图像的灰度值是由图像本身决定的,但是lookup table 却可以各种各样,所以不同的lo ...

  8. Mybatis源码之RoutingStatementHandler

    /** * @author Clinton Begin */ public class RoutingStatementHandler implements StatementHandler { pr ...

  9. MySQL数据库存储过程动态表建立(PREPARE)

    PREPARE statement_name FROM sql_text /*定义*/ EXECUTE statement_name [USING variable [,variable...]] / ...

  10. linux 下使用 tc 模拟网络延迟和丢包

    1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...