Gentoo Archives: gentoo-desktop

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-desktop@l.g.o
Subject: [gentoo-desktop] Re: disk partitioning
Date: Wed, 07 Feb 2007 10:44:17
Message-Id: eqc9vp$it1$
In Reply to: Re: [gentoo-desktop] Re: disk partitioning by Kevin Hanson
Kevin Hanson <tuxpert@×××××××.net> posted 45C92BFC.2020503@×××××××.net,
excerpted below, on  Tue, 06 Feb 2007 19:31:40 -0600:

>> Did you look in to EVMS at all. I am setting up a similar system to >> yours...4 stat disk, linux raid, etc. However, I really wanted to use >> EVMS and am only partially successful. I have, as of now, been able >> to get the EVMS stuff correctly in initrd such that I can complete a >> boot. >> >> Just curious if you'd looked into EVMS at all and if you had any >> thoughts.
> Wow...I didn't type well in the above's supposed to be > 'sata' not 'stat' disk... > And I was trying to say "I have, as of now, NOT been able...."
It seems to be going around. =8^( [I'm adding this after typing the below. It occurs to me I might be discussing everything /except/ what you need. If so, I'm sorry. I'm posting this however, in case it can do /someone/ some good, even if that's not you. Hopefully it helps you too, but if not, after putting all this effort into it, I hope it helps /someone/. =8^) ] I haven't looked into EVMS, no. However, as I understand it, while EVMS and LVM2 were at one time built on different kernel mechanisms, when LVM2 was selected for merging into the mainline kernel (2.5 era I believe, 2002), EVMS decided rather than fight it, to take their already great management tools and make them work with the LVM2 framework as it was merged into the kernel. =8^) Thus, I believe EVMS is now simply what amounts to a GUI front-end to the LVM2 system as it exists in the kernel and lower level command-line tools. If it's not working for you, presumably the issue is that something isn't configured right in the lower level LVM2 layer. Sometimes you just gotta dive in and get your hands dirty at the command line level to most efficiently figure out what's going wrong, and this would appear to be one of those times. You may or may not eventually figure out the issue at the higher level, but once you understand what's going on at the lower level and fix the problem, I'm guessing you should be able to go right back to using your higher level interface for routine work, if so desired. My approach was to take one thing at a time. First I studied RAID and mdadm and got how it worked figured out at least enough to design the system I wanted at that level. Then I did the same with LVM2. Honestly, I was aware of the EVMS thing, but had forgotten the details, and it never occurred to me to try it since I was under the impression that they had lost out (they did with their lower layers, but just took their strengths, the upper layers, and refitted them to the LVM2 framework, actually a rather cool thing to do IMO) and were no longer a mainline Linux project (I was wrong there, since they continued with their GUI front-end, just built on LVM). Actually, I had another thing to learn as well. When I started on Linux using Mandrake, GRUB was far less mature and I learned LILO. When I transferred to Gentoo, I just continued using LILO, for awhile just using the Mandrake executable on Gentoo, even. Since I was setting up an entirely new RAID system anyway, and already learning it and LVM2, I decided it was time to bite the bullet and learn and switch to GRUB as well, so I learned it too. =8^) Then after I actually got an overview of how it all fit together, and had designed my system at that level so I could actually start working with it, I retraced the same steps only this time actually getting the operational detail and putting it into practice as I went. Partitioned RAID in particular, however, never /was/ entirely clear to me, until I started actually doing it. That was mainly because it was new enough that there were tantalizing mentions of it, but not the direct coverage of every aspect of it, both theory and step-by-step, that I was able to get with RAID and LVM2 in general, using mainly the three sources of each ones HOWTO, together with the Gentoo LVM and RAID documentation. Since I already knew I didn't want LVM2 on my root partitions, because that would require the additional complexity of an initramfs and I wanted to retain direct-kernel-boot, I was able to (1) do the physical drive partitioning (no problem, I'd done that many times over the years), (2) create and assemble the RAID-1 for /boot, (3) while still booting from my separate single drive (legacy PATA), play with that until I got the practical knowledge of how to actually get the kernel to see and assemble the RAID, (4) while still booting from the separate disk, figure out how to mkfs the assembled RAID-1, (5) still booting from the separate disk, install the kernel and grub to the new RAID-1, (6) still booting the separate disk, figure out how to get GRUB installed on the physical boot sectors of ALL FOUR physical disks, (7) NOW figure out how to actually boot grub from any of the four, and verify that it actually worked as I intended, (8) get the GRUB config and kernel command line correct to actually get from GRUB into a kernel installed on that RAID-1 /boot. (9) NOW with the RAID-1 working and actually booting to the root on my existing single drive, figure out the partitioned RAID-6 for the root filesystems and LVM2 partition (this started to get easier since now I only had to learn the difference between RAID-1 and RAID-6, and between partitioned and non-partitioned RAID, I already had practical knowledge of working with RAID in general using mdadm), (10) verify that there were indeed no weird tricks to partitioned RAID I hadn't considered, and actually partition the RAID-6 using cfdisk, (11) not yet quite believing it could actually be this simple (but it was), since this hadn't been covered so well in the documentation since partitioned RAID was so new, mkfs the partitioned RAID-6 partitions, (12) mirror my existing root file system off the legacy PATA drive onto the two RAID-6 root partitions, once to each, working and backup, (13) figure out how to get GRUB to point the kernel at these new partitions for its root, (14) actually boot into the new partitions and see that everything so far was working. Only at THAT point did I even START to consider the practical knowledge of the LVM2 stuff. At that point, I had verified working partitioned RAID-6, as I was booting into it as my root filesystem, so I knew at least to that point, everything HAD to be working, since I'd not be able to boot into it if not! Again, the lower complexity of the partitioned RAID for my root filesystems paid off, as I was able to learn, create, and test the individual components to that point, before I even /began/ worrying about how LVM2 fit into all of this. Since I knew I had a basically working RAID system by then, not only was I able to learn and test LVM2 as an entirely separate from the actual boot kernel and the RAID component, but I was under MUCH less stress while doing so, since even if LVM2 didn't work at that point, I knew I could simply fall back to the old partitioning methods I knew so well, and that it couldn't be an issue keeping me from completing setup of a working system. Under those conditions, I reviewed the LVM2 HOWTO I had studied earlier in ordered to figure out how to actually design the thing I had in mind, this time actually doing the physical setup in practice. Again, by this time it was surprisingly easy, as it was just one more layer added to a system I already knew was working, and the HOWTO and Gentoo documentation, both at the Gentoo site and in the sample config file as merged, was actually quite good and very clear. So... if you are having problems, contrasting your approach with mine, I'd have a couple suggestions. (1) Get the EVMS layer out of the way until you actually get the LVM2 layer beneath it working, groking the LVM2 layer better as you go as an added benefit. (2) Even if it's temporary, just to familiarize yourself with how things actually work, consider breaking down the components as I did, separating the RAID from the LVM2, and learning one at a time. Once you know your RAID is working and are at least working comfortable with mdadm or raidtools, /then/ add in the LVM2 layer. Once you are comfortable working with it as a component at that level, either add in the initramfs aspect or the EVMS aspect, but not both at once, and get comfortable working with it. Then and only then, throw in the other, completing the system the way you originally intended. It may also help to get familiar with initramfs on its own, quite apart from the whole RAID/LVM2/EVMS thing. However you are running now, try it there and figure out how the whole initramfs thing works at least to the level you can be fairly confident of tracking down the problem to it if that's where it is, before you worry about the other stuff. That way, you can throw that knowledge you already have into the RAID/LVM2/EVMS mix at the proper time. Of course, if you do this, you'll have already gone where I've not yet tread, since I do NOT have that practical level of knowledge of how initramfs actually works, altho I've read enough to know a bit of the theory. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- gentoo-desktop@g.o mailing list


Subject Author
Re: [gentoo-desktop] Re: disk partitioning Lindsay Haisley <fmouse-gentoo@×××.com>