linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* HELP - need more documentation on using partitioned (mdp-type) md devices
@ 2002-11-05  4:03 Vinnie
  2002-11-05  4:33 ` Neil Brown
  0 siblings, 1 reply; 4+ messages in thread
From: Vinnie @ 2002-11-05  4:03 UTC (permalink / raw)
  To: Linux Raid List

Hello all,

I am gradually getting through the process of setting up a partitioned 
RAID1 array, but having quite a time with it.

I applied Neil Brown's md-partitioning patches to my 2.4.18 kernel, and 
embarked on the journey.

I'm trying to get a pair of 40GB ATA100 IDE drives to work as a bootable
RAID1 array, as an mdp-type md device.

I'm actually getting pretty close now, I just can't get LILO (22.3.2) to 
write the boot sector to the array drives, pretty much any way I try to 
do it.

I'm not running /dev file system, since I've never been able to get that 
to work with my Red hat systems (though it seems like it would be really 
neat, if my systems wouldn't lock up after compiling a kernel with that 
feature enabled.  Are you supposed to delete all the entries in /dev, 
leaving just the /dev mount point, and let the kernel fill in the 
entries for you?).

So I had to manually create the devices.  I'll spare all the gruesome 
details of incorrect device names made along the way, experimenting with 
major and minor device numbers, etc.

Here's what I have under my /dev device tree for md-type entries:
(The first group, /dev/mdXX, were already there, I had to create the
rest by hand.  Well... by script... ;)

Can somebody who actually has this working (particularly if you were 
able to get LILO to write a boot record to the drives somehow) take a 
look at this list of devices and let me know what else needs to be 
listed under /dev?  From reading Neil's posts on the list, I may need 
md0p1 - md0p15 devices, etc., but not sure whether I should use major 9 
or major 60 for these.

MAIN md DEVICE NUMBERS
PERMS 
  UID	GID	MAJOR# 
MINOR# 
DEVICE
=================================================
brw-rw-- root	disk	9	0	/dev/md0
brw-rw-- root	disk	9	1	/dev/md1
...
brw-rw-- root	disk	9	31	/dev/md31

PARTITIONED MD DEVICES --
ASSIGNED sdX/hdX-STYLE DEVICE ID'S AND PARTITION #'S BY THE KERNEL WHEN 
THE md DEVICE STARTS - USE THIS DEVICE ID (/dev/mda, /dev/mdb) IN FDISK
(I had to make these by hand -- a 'cat /proc/devices' showed the device 
major number to be 60 for the mdp device on this machine)
PERMS 
  UID	GID	MAJOR# 
MINOR# 
DEVICE
=================================================
brw-rw-- root	disk	60	0	/dev/mda
brw-rw-- root	disk	60	1	/dev/mda1
...
brw-rw-- root	disk	60	15	/dev/mda15

(you would also need a set of /dev/mdb device numbers if you had a 
second partitioned md device, but I only have an mda right now):
PERMS 
  UID	GID	MAJOR# 
MINOR# 
DEVICE
=================================================
brw-rw-- root	disk	60	16	/dev/mdb
brw-rw-- root	disk	60	17	/dev/mdb1
...
brw-rw-- root	disk	60	31	/dev/mdb15

MDP-TYPE DEVICE AND PARTITION NUMBERS
I was starting to think I wouldn't need these until I actually got ext3 
filesystems created on the partitions, and booted up with these 
filesystems listed in /etc/fstab - journald apparently looks for these 
device names when starting the journals, per dmesg output.  But notice 
that the major and minor numbers are the same as used in the mdaXX 
devices above.
PERMS 
  UID	GID	MAJOR# 
MINOR# 
DEVICE
=================================================
brw-rw-- root	disk	60	0	/dev/mdp0
brw-rw-- root	disk	60	1	/dev/mdp0p1
...
brw-rw-- root	disk	60	15	/dev/mdp0p15

this would be for a 2nd partitioned md device, like mdb above:
brw-rw-- root	disk	60	16	/dev/mdp1
brw-rw-- root	disk	60	17	/dev/mdp1p1
...
brw-rw-- root	disk	60	31	/dev/mdp1p15


INTERESTING OBSERVATIONS SO FAR
1. Once you create the raid device ('mkraid /dev/md0') or otherwise 
start it, it is interesting that the drive geometry displays differently 
depending on whether you start fdisk with /dev/md0 or /dev/mda.   I 
finally realized that 'fdisk /dev/mda' is the logical way to do it, 
since the C/H/S displayed matches what the kernel sees the geometry to 
be on the pair of actual drives when the EIDE driver initializes.  But 
if you try to view a partition table you created under one device name, 
from the other device name, you'll probably see error messages about the 
partitions not ending on cylinder boundaries.  Creating the partition 
table with /dev/mda as the device name to launch with made the most 
sense, assuming the OS/kernel will talk to this drive as /dev/mda, and 
ext3 seems to like it just fine.


UP TO THIS POINT
By using an 'md=0,/dev/hde,/dev/hdg' added to the Grub command line for 
the kernel, the RAID1 array starts fine, and it will mount all the ext3 
filesystems I created partitions for on the mda device (since I have 
them all in /etc/fstab now, under a /ideraid mount point off the root fs 
on the main storage for the machine).

I did not have any luck with changing the partition types to FD for 
autodetection (it kept complaining about invalid superblocks) and was 
glad to find a good commandline example of manually specifying your md 
arrays on the kernel cmdline, in a previous post to the list.


PROBLEMS I CAN'T FIGURE OUT (HELP!!!)

LILO NOT COOPERATING
LILO 22.3.2 doesn't seem to like /dev/md0 as the boot= and disk= device. 
  Or /dev/mda, or /dev/mdp0 either.  I can specify /dev/hde or /dev/hdg 
(the actual IDE drives the RAID1 array is made of), but LILO won't 
consider it a RAID device in that case, and I didn't think you were 
supposed to try to write directly to a RAID member device by it's 
"direct name".

I also tried specifying /dev/mda1 (what will be the new /boot partition, 
marked bootable in partition table), but it still says 'Fatal: Not a 
partition name; no digits at the end'.

Currently the md0/mda partitioned RAID1 array is an add-on - I am using 
a large external SCSI-to-ATA100 RAID subsystem, which has a giant RAID5 
array presented as one big drive with 3 partitions - /dev/sda1 (/boot), 
/dev/sda2 (/), and /dev/sda3 (swap).  I'm trying to get everything moved 
over to this RAID1 pair of drives, but I want to make sure I can BOOT 
from the RAID1 md0/mda pair before I actually move everything over.  So 
in the meantime, I have a mountpoint on the main root fs called 
/ideraid, which is how I have mounted all the partitions of the md0/mda 
RAID1 array to experiment with.

If anybody (Neil?) can offer some advice on how to get LILO to write a 
boot sector to the RAID1 array pair, it would be greatly appreciated.  I 
am so close to getting this working!!!

I'm tempted to try stopping the md0 raid device, and fixing up lilo.conf 
to install LILO on /dev/hde (disk=/dev/hde and boot=/dev/hde), then 
start the array again and see if it can just sync the MBR/boot record 
from one drive to the other.

thanks,
vinnie


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HELP - need more documentation on using partitioned (mdp-type) md devices
  2002-11-05  4:03 HELP - need more documentation on using partitioned (mdp-type) md devices Vinnie
@ 2002-11-05  4:33 ` Neil Brown
  2002-11-05  5:59   ` Vinnie
       [not found]   ` <3DC74C44.7090101@lvwnet.com>
  0 siblings, 2 replies; 4+ messages in thread
