I think I am getting really close, now. I have figured out how to
create the array with a missing drive, but there remains at least one
issue. No matter what I have triedm instead of assembling the array
with the first drive as the first member of the array the second drive
as the second member, etc, it assembles the array with the fourth drive
as the first member, then the third, etc. I know this is wrong, because
fdisk does not see the partition on the array, but it does on the first
drive.
On 1/31/2019 4:40 AM, Leslie Rhorer wrote:
OK, I think I am even closer still, but not yet. I found the
--layout= parameter which can take the values: ddf-zero-restart,
ddf-N-restart, and ddf-N-continue, and I am pretty sure this needs to
be issued against the RAID array itself, not the container. I am
still not sure which of the layout parameters should be employed, but
there seems to be a bigger issue. The array needs to have a missing
(4th) member, but I can't get this to work:
RAID-Server:/RAID/Server-Main/Temp# mdadm --create /dev/md70
/dev/loop[0-2] missing --raid-devices 4 --metadata=ddf
...
mdadm: This level does not support missing devices
RAID-Server:/RAID/Server-Main/Temp# mdadm --create /dev/md70
/dev/loop[0-2] -n 4 --metadata=ddf
mdadm: You haven't given enough devices (real or missing) to create
this array
RAID-Server:/RAID/Server-Main/Temp# mdadm --create /dev/md70
/dev/loop[0-2] -n 3 --metadata=ddf
...
mdadm: container /dev/md70 prepared.
RAID-Server:/RAID/Server-Main/Temp# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md70 : inactive loop2[2](S) loop1[1](S) loop0[0](S)
98304 blocks super external:ddf
RAID-Server:/RAID/Server-Main/Temp# mdadm --create /dev/md7 /dev/md70
missing -n 4 -l 5 -p ddf-N-restart
mdadm: You haven't given enough devices (real or missing) to create
this array
I don't know what to try next. If I specify --raid-devices=3 for
the array, it will take it to be a 2 drive + parity array, not a 3
drive + 1 missing with parity array. Is there a way to add a missing
drive to the DDF container? Is there a way to create the DDF
container with a 4th (phantom) drive and then delete the drive?
On 1/30/2019 8:37 PM, Leslie Rhorer wrote:
I did some research, and I think I am getting a bit closer. The
information is a bit cryptic, but if I understand correctly, first I
need to set up a DDF Container. I think the command should be:
mdadm --create /dev/md70 /dev/loop[0-2] missing --raid-devices 4
--metadata=ddf-????
I'm not sure what the metadata parameter should be, however, or
how to find out. The MAN page only lists ddf as a proper metadata
style. The superblock is definitely at the end of the RAID members.
To me this suggests a V0.9 or 1.0 superblock. Mdadm reports version
01.00.00, but that is a different format from the my v1.2 arrays.
Then as I understand it, I need to create a member array:
mdadm --create /dev/md7 /dev/md70 --raid-devices 4 --level 5
--chunk=512(?)
I think the chunk size should be 512, right? Mdadm reports the
chunk size to be 1024 sectors, but the sectors are 512 bytes, so 1024
sectors would be 512KB. Should the chunk size be specified for the
container, as well, or perhaps only the container?