[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH] Changes for using md on top isw format for F12



Hi,

On 06/11/2009 07:54 PM, Dan Williams wrote:
Hans de Goede wrote:
Can you please make a list with what else needs to be done
besides these anaconda patches to get the iswmd support
in a testable condition.

Here are the pieces that remain unresolved upstream based on the
experience of setting up my Fedora MythTV box to boot off of Intel(R)
Matrix raid1:


Very useful list, thanks Dan!


1/ initramfs: I am currently cheating by using "mdadm -As" to assemble
the array in the initramfs environment, and ignoring whether raid is
enabled in the bios. For dracut, assuming dracut is the initramfs
solution in F12, this needs to be an automatic assembly as disks are
discovered. The trick will be detecting when it is safe to permit
degraded assembly without adding unnecessary stalls to the non-raid boot
path. I have done some initial investigations in this area, but got
sidetracked.

After the rootfs is mounted, but before calling init, I specify a
command like the following to restart mdmon in the new namespace "mdmon
/proc/mdstat /sysroot" Where the /proc/mdstat parameter tells mdmon to
monitor all active container devices and the /sysroot parameter tells
mdmon to terminiate any other instances in the current namespace and
chroot to /sysroot.

Mdmon mildly complains at this point that it cannot write its pid file
or control socket to /var/run/mdadm. However, it polls /proc/mounts
waiting for the remount-rootfs-rw event. Once it sees that occur it will
drop a control socket and pid file. Sending SIGHUP has the same effect.

2/ sysvinit-tools: I am using a modified killall5 binary that borrows
from the Debian version. This version allows some pids to be omitted
from the killall. This is needed to maintain mdmon across the
remount-rootfs-ro event. We need mdmon alive across this event to handle
the final dirty-to-clean transition of the array.

3/ initscripts: With the modified killall5 in hand the halt script is
modified to pick up mdmon pids from /var/run/mdadm and specify them to
be omitted. Once all process are stopped and the rootfs is read-only the
script calls "mdadm --wait-clean --scan" to trigger and wait for all
external metadata arrrays to be marked clean. For native md arrays
--wait-clean returns immediately as the kernel handles this final
metadata update.

A few more details on these new parameters (--detail-platform,
--wait-clean, mdmon, etc) can be found in the mdadm and mdmon man pages
for mdadm-3.0. It goes without saying that any helpful feedback on those
man pages is more than welcome.

Regards,
Dan

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list redhat com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]