Skip to contentSkip to conversation

dracut: qestions about mdraid module

DISCUSSION Francis Moreau 3 participants 4 messages Sep 27, 2014 – Oct 21, 2014 3 messages not in the archive

lore
Share & tools
lore
#0 lore raw

Hello,

I'm looking at the module 'mdraid' of dracut (0.38) and was wondering the purpose of rd.md.uuid= parameter.

I understand it can be used to selectively activate the array matching the UUID passed through the parameter but I'm wondering in which cases it can be useful...

Also I don't really understand why dracut try to do its own mechanism to achieve that (by providing its own udev rules which are modified at boot time) whereas mdadm already provide the infrastructure (through mdadm.conf) in a cleaner way (IMHO).

Another question, hopefully you don't mind: dracut provide an udev set of rules in a file named 59-persistent-storage-md.rules. I still don't really see the point since most of the stuff in it seems to already be done by the rule fileudev-md-raid-arrays.rules, shipped by mdadm (3.3.2).

Ah my last question not related to mdraid: why dracut uses stderr to print out all its messages: info, debug, error. Stderr is usually used for error/warning messages only.

Thanks !

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 5 lines · Francis Moreau

Hello,

I'm looking at the module 'mdraid' of dracut (0.38) and was wondering the purpose of rd.md.uuid= parameter.

Quoted 8 lines

I understand it can be used to selectively activate the array matching the UUID passed through the parameter but I'm wondering in which cases it can be useful...

Also I don't really understand why dracut try to do its own mechanism to achieve that (by providing its own udev rules which are modified at boot time) whereas mdadm already provide the infrastructure (through mdadm.conf) in a cleaner way (IMHO).

If mdadm.conf is not included in the initramfs, you want to have a way to prevent automatic assembly of all raids found. With big machines, lots of disk, you only want to assemble those, which you really need.

Quoted 5 lines

Another question, hopefully you don't mind: dracut provide an udev set of rules in a file named 59-persistent-storage-md.rules. I still don't really see the point since most of the stuff in it seems to already be done by the rule fileudev-md-raid-arrays.rules, shipped by mdadm (3.3.2).

That wasn't always the case in all distributions. Nowadays can probably be removed.

Quoted 6 lines

Ah my last question not related to mdraid: why dracut uses stderr to print out all its messages: info, debug, error. Stderr is usually used for error/warning messages only.

Thanks !

Hmm, not true.

    warn() {
        echo "Warning: $*" >&2
    }

    info() {
        echo "$*"
    }

see.. warn() goes to error, info() to stdout.

This is in the initramfs, though.
Or do you mean dracut the tool?

A message that is not in the archive (sent off-list or not yet received): [email protected]

#4 lore raw
Quoted 16 lines · Harald Hoyer
Quoted 5 lines · Francis Moreau

Hello,

I'm looking at the module 'mdraid' of dracut (0.38) and was wondering the purpose of rd.md.uuid= parameter.

Quoted 8 lines

I understand it can be used to selectively activate the array matching the UUID passed through the parameter but I'm wondering in which cases it can be useful...

Also I don't really understand why dracut try to do its own mechanism to achieve that (by providing its own udev rules which are modified at boot time) whereas mdadm already provide the infrastructure (through mdadm.conf) in a cleaner way (IMHO).

Quoted 4 lines

If mdadm.conf is not included in the initramfs, you want to have a way to prevent automatic assembly of all raids found. With big machines, lots of disk, you only want to assemble those, which you really need.

Ok but why mdadm.conf wouldn't be included in the initramfs ? If one doesn't want to start all arrays during the boot process, it's very likely he doesn't start all arrays automatically while the system is running, no ?

Quoted 26 lines
Quoted 5 lines

Another question, hopefully you don't mind: dracut provide an udev set of rules in a file named 59-persistent-storage-md.rules. I still don't really see the point since most of the stuff in it seems to already be done by the rule fileudev-md-raid-arrays.rules, shipped by mdadm (3.3.2).

That wasn't always the case in all distributions. Nowadays can probably be removed.

Quoted 6 lines

Ah my last question not related to mdraid: why dracut uses stderr to print out all its messages: info, debug, error. Stderr is usually used for error/warning messages only.

Thanks !

Hmm, not true.

    warn() {
        echo "Warning: $*" >&2
    }

    info() {
        echo "$*"
    }
Quoted 5 lines

see.. warn() goes to error, info() to stdout.

This is in the initramfs, though.
Or do you mean dracut the tool?

Yes I meant dracut tool used to generate initramfs.

Thanks.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#6 lore raw

В Tue, 21 Oct 2014 14:35:58 +0200
Francis Moreau <[email protected]> пишет:

Quoted 22 lines · Harald Hoyer
Quoted 16 lines · Francis Moreau
Quoted 5 lines

Hello,

I'm looking at the module 'mdraid' of dracut (0.38) and was wondering the purpose of rd.md.uuid= parameter.

Quoted 8 lines

I understand it can be used to selectively activate the array matching the UUID passed through the parameter but I'm wondering in which cases it can be useful...

Also I don't really understand why dracut try to do its own mechanism to achieve that (by providing its own udev rules which are modified at boot time) whereas mdadm already provide the infrastructure (through mdadm.conf) in a cleaner way (IMHO).

Quoted 4 lines

If mdadm.conf is not included in the initramfs, you want to have a way to prevent automatic assembly of all raids found. With big machines, lots of disk, you only want to assemble those, which you really need.

Quoted 5 lines

Ok but why mdadm.conf wouldn't be included in the initramfs ? If one doesn't want to start all arrays during the boot process, it's very likely he doesn't start all arrays automatically while the system is running, no ?

This could be generic initrd that does not include any host-specific mdadm.conf (or any other host specific configuration for that matter).