Avoiding resync of RAID1 during creation
With FC2, when installing a fresh new system we would create a RAID10 array by creating several RAID1s, then adding all of those to a RAID0 array. To make the RAID1 devices, we'd use the command:
/sbin/mkraid --really-force --dangerous-no-resync /dev/mdX
Then we'd set up the RAID0 and mke2fs our filesystems on top of it. This worked well for us, never had any problems later. As soon as the kickstart was finished, the system was ready to go.
Now with FC4, raidtools is gone and I'm left with mdadm tools. As far as I can tell, mdadm has nothing resembling --dangerous-no-resync. I've updated my kickstart to use mdadm instead of mkraid using:
/sbin/mdadm --create /dev/md4 --force --run --level=1 --chunk=256 \ --raid-disks=2 --spare-devices=0 /dev/sda5 /dev/sde5
This causes all of the newly created RAID1 devices to start syncing. On a system with many large disks and RAID1 arrays, syncing takes a considerably long time.
Is there any way to avoid the sync after creation when using mdadm like I could with mkraid?
The compelling argument I've read in the archives indicates this would run counter to ensuring both partitions were completely clean at a block level. I would think creation of the filesystem on top of the array would ensure they're clean, at least on that level for all intents and purposes.
--bryan
Quoted 4 lines · Bryan Wann
Now with FC4, raidtools is gone and I'm left with mdadm tools. As far as I can tell, mdadm has nothing resembling --dangerous-no-resync. I've updated my kickstart to use mdadm instead of mkraid using:
mdadm --assume-clean
from the man page:
It can also be used when creating a RAID1 or RAID10 if you want to avoid the initial resync, however this practice - while normally safe
- is not recommended.
/ tuomas
Quoted 7 lines · Tuomas Leikola
mdadm --assume-clean
from the man page:
It can also be used when creating a RAID1 or RAID10 if you want to avoid the initial resync, however this practice - while normally safe
- is not recommended.
What version of mdadm was that from? From mdadm(8) in mdadm-1.11.0-4.fc4 on my systems:
--assume-clean
Tell mdadm that the array pre-existed and is known to be clean.
This is only really useful for Building RAID1 array. Only use
this if you really know what you are doing. This is currently only supported for --build.
I tried with --assume-clean, it still wanted to sync. From what my man page was telling me, it only works with --build. If I use --build it'll go ahead without syncing, but I need per-device superblocks. Why mdadm didn't error when I used --assume-clean with --create, I don't know.
--bryan
Quoted 5 lines · Bryan Wann
Quoted 2 lines
mdadm --assume-clean
What version of mdadm was that from? From mdadm(8) in mdadm-1.11.0-4.fc4 on my systems:
<cut>
Quoted 1 line
I tried with --assume-clean, it still wanted to sync.
The man page i quoted was from 2.3.1 (6 feb) - relatively new.
I tested this with 2 boxes: 1.9.0 starts the resync and 2.3.1 doesn't. Used kernel 2.6.14 - altough I don't expect that to make much of a difference.
-tuomas