From: Neil Brown @ 2002-11-05  4:33 UTC (permalink / raw)
  To: Vinnie; +Cc: Linux Raid List

On Monday November 4, listacct1@lvwnet.com wrote:
> 
> If anybody (Neil?) can offer some advice on how to get LILO to write a 
> boot sector to the RAID1 array pair, it would be greatly appreciated.  I 
> am so close to getting this working!!!
> 

First, lilo thinks it knows what "/dev/md*" means, and gets all
confused when it turns out to be different.
So create device names that *don't* start /dev/md.
e.g.
   /dev/MDa == 60,0
   /dev/MDa1 == 60,1
   etc

Second, you have to tell lilo about the geometry of /dev/MD*, because
it doesn't know:

   boot=/dev/MDa
   disk=/dev/MDa
     bios=0x80
     sectors=63
     heads=255
     cylinders=1024
     partitions=/dev/MDa1
      start=63

The "start" is very important.  check what the start sector of MDa1
is, and use that.

Lilo should then work.

NeilBrown

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HELP - need more documentation on using partitioned (mdp-type) md devices
  2002-11-05  4:33 ` Neil Brown
@ 2002-11-05  5:59   ` Vinnie
       [not found]   ` <3DC74C44.7090101@lvwnet.com>
  1 sibling, 0 replies; 4+ messages in thread
From: Vinnie @ 2002-11-05  5:59 UTC (permalink / raw)
  To: Linux Raid List

Neil Brown wrote:

 > On Monday November 4, listacct1@lvwnet.com wrote:
 >
 >>If anybody (Neil?) can offer some advice on how to get LILO to write a
 >>boot sector to the RAID1 array pair, it would be greatly appreciated.  I
 >>am so close to getting this working!!!
 >>
 >>
 >
 > First, lilo thinks it knows what "/dev/md*" means, and gets all
 > confused when it turns out to be different.
 > So create device names that *don't* start /dev/md.
 > e.g.
 >    /dev/MDa == 60,0
 >    /dev/MDa1 == 60,1
 >    etc
 >
 > Second, you have to tell lilo about the geometry of /dev/MD*, because
 > it doesn't know:
 >
 >    boot=/dev/MDa
 >    disk=/dev/MDa
 >      bios=0x80
 >      sectors=63
 >      heads=255
 >      cylinders=1024
 >      partitions=/dev/MDa1
 >       start=63
 >
 > The "start" is very important.  check what the start sector of MDa1
 > is, and use that.
 >
 > Lilo should then work.
 >
 > NeilBrown


thanks Neil!  Getting ready to try this out.  This looks really
promising, makes a lot of sense.

Vince






^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: HELP - need more documentation on using partitioned (mdp-type) md devices
       [not found]   ` <3DC74C44.7090101@lvwnet.com>
