英特尔matrix存储RAID和Linux mdadm

我有一个在Windows下build立的3磁盘RAID 5arrays,我想用mdadm在Linux上工作。 我已经做了一些基本的fakeraid的东西,但这是用BIOS中的英特尔matrix存储实用程序设置的,并没有像我预期的那样工作。

这是我的磁盘设置:

/dev/sda - 32GB SSD, Windows boot drive. /dev/sda1 - Windows system partition /dev/sda2 - Windows C:, 29GB /dev/sdb } /dev/sdc } the RAID5 array: 3x500GB; contains one partition, a 1TB NTFS filesystem /dev/sdd } /dev/sde - 128GB SSD, Linux's drive /dev/sde1 - /boot /dev/sde2 - LVM PV /dev/dm0 - / /dev/dm1 - /home /dev/dm2 - <swap> 

所以我做的第一件事是运行mdadm --assemble --scan ,它产生了以下内容:

 mdadm: /dev/sdd is identified as a member of /dev/md/imsm0, slot -1. mdadm: /dev/sdc is identified as a member of /dev/md/imsm0, slot -1. mdadm: /dev/sdb is identified as a member of /dev/md/imsm0, slot -1. mdadm: added /dev/sdc to /dev/md/imsm0 as -1 mdadm: added /dev/sdb to /dev/md/imsm0 as -1 mdadm: added /dev/sdd to /dev/md/imsm0 as -1 mdadm: Container /dev/md/imsm0 has been assembled with 3 drives 

所以它发现磁盘上的IMSM信息很好,并组装一个容器:

 # mdadm --examine /dev/md/imsm0 /dev/md/imsm0: Magic : Intel Raid ISM Cfg Sig. Version : 1.2.02 Orig Family : ee19d190 Family : ee19d190 Generation : 0009ab28 UUID : ab31031b:2d9f8489:5d87a6c4:e87e3826 Checksum : f09a3edc correct MPB Sectors : 2 Disks : 3 RAID Devices : 1 Disk00 Serial : 3PM1DZBD State : active Id : 00010000 Usable Size : 976768654 (465.76 GiB 500.11 GB) [NMWVolume]: UUID : c192a859:14874bab:06ca8af9:d3e8b52e RAID Level : 5 Members : 3 This Slot : 0 Array Size : 1953536000 (931.52 GiB 1000.21 GB) Per Dev Size : 976768264 (465.76 GiB 500.11 GB) Sector Offset : 0 Num Stripes : 7631000 Chunk Size : 64 KiB Reserved : 0 Migrate State : idle Map State : normal Dirty State : clean Disk01 Serial : 3PM222TL State : active Id : 00020000 Usable Size : 976768654 (465.76 GiB 500.11 GB) Disk02 Serial : 3PM22GFQ State : active Id : 00030000 Usable Size : 976768654 (465.76 GiB 500.11 GB) 

它显示了Raid5的音量,“NMWVolume”在那里,但我怎么去呢? 那个容器装置什么都不干。 我不能读取任何东西,即fdisk /dev/md/imsm0只是返回Unable to read /dev/md/imsm0

如果我尝试运行mdadm --create --verbose --level=5 --raid-devices=3 --chunk=64 --auto=mdp /dev/md0 /dev/sd[bcd]我得到这些错误:

 mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: super1.x cannot open /dev/sdb: Device or resource busy mdadm: not enough space after merge (0 < 0) mdadm: device /dev/sdb not suitable for any style of array 

/dev/md/imsm0replace/dev/sd[bcd] /dev/md/imsm0给出错误mdadm: not enough devices with space to create array.

我试着停止/dev/md/imsm0数组,然后重新运行带有sd [bcd]驱动器的mdadm --create命令,结果如下:

 mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: /dev/sdb appears to be part of a raid array: level=container devices=0 ctime=Wed Dec 31 18:00:00 1969 mdadm: partition table exists on /dev/sdb but will be lost or meaningless after creating array mdadm: layout defaults to left-symmetric mdadm: /dev/sdc appears to be part of a raid array: level=container devices=0 ctime=Wed Dec 31 18:00:00 1969 mdadm: layout defaults to left-symmetric mdadm: /dev/sdd appears to be part of a raid array: level=container devices=0 ctime=Wed Dec 31 18:00:00 1969 mdadm: partition table exists on /dev/sdd but will be lost or meaningless after creating array mdadm: size set to 488385408K Continue creating array? ^C 

所以我没有这样做…

我没有想法。 我如何组装这个数组?

好吧,我傻了。 我想到了。

在运行mdadm --assemble --scan来查找和组装容器之后,运行mdadm -I /dev/md/imsm0组装容器内的数组。 D'哦!

 # mdadm --assemble --scan mdadm: Container /dev/md/imsm0 has been assembled with 3 drives # mdadm -I /dev/md/imsm0 mdadm: Started /dev/md/NMWVolume with 3 devices # ls -l /dev/md* brw-rw---- 1 root disk 9, 126 Jan 24 02:22 /dev/md126 brw-rw---- 1 root disk 259, 0 Jan 24 02:22 /dev/md126p1 brw-rw---- 1 root disk 9, 127 Jan 24 02:22 /dev/md127 /dev/md: total 0 lrwxrwxrwx 1 root root 8 Jan 24 02:22 imsm0 -> ../md127 lrwxrwxrwx 1 root root 8 Jan 24 02:22 NMWVolume -> ../md126 

/dev/md126p1有我的RAID5的1TB NTFS卷。