Назад | Перейти на главную страницу

Intel Matrix Storage RAID и Linux mdadm

У меня есть 3-дисковый массив RAID 5, который был настроен под Windows, и я бы хотел, чтобы он работал в Linux с помощью mdadm. Раньше я делал некоторые базовые вещи fakeraid, но это было настроено с помощью утилиты Intel Matrix Storage в BIOS, и она не работает, как я ожидал.

Вот моя настройка диска:

/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/sd[bcd] с участием /dev/md/imsm0 дает ошибку mdadm: not enough devices with space to create array..

Я пытался остановить /dev/md/imsm0 массив и повторно запустить mdadm --create с дисками sd [bcd], и она дает мне следующее:

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 собирает массивы внутри контейнера. Ооо!

# 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 был том NTFS 1 ТБ.