@ 2002-11-05  6:07     ` Vinnie
  0 siblings, 0 replies; 4+ messages in thread
From: Vinnie @ 2002-11-05  6:07 UTC (permalink / raw)
  To: Linux Raid List; +Cc: Neil Brown

Hi Neil!

Thanks for your help.  That did the trick!

I did have to change the partitions= to partition=, I didn't know any 
better but LILO did! ;)

Also once I got a successful LILO install (I did a -t -v first), and 
booted up, I got an error from LILO stating "EBDA Too Big".

I looked up EBDA in the README's and it says it is a thing that happens
sometimes with MultiProcessor motherboards, and suggested building LILO
with the LARGE_EBDA option.  I thought I'd try out just using the
'compact' statement in lilo.conf first, and that was enough to do it, I
got booted up successfully!

My test case told the kernel that the root fs was on the original 
external RAID subsystem, so really all I was testing was that I could 
actually boot from the RAID1 pair of IDE disks created with the 
partitioned md device.  Should be able to proceed on now to copying all 
files over to the filesystems on the RAID1 pair, so I can pull this 
external RAID subsystem offline and reconfigure it.

Thanks again Neil!  Couldn't have done it without your help!  Well, not 
in the next week or so, probably... ;)

vince


Vinnie wrote:

> Neil Brown wrote:
> 
>> On Monday November 4, listacct1@lvwnet.com wrote:
>>
>>> If anybody (Neil?) can offer some advice on how to get LILO to write 
>>> a boot sector to the RAID1 array pair, it would be greatly 
>>> appreciated.  I am so close to getting this working!!!
>>>
>>>
>>
>> First, lilo thinks it knows what "/dev/md*" means, and gets all
>> confused when it turns out to be different.
>> So create device names that *don't* start /dev/md.
>> e.g.
>>    /dev/MDa == 60,0
>>    /dev/MDa1 == 60,1
>>    etc
>>
>> Second, you have to tell lilo about the geometry of /dev/MD*, because
>> it doesn't know:
>>
>>    boot=/dev/MDa
>>    disk=/dev/MDa
>>      bios=0x80
>>      sectors=63
>>      heads=255
>>      cylinders=1024
>>      partitions=/dev/MDa1
>>       start=63
>>
>> The "start" is very important.  check what the start sector of MDa1
>> is, and use that.
>>
>> Lilo should then work.
>>
>> NeilBrown
> 
> 
> 
> thanks Neil!  Getting ready to try this out.  This looks really 
> promising, makes a lot of sense.
> 
> Vince
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-11-05  6:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-05  4:03 HELP - need more documentation on using partitioned (mdp-type) md devices Vinnie
2002-11-05  4:33 ` Neil Brown
2002-11-05  5:59   ` Vinnie
     [not found]   ` <3DC74C44.7090101@lvwnet.com>
2002-11-05  6:07     ` Vinnie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).