momo zone

调核人的blog

opensuse 13.2的fakeraid问题

目前在用的raid实现方案大致可分为三种:

    • 硬件raid(hardware raid),通过购买昂贵的raid卡实现,成本比较高。
    • 软件raid(software raid),通过操作系统内软件创建阵列,无硬件要求,raid处理开销完全由CPU负责。
    • 主板raid(fake raid),通过主板内建raid控制器创建阵列,由操作系统驱动识别并进行实际的读写操作。

所以software raid和fake raid都没有硬件offload的功能。但后者获得了一些硬件大厂的支持,比如intel。 如果只有单个linux系统,使用software raid一般比fake raid更健壮,但是,在多启动环境中(例如windows与linux双系统),为了使各个系统都能正确操作相同的raid分区,就必须使用fake raid了。

linux下最重要的raid管理程序为dmraid与mdadm。 本人印象中,前者用于识别rake raid,后者用于管理software raid,但最近更新系统时突然发现,openSUSE及rhel等发行版都改用mdadm替代dmraid来处理rake raid。但我发现mdadm识别一个container下面的第二个member时有问题,具体就是可以创建出一个md设备,但该设备无法访问,更无法分区和挂载,而dmraid没有问题。于是只有禁用mdadm ,然后手动执行dmraid -ay 。
禁用mdadm的方法是 echo ‘DEVICE /dev/null’ > /dev/mdadm.conf,然后执行systemctl start dmraid-activation.service。

 

dmraid从linux kernel version 2.6.18起引入,由Red Hat维护,主要目的为管理fake raid,通过libdevmapper与device-mapper kernel runtime实现。

mdadm从linux kernel version 2.6.27起引入,由SUSE维护,主要目的为管理software raid,通过md (Multiple Devices) device driver实现。

1
2
3
4
$ /sbin/dmraid --version
dmraid version:         1.0.0.rc16-3 (2010.01.12)
dmraid library version: 1.0.0.rc16-3 (2010.01.12)
device-mapper version:  unknown
1
2
$ /sbin/mdadm --version
mdadm - v3.2.5 - 18th May 2012

由以上对比可以看出,dmraid自2010年初就没有更新过了,mdadm则一直更新频繁。 特别是,mdadm 3.0版本加入对external metadata的支持;mdadm 3.2.1版本的release说明中有如下内容:

Secondly, the support for Intel Matrix Storage Manager (IMSM) arrays has been substantially enhanced. Spare migration is now possible as is level migration and OLCE (OnLine Capacity Expansion). This support is not quite complete yet and requires MDADM_EXPERIMENTAL=1 in the environment to ensure people only use it with care. In particular if you start a reshape in Linux and then shutdown and boot into Window, the Windows driver may not correctly restart the reshape. And vice-versa.

自此,mdadm正式踏入管理fake raid的舞台。

 

功能比较

下图为Intel文档中对dmraid与mdadm的简单比较,以供参考:

comparison_of_dm_and_md

另外已知的区别有:

  • mdadm可以使用其他电脑的磁盘进行恢复。
  • dmraid有时无法正确识别大硬盘(3TB imsm raid1被识别为746GB)。
Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: