thanks for your effort Neil! sorry for the delay, could not free serious time to do this thoroughly. Ok, I pathced mdadm, did a make after the git, and ended up with a brand new v3.3-55 23-Jan 2014 After the command review I started executing them, but after the creation of the container I had a PSU failure..... long story short, booted again, did the same, and created the 3 device container and gave the following " mdadm: container /dev/md/imsm prepared." after that I tried to create the first raid5 with missing, It gave the message: "mdadm: largest drive (/dev/sdc) exceeds size (536870912K) by more than 1%" but continued creating the array "mdadm: Creating array inside imsm container md127 mdadm: internal bitmaps not supported with imsm metadata" I stopped the md127, re issued the command and got the following: "mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started." so far so good. I examined the array and found the used device to be slightly less than the original raid0 volume: Used Dev Size : 1073741824 (512.00 GiB 549.76 GB) Hoping for the best I created the next raid5 volume, and got the following: "mdadm: cannot open /dev/sdc: Device or resource busy" so I stopped the md0, and re-issued the command for the 2nd L5 volume again. "mdadm: array /dev/md1 started." After examining the array again, I discovered that it did not put it after md0, but created a L5 array at full capacity: Avail Dev Size : 7813775024 (3725.90 GiB 4000.65 GB) Array Size : 11720662272 (11177.69 GiB 12001.96 GB) Used Dev Size : 7813774848 (3725.90 GiB 4000.65 GB) Data Offset : 262144 sectors Super Offset : 8 sectors did an mdstat, but it did not appear to be doing anything, no resync , fortunately "md1 : active raid5 sde[3] sdd[2] sdc[1]" I reset it all again, with only the container again, but I figure that although it did not start a resync, it does not look very promising If you can find a minute and tell me where I went wrong, and if you still think it is worth giving it another try? If all is lost, I have to live with an old partial backup I have, but we gave it a try ;) thanks again, Dennis On Mon, Jan 20, 2014 at 5:51 PM, NeilBrown <neilb@xxxxxxx> wrote: > On Tue, 21 Jan 2014 09:11:44 +1100 NeilBrown <neilb@xxxxxxx> wrote: > >> On Mon, 20 Jan 2014 16:43:38 -0500 den Hoog <speedyden@xxxxxxxxx> wrote: >> >> > Hello Neil, >> > >> > thanks again for spending time on this when you're already swamped, I >> > appreciate it much >> > >> > the commands look logical for my setup (just a type on the chunk size, >> > needs tobe capital K) >> > I did not dare to fire off the last command last time, but as missing >> > seems to be available for imsm, I re-processed all of the commands >> > again >> > >> > the Raid0 is created without any trouble (only stating it is already >> > part of an array, confirmed with Y), but the raid5 array won't. >> > After it also stated sdc sdd sde are part of an array, and confirming >> > with Y for the create, it gives the following: >> > >> > "mdadm: unable to add 'missing' disk to container" >> > I'm using mdadm - v3.2.6 - 25th October 2012. >> > Could it be the 3.2.6 does not support missing for imsm? >> >> That's weird. I'm sure I tested it yesterday and it worked. >> Today it doesn't in exactly the way you describe. >> I'll have a poke and see what is happening. > > OK I think I figured it out. > > Firstly, to create an IMSM array with a missing device, every array in the > container must have the same device missing. > Now you cannot create the RAID0 with a missing device, so you need to create > a RAID5 in it's place instead. > So: > > mdadm -C /dev/md/imsm -e imsm -n 3 /dev/sd[cde] > mdadm -C /dev/md0 -l 5 -n 4 -c 128K -z 512G missing /dev/sd[cde] > > then create the radi5 you want: > > mdadm -C /dev/md1 -l 5 -n 4 -c 128K missing /dev/sd[cde] > > That creates the container with 3 devices, and two 4-device arrays each with > one device missing (every array in a container must have the same number of > devices, and must have the same number that are missing). > > However the above will crash. That is the "secondly". > > You need the following patch, or you can just collect the latest from > git://neil.brown.name/mdadm/ > > NeilBrown > > commit 1ca5c8e0c74946f4fcd74e97c5f48fba482d9596 > Author: NeilBrown <neilb@xxxxxxx> > Date: Tue Jan 21 09:40:02 2014 +1100 > > IMSM: don't crash when creating an array with missing devices. > > 'missing' devices are in a different list so when collection the > serial numbers of all devices we need to check both lists. > > Signed-off-by: NeilBrown <neilb@xxxxxxx> > > diff --git a/super-intel.c b/super-intel.c > index c103ffdd2dd8..f0a7ab5ccc7a 100644 > --- a/super-intel.c > +++ b/super-intel.c > @@ -5210,6 +5210,8 @@ static int create_array(struct supertype *st, int dev_idx) > int idx = get_imsm_disk_idx(dev, i, MAP_X); > > disk = get_imsm_disk(super, idx); > + if (!disk) > + disk = get_imsm_missing(super, idx); > serialcpy(inf[i].serial, disk->serial); > } > append_metadata_update(st, u, len); -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html