Howto: implement AMD SB9xx RAID5 support in dmraid
markwillem at hotmail.com
Fri Mar 23 16:52:20 UTC 2012
Dear dmraid developer(s)/maintainer(s),
Since a few weeks I am trying to get my new rig up and running under linux. I run a dual-boot system with Windows 7 and Debian/wheezy. I have installed the OS files on a small SSD and have setup a RAID-5 for the rest of the files. It is a FakeRAID/SATA-RAID which is controlled by the AMD SB950 chip. Unfortunately dmraid does not seem to support this chip in combination with a RAID-5 setup. I would like to implement this, but to do that I need some help and information. The plan is as follows
- Get dmraid working with the dm-raid module.
Dmraid needs a dm-target that support RAID-5. In the past there was a patch for the prior 3.x linux-kernel which added the dm-raid45 module. Now a days there is a module called dm-raid which will provide the same aliases(dm-raid4, dm-raid5) as the dm-raid45 module. How does on check if dmraid can be made compatible with this new module? My first idea was to look at the symbols dm-raid and dm-raid45 export to the user space and which of these symbols are used by dmriad.
- Find the metadata offset for the SB950 chipset.
For this I need not know with which characters the header of the metadata starts? The SB950 seems to contain a Promise controller.
- Interpret the metadata provided on the disks.
>From the setup screen provided by the UEFI driver I can find the stripe size, but in which sequence(ls,rs,la,ra) these stripes are order I do not know, yet. What is the best way to find this sequence? The RAID-5 disk hold a GPT table, maybe one can look at how the header of this table is distributed over the disk to find the stripe sequence.
- Code it in dmraid.
Some of the previous points can be coded separately, so I can also test them separately. But some extra documentation on how dmraid works would speed-up the process.
- [optionally] Implement GPT support.
No idea yet how to do this, but time will tell if I am able to. ;-)
If you can help me with one of the point, I would really appreciate it.
More information about the Ataraid-list