* --detail --export doesn't show all properties
@ 2021-07-05 12:20 BW
[not found] ` <CAOaDVC6yNDOVAvMu4gBuc+sTH50UrXD3z4sODa1NtFsV9SEZ9Q@mail.gmail.com>
0 siblings, 1 reply; 7+ messages in thread
From: BW @ 2021-07-05 12:20 UTC (permalink / raw
To: linux-raid
This is an example of the --export output:
# mdadm --detail --export /dev/md127
MD_DEVICES=3
MD_METADATA=1.2
MD_UUID=70bc1acd:f879f9cd:dca76d79:d9ce624a
MD_DEVNAME=debian:R5
MD_NAME=debian:R5
MD_DEVICE_dev_sdc_ROLE=spare
MD_DEVICE_dev_sdc_DEV=/dev/sdc
MD_DEVICE_dev_sdd_ROLE=spare
MD_DEVICE_dev_sdd_DEV=/dev/sdd
MD_DEVICE_dev_sdb_ROLE=spare
MD_DEVICE_dev_sdb_DEV=/dev/sdb
This is the same command in "normal" format-output:
# mdadm --detail /dev/md127
/dev/md127:
Version : 1.2
Raid Level : raid5
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : debian:R5
UUID : 70bc1acd:f879f9cd:dca76d79:d9ce624a
Events : 358
Number Major Minor RaidDevice
- 8 32 - /dev/sdc
- 8 48 - /dev/sdd
- 8 16 - /dev/sdb
It would be nice if the --export included the properties "Raid Level",
"State", "Persistence" (the first two most important).
Another thing, is it correct that "MD_DEVNAME" and "MD_NAME" should be the same?
Or perhaps "MD_NAME" should show the kernel/Device-Mapper name e.g.
"md127", that would be helpful (by the way, what do you call this mdxx
name?)
Thanks
Brian, Denmark
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
[not found] ` <CAOaDVC6yNDOVAvMu4gBuc+sTH50UrXD3z4sODa1NtFsV9SEZ9Q@mail.gmail.com>
@ 2021-07-07 11:08 ` BW
2021-07-07 22:25 ` NeilBrown
0 siblings, 1 reply; 7+ messages in thread
From: BW @ 2021-07-07 11:08 UTC (permalink / raw
To: Fine Fan; +Cc: linux-raid
I'm using ver. mdadm-4.1-24.3.1.x86_64 / openSUSE kernel 15.3
It's only when the array is active you get a raid-level, if the array
is inactive, as in my example, you will not get the raid-level (and
State, Persistence).
On Tue, Jul 6, 2021 at 11:48 AM Fine Fan <ffan@redhat.com> wrote:
>
> Hi Brain,
>
> I am wondering which version did you use?
> As you requested three items here:
> 1."Raid Level",<<<<<<====== I have the "MD_LEVEL" line in --export output.
> 2."State"
> 3."Persistence"
>
> On my side , I am using :
> [root@Fedroa34Server ~]# cat /etc/redhat-release
> Fedora release 34 (Thirty Four)
> [root@Fedroa34Server ~]# uname -a
> Linux Fedroa34Server.localdomain 5.11.12-300.fc34.x86_64 #1 SMP Wed Apr 7 16:31:13 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
> [root@Fedroa34Server ~]# rpm -q mdadm
> mdadm-4.1-7.fc34.x86_64
> [root@Fedroa34Server ~]#
>
> It has "MD_LEVEL" in the --export output , but the "State" and "Persistence" are not there.
>
> [root@Fedroa34Server ~]# mdadm --detail --export /dev/md126
> MD_LEVEL=raid1 <<<<<<<<<============ I got the MD_LEVEL here.
> MD_DEVICES=2
> MD_CONTAINER=/dev/md/imsm
> MD_MEMBER=0
> MD_UUID=8e3f51e6:d136a0b1:247281c2:ae7f0456
> MD_DEVNAME=Volume0
> MD_DEVICE_ev_sda_ROLE=0
> MD_DEVICE_ev_sda_DEV=/dev/sda
> MD_DEVICE_ev_sdb_ROLE=1
> MD_DEVICE_ev_sdb_DEV=/dev/sdb
>
> [root@Fedroa34Server ~]# mdadm --detail /dev/md126
> /dev/md126:
> Container : /dev/md/imsm, member 0
> Raid Level : raid1
> Array Size : 234428416 (223.57 GiB 240.05 GB)
> Used Dev Size : 234428416 (223.57 GiB 240.05 GB)
> Raid Devices : 2
> Total Devices : 2
>
> State : clean
> Active Devices : 2
> Working Devices : 2
> Failed Devices : 0
> Spare Devices : 0
>
> Consistency Policy : resync
>
>
> UUID : 8e3f51e6:d136a0b1:247281c2:ae7f0456
> Number Major Minor RaidDevice State
> 1 8 0 0 active sync /dev/sda
> 0 8 16 1 active sync /dev/sdb
> [root@Fedroa34Server ~]#
>
>
>
>
>
>
> On Mon, Jul 5, 2021 at 8:21 PM BW <m40636067@gmail.com> wrote:
>>
>> This is an example of the --export output:
>>
>> # mdadm --detail --export /dev/md127
>> MD_DEVICES=3
>> MD_METADATA=1.2
>> MD_UUID=70bc1acd:f879f9cd:dca76d79:d9ce624a
>> MD_DEVNAME=debian:R5
>> MD_NAME=debian:R5
>> MD_DEVICE_dev_sdc_ROLE=spare
>> MD_DEVICE_dev_sdc_DEV=/dev/sdc
>> MD_DEVICE_dev_sdd_ROLE=spare
>> MD_DEVICE_dev_sdd_DEV=/dev/sdd
>> MD_DEVICE_dev_sdb_ROLE=spare
>> MD_DEVICE_dev_sdb_DEV=/dev/sdb
>>
>> This is the same command in "normal" format-output:
>>
>> # mdadm --detail /dev/md127
>> /dev/md127:
>> Version : 1.2
>> Raid Level : raid5
>> Total Devices : 3
>> Persistence : Superblock is persistent
>> State : inactive
>> Working Devices : 3
>> Name : debian:R5
>> UUID : 70bc1acd:f879f9cd:dca76d79:d9ce624a
>> Events : 358
>> Number Major Minor RaidDevice
>> - 8 32 - /dev/sdc
>> - 8 48 - /dev/sdd
>> - 8 16 - /dev/sdb
>>
>>
>> It would be nice if the --export included the properties "Raid Level",
>> "State", "Persistence" (the first two most important).
>>
>> Another thing, is it correct that "MD_DEVNAME" and "MD_NAME" should be the same?
>> Or perhaps "MD_NAME" should show the kernel/Device-Mapper name e.g.
>> "md127", that would be helpful (by the way, what do you call this mdxx
>> name?)
>>
>> Thanks
>> Brian, Denmark
>>
>
>
> --
>
>
>
>
> Fine Fan
>
> Kernel Storage QE
>
> ffan@redhat.com
>
> T: 8388117
> M: (+86)-15901470329
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
2021-07-07 11:08 ` BW
@ 2021-07-07 22:25 ` NeilBrown
2021-07-08 5:18 ` BW
0 siblings, 1 reply; 7+ messages in thread
From: NeilBrown @ 2021-07-07 22:25 UTC (permalink / raw
To: BW; +Cc: Fine Fan, linux-raid
On Wed, 07 Jul 2021, BW wrote:
> I'm using ver. mdadm-4.1-24.3.1.x86_64 / openSUSE kernel 15.3
>
> It's only when the array is active you get a raid-level, if the array
> is inactive, as in my example, you will not get the raid-level (and
> State, Persistence).
>
Yes, that is correct.
When the array is inactive, it is not an active array. It has no level
or state. It is just a bunch of drives.
If you want to see what might happen when you activate the array, you
need to --examine the indiividual drives.
NeilBrown
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
2021-07-07 22:25 ` NeilBrown
@ 2021-07-08 5:18 ` BW
2021-07-08 23:52 ` NeilBrown
0 siblings, 1 reply; 7+ messages in thread
From: BW @ 2021-07-08 5:18 UTC (permalink / raw
To: NeilBrown; +Cc: Fine Fan, linux-raid
1: Just because the array is inactive doesn't mean the information is
not valuable, actually it's even more, as your most likely needs your
attention
2: The information is available and is printed when not doing --export
3: I'm aware of --examine, but why use it when the kernel already read
the superblocks when the disks were initialize, the information is
already there
In my view I don't see any argument for not including the raid level
etc. when the raid is inactive.
I'm building a administration-system where the use of --export is very
handy. I can do work-around calling additional commands to get the
info, but it would be nice if --export just provided the information
in the first place.
On Thu, Jul 8, 2021 at 12:25 AM NeilBrown <neilb@suse.de> wrote:
>
> On Wed, 07 Jul 2021, BW wrote:
> > I'm using ver. mdadm-4.1-24.3.1.x86_64 / openSUSE kernel 15.3
> >
> > It's only when the array is active you get a raid-level, if the array
> > is inactive, as in my example, you will not get the raid-level (and
> > State, Persistence).
> >
>
> Yes, that is correct.
> When the array is inactive, it is not an active array. It has no level
> or state. It is just a bunch of drives.
>
> If you want to see what might happen when you activate the array, you
> need to --examine the indiividual drives.
>
> NeilBrown
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
2021-07-08 5:18 ` BW
@ 2021-07-08 23:52 ` NeilBrown
2021-07-09 6:00 ` BW
0 siblings, 1 reply; 7+ messages in thread
From: NeilBrown @ 2021-07-08 23:52 UTC (permalink / raw
To: BW; +Cc: Fine Fan, linux-raid
On Thu, 08 Jul 2021, BW wrote:
> 1: Just because the array is inactive doesn't mean the information is
> not valuable, actually it's even more, as your most likely needs your
> attention
> 2: The information is available and is printed when not doing --export
Ahh... I missed that. My memory is that when the array is inactive, the
md driver really don't know anything about the array. It doesn't find
out until it reads the metadata, and it does that as it activates the
array.
But looking at your sample output I see does, as you say, give a raid
level for an inactive array.
But looking at the code, it should do exactly the same thing for
--export, and --brief, and normal.
It determines the raid level:
if (inactive && info)
str = map_num(pers, info->array.level);
else
str = map_num(pers, array.level);
and then report 'str' in all 3 cases (possibly substituting "-unknown-"
or "container" for NULL) providing that array.raid_disks is non-zero -
which it is in your example.
So I cannot see how you would get the results that you report.
Do you know how you got the array in this inactive state? I could then
experiment and see if I can reproduce your result.
NeilBrown
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
2021-07-08 23:52 ` NeilBrown
@ 2021-07-09 6:00 ` BW
2021-07-09 6:13 ` NeilBrown
0 siblings, 1 reply; 7+ messages in thread
From: BW @ 2021-07-09 6:00 UTC (permalink / raw
To: NeilBrown; +Cc: Fine Fan, linux-raid
It was a 4-drive RAID5 array missing one drive completely.
But I expected is was an easy thing to fix as "mdadm --detail
/dev/md1xxx" will show the details fine (out of the same information
in memory). But if it's not, maybe just make a note about it and move
on with more important things. I wouldn't be surprised if I'm the only
one ever needing this feature. And I already implemented a work-around
in my storage-management-system be getting the RAID level etc. from
/proc/mdstat first. A pain to serialize of course but it works now.
On Fri, Jul 9, 2021 at 1:52 AM NeilBrown <neilb@suse.de> wrote:
>
> On Thu, 08 Jul 2021, BW wrote:
> > 1: Just because the array is inactive doesn't mean the information is
> > not valuable, actually it's even more, as your most likely needs your
> > attention
> > 2: The information is available and is printed when not doing --export
>
> Ahh... I missed that. My memory is that when the array is inactive, the
> md driver really don't know anything about the array. It doesn't find
> out until it reads the metadata, and it does that as it activates the
> array.
> But looking at your sample output I see does, as you say, give a raid
> level for an inactive array.
>
> But looking at the code, it should do exactly the same thing for
> --export, and --brief, and normal.
> It determines the raid level:
>
> if (inactive && info)
> str = map_num(pers, info->array.level);
> else
> str = map_num(pers, array.level);
>
> and then report 'str' in all 3 cases (possibly substituting "-unknown-"
> or "container" for NULL) providing that array.raid_disks is non-zero -
> which it is in your example.
> So I cannot see how you would get the results that you report.
>
> Do you know how you got the array in this inactive state? I could then
> experiment and see if I can reproduce your result.
>
> NeilBrown
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: --detail --export doesn't show all properties
2021-07-09 6:00 ` BW
@ 2021-07-09 6:13 ` NeilBrown
0 siblings, 0 replies; 7+ messages in thread
From: NeilBrown @ 2021-07-09 6:13 UTC (permalink / raw
To: BW; +Cc: Fine Fan, linux-raid
On Fri, 09 Jul 2021, BW wrote:
> It was a 4-drive RAID5 array missing one drive completely.
That shouldn't result in the array not assembling.... though I guess
that depends on how it was assembled.
Do you know how it was assembled?
>
> But I expected is was an easy thing to fix as "mdadm --detail
> /dev/md1xxx" will show the details fine (out of the same information
> in memory). But if it's not, maybe just make a note about it and move
> on with more important things. I wouldn't be surprised if I'm the only
> one ever needing this feature. And I already implemented a work-around
> in my storage-management-system be getting the RAID level etc. from
> /proc/mdstat first. A pain to serialize of course but it works now.
It probably is easy to fix, once it is understood. I want to understand
it. I need to be able to reproduce it.
NeilBrown
>
> On Fri, Jul 9, 2021 at 1:52 AM NeilBrown <neilb@suse.de> wrote:
> >
> > On Thu, 08 Jul 2021, BW wrote:
> > > 1: Just because the array is inactive doesn't mean the information is
> > > not valuable, actually it's even more, as your most likely needs your
> > > attention
> > > 2: The information is available and is printed when not doing --export
> >
> > Ahh... I missed that. My memory is that when the array is inactive, the
> > md driver really don't know anything about the array. It doesn't find
> > out until it reads the metadata, and it does that as it activates the
> > array.
> > But looking at your sample output I see does, as you say, give a raid
> > level for an inactive array.
> >
> > But looking at the code, it should do exactly the same thing for
> > --export, and --brief, and normal.
> > It determines the raid level:
> >
> > if (inactive && info)
> > str = map_num(pers, info->array.level);
> > else
> > str = map_num(pers, array.level);
> >
> > and then report 'str' in all 3 cases (possibly substituting "-unknown-"
> > or "container" for NULL) providing that array.raid_disks is non-zero -
> > which it is in your example.
> > So I cannot see how you would get the results that you report.
> >
> > Do you know how you got the array in this inactive state? I could then
> > experiment and see if I can reproduce your result.
> >
> > NeilBrown
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-07-09 6:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-05 12:20 --detail --export doesn't show all properties BW
[not found] ` <CAOaDVC6yNDOVAvMu4gBuc+sTH50UrXD3z4sODa1NtFsV9SEZ9Q@mail.gmail.com>
2021-07-07 11:08 ` BW
2021-07-07 22:25 ` NeilBrown
2021-07-08 5:18 ` BW
2021-07-08 23:52 ` NeilBrown
2021-07-09 6:00 ` BW
2021-07-09 6:13 ` NeilBrown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.