LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   Installing on RAID 1 ICH10R (fake raid) (https://www.linuxquestions.org/questions/slackware-installation-40/installing-on-raid-1-ich10r-fake-raid-727299/)

Fett2 05-20-2009 10:41 AM

Installing on RAID 1 ICH10R (fake raid)
 
Hello,

I'm planning on setting up a RAID 0 (I miss-typed as RAID 1 in the title) and attempting a Slackware install. It's been a few years since I've used Slackware (and linux in general). I have a motherboard with a ICH10R Southbridge which will run raid. I know this isn't a real hardware raid which will pose some difficulties in getting Linux installed.

From reading some forum posts it seems the only way I can get Slackware installed is by using mdadm. Is mdadm already included in Slackware 12.2 (I'm actually going to be attempting to install Slack64 via http://linuxtracker.org/index.php?pa...2182994a9f1e52)

Will I need to do anything special besides running the mdadm tools prior to fdisk?

Sorry for my newbieness. I've never attempted installing linux on RAID before. I'm trying to get a good idea of what I'm going to expect before I buy the hard drives and try it. Seeing as how I haven't purchased the hardware yet buying a real RAID card could be an option, but I'd rather just use the fake raid if possible

H_TeXMeX_H 05-21-2009 09:33 AM

Yeah I think that's all you need to do. See here for more on software RAID:
http://tldp.org/HOWTO/Software-RAID-HOWTO.html

Don't bother too much with a hardware RAID card or any of that stuff, there are no real benefits to that.

mRgOBLIN 05-21-2009 06:57 PM

ftp://ftp.slackware.no/pub/linux/sla...EADME_RAID.TXT

Fake raid is really not worth the trouble. Either use software raid (usually good enough) or buy a proper hardware raid card.

I've never had the need for real hardware raid in anything other than heavily loaded servers with many hard disks.

Fett2 05-21-2009 09:23 PM

Quote:

Originally Posted by mRgOBLIN (Post 3548745)
ftp://ftp.slackware.no/pub/linux/sla...EADME_RAID.TXT

Fake raid is really not worth the trouble. Either use software raid (usually good enough) or buy a proper hardware raid card.

I've never had the need for real hardware raid in anything other than heavily loaded servers with many hard disks.

I'm going to be dual booting and using thd fake raid for Windows. Even if it will take effort I'd still like to use it for Slackware.

Erik_FL 05-21-2009 09:51 PM

Quote:

Originally Posted by Fett2 (Post 3547066)
Hello,

I'm planning on setting up a RAID 0 (I miss-typed as RAID 1 in the title) and attempting a Slackware install. It's been a few years since I've used Slackware (and linux in general). I have a motherboard with a ICH10R Southbridge which will run raid. I know this isn't a real hardware raid which will pose some difficulties in getting Linux installed.

From reading some forum posts it seems the only way I can get Slackware installed is by using mdadm. Is mdadm already included in Slackware 12.2 (I'm actually going to be attempting to install Slack64 via http://linuxtracker.org/index.php?pa...2182994a9f1e52)

Will I need to do anything special besides running the mdadm tools prior to fdisk?

Sorry for my newbieness. I've never attempted installing linux on RAID before. I'm trying to get a good idea of what I'm going to expect before I buy the hard drives and try it. Seeing as how I haven't purchased the hardware yet buying a real RAID card could be an option, but I'd rather just use the fake raid if possible

I am using Slackware with ICH10 "fake RAID 0" on an ASUS P6T motherboard. I use "dmraid" for that. The standard Slackware installation CDs would not work because they didn't include the support for mirror or stripe sets or "dmraid". 12.2 may include support for mirror and stripe sets but it still does not include "dmraid".

I had to create a custom boot CD in order to install Slackware. I also had to build a Slackware kernel and compile "dmraid". I can provide more details and you can find them by looking for my posts here as well. If you decide to try this it will be much easier if you connect one non-RAID disk that you can use. Install Slackware to that disk first, and then use it to create the files to support booting from RAID.

There are basically three choices for doing RAID.
  • Fake hardware RAID
  • Operating System software RAID
  • True Hardware RAID

Fake hardware RAID provides two main advantages. First, one can boot from the RAID array. Second all operating systems can access each other's RAID partitions (if they have drivers). Fake hardware RAID is based on proprietary software and the format of the RAID array depends on the controller (actually the BIOS firmware on the controller). RAID is implemented in software using proprietary drivers written by the manufacturer. Here is where "dmraid" comes in. The "dmraid" program is a Logical Volume Manager configuration program that can understand many proprietary RAID formats (including for ICH10). "dmraid" configures the LVM devices to access the RAID arrays and then has no further involvement in accessing the RAID.

Operating System software RAID has similar performance to "fake hardware" RAID. It uses a RAID format specific to a particular OS, such as Linux or Windows (dynamic disks). Only the operating system that formatted the RAID partitions can access them. Depending on how the RAID array is configured it might not be possible to boot from the RAID array. The advantage to this kind of RAID is that one can use standard hardware and software supported by the OS and install the OS normally. It is possible to combine different disk controllers to create RAID arrays.

True hardware RAID makes each RAID array appear to be one disk (often on a single disk controller). It offloads the work of RAID to the controller instead of the CPU doing I/O transfers to multiple disks. Like "fake hardware" RAID it requires proprietary drivers but they are close to normal disk controller drivers and often included with operating systems. This is the best way to implement RAID if the hardware is supported by the operating systems.

I will briefly describe how I configured Slackware to boot from "fake hardware" RAID on the ICH10.

I created an "initrd" RAM disk image that uses a modified "init" script to run "dmraid". It detects the RAID arrays and then passes control to the kernel. There were a few details so I created a small script to generate the "initrd" file. The changes to the "init" script were minor (only a few lines).

I had to use "grub" since it calls the BIOS that can understand the RAID array format during booting. I created a "grub" boot CD in order to install GRUB.

Since "dmraid" creates long, cryptic device names I created a "udev" rules file to assign more friendly names such as "sdr", "sdr1", etc. I had to create the root device and swap device in the "/dev" directory using a boot CD (while udev was not running) so that they would be present during kernel start-up. That allowed me to consistently use those names in the boot parameters and "fstab".

I compiled "dmraid" and built a kernel that included the stripe and mirror support with the Logical Volume Manager.

One can use "dmraid" to detect RAID arrays like this.

dmraid -ay

The program will create names in the "/dev/mapper" directory. For example:

/dev/mapper/pdc_ffffihj
/dev/mapper/pdc_ffffihj1
/dev/mapper/pdc_ffffihj2
/dev/mapper/pdc_ffffihj5

The numbers at the very end are partition numbers but they don't necessarily correspond to the same minor device ID numbers. You can find the major and minor device ID numbers like this.

ls -l /dev/mapper/*

Note the major and minor device IDs so that you can create udev rules and files under "/dev" for booting. If you use a different kernel than the one where you ran "dmraid" the major number may change, but the minor numbers will be the same.

I had some problems with "dmraid". The version that I used is "1.0.0.rc14 (2006.11.08)". I had problems with other versions not detecting the RAID arrays. Also, I had problems with logical drive partitions in an extended partition. If there is any empty space between the partitions in the extended partition then "dmraid" will not detect partitions following the empty space. To fix that problem I put the swap file at the beginning of my extended partition (in a logical partition) and then used Linux "cfdisk" to re-create the swap partition to use the empty space left by Windows when it created the partition. If you avoid using an extended partition then you won't have the problem.

Another suggestion that I have is to format your Linux partitions using 128-byte inodes instead of the default 256-byte inodes. That will allow other software to access the partitions such as the ext2 driver for Windows.

To format the partition with 128-byte inodes you use a command like this.

mke2fs -j -I 128 /dev/sdr2

Replace the "/dev/sdr2" with the correct device. Also, leave off "-j" if you want ext2 instead of ext3 (ext2 with a journal). Make sure that you don't re-format the partition if you use the Slackware SETUP program.

Here are the special files that you will need.

/boot/grub/menu.lst
Boot menu for grub
/boot/initrd.gz
Init RAM disk image
/root/initrd/makeinitrd
Script to create initrd
/root/initrd/init
Modified version of "init" script for initrd
/dev/sdr2
Root device created before udev runs
/dev/sdr5
Swap device created before udev runs
/etc/udev/rules.d/10-local.rules
Rules to create /dev/sdr devices
/sbin/dmraid
dmraid program compiled for your distro
The "/dev/sdr2" and "/dev/sdr5" are just examples of names. Yours can be different. I just picked "sdr" since it is unlikely to be used by Linux for a scsi disk and is still a standard name. The number corresponds to a partition number so you should use the correct number for your configuration.

There are a few files that I didn't mention. You will need the "grub" bootloader files in "/boot/grub". You will also need the kernel sources and headers in "/usr/src/linux" in order to build the kernel.

I can post the scripts but I believe that I already posted them elsewhere in the forums. The three scripts that you have to edit (or create) are the one for "initrd" to run "dmraid", the script to make the "initrd" image and the "udev" rules file. The "grub" boot menu is essentially standard, but does include the options to use an "initrd" and the "/dev/sdr2" (or whatever) root device.

After you get all the files created using a "normal" hard disk you can copy the files to the RAID array using a boot CD or the Linux OS on the hard disk. Just use the "cp -a" command. I found that a boot CD works better and I can provide you a script to make a boot CD with "dmraid". I did build a different kernel for the boot CD that has "CD" after the kernel version.

Fett2 05-22-2009 10:03 AM

Erik_FL - Thank you for the detailed response. I will search for your scripts in the forums.

Sounds like a fun adventure to get this working.

Erik_FL 05-22-2009 04:29 PM

Quote:

Originally Posted by Fett2 (Post 3549428)
Erik_FL - Thank you for the detailed response. I will search for your scripts in the forums.

Sounds like a fun adventure to get this working.

You're welcome. If you decide to try it, just let me know if you need help. I'll be glad to build a kernel or provide a boot CD with "dmraid".

mRgOBLIN 05-22-2009 06:47 PM

Quote:

Originally Posted by Fett2 (Post 3548835)
I'm going to be dual booting and using thd fake raid for Windows. Even if it will take effort I'd still like to use it for Slackware.

Yes IMHO that's the only valid reason I can think of for using it but you omitted that info from your OP :)

Erik_FL 05-23-2009 10:34 AM

Quote:

Originally Posted by mRgOBLIN (Post 3549797)
Yes IMHO that's the only valid reason I can think of for using it but you omitted that info from your OP :)

LOL. I just wanted to see if I could make it work and I'm too stubborn to give up unless there's no hope.

The first fake RAID that I got working with Linux was a Promise controller and that was much worse. I was starting from scratch. This time I had all of the information and scripts from the other system.

I should also mention that Slackware has improved a lot since then and each release required less changes to work on fake RAID. It was the Slackbook that originally decided me on using Slackware.

If "dmraid" was included on the Slackware installation CD and the kernel includes LVM mirror and stripe support then a custom boot CD would not be required. I consider that more of a suggestion than a complaint. It's hard to make one installation CD that covers every hardware configuration. Slackware has very good support for hardware with the installation CD.

mostlyharmless 05-29-2009 02:29 PM

Quote:

and the kernel includes LVM mirror and stripe support then a custom boot CD would not be required.
First, I'd like to thank you again for your original description of how to setup dmraid etc for your original controller. I set up my Promise controller to dual boot RAID 0 with mirroring off a third IDE drive using your thread; works great. However I didn't have to recompile the kernel. Is that a 12.2 difference from 12.1?

Erik_FL 05-29-2009 09:57 PM

Quote:

Originally Posted by mostlyharmless (Post 3556907)
First, I'd like to thank you again for your original description of how to setup dmraid etc for your original controller. I set up my Promise controller to dual boot RAID 0 with mirroring off a third IDE drive using your thread; works great. However I didn't have to recompile the kernel. Is that a 12.2 difference from 12.1?

Yes, I believe so. The first Slackware version that I got working with RAID was 10.2 and at some point the huge kernel began including device mapper support.

I also found out from someone recently that it is possible to put the files "dmraid" and "libdevmapper.so.1.02" on a floppy and then copy them to the ram disk after booting the standard Slackware Setup CD. Then one can install Slackware without a custom boot CD. The two files have to be created on a Slackware system ahead of time but I don't think that they are extremely dependent on the kernel version or Slackware version.

Slackware continues to impress me by being both reliable and making continual forward progress to new open source software versions. I don't mind waiting a while to get updates because they are always solid when I get them. For me, the most important thing is that an OS works reliably. I'd rather have fewer features that work than a lot of features that haven't quite been perfected yet.

I'm also looking forward to the updated SlackBook. I often recommend that people read it even if they aren't going to use Slackware. It's a very good overview of Linux and provides enough detail to be useful without getting overwhelming. I'm glad that my friend told me about Slackware when I was a n00b because it turned my disdain for "Unix like" operating systems into admiration.

kay27 06-03-2009 03:24 PM

mdadm supports native intel matrix storage arrays from yesterday :) (version 3) I've just tested it with ich9 raid5.

Swift&Smart 02-21-2010 10:02 PM

Give up on fakeraid RAID1
 
Erik_FL, thanks for your detail description on setting up fakeraid on Slackware.

Now, here's my situation. I have a slackware 12.2 server running and bought a "fakeraid" card long time ago. However, it's after I set up the system. So, I guess the raid is not functioning now as I didn't install any driver or else rather than setting up the BIOS raid. I am wondering,, how can I go from this point to fully utilize my raid card to do RAID1?

I will be appreciate it very much if you would like to give me some advice here.

Thanks.

dont_stop_me 03-04-2010 06:07 AM

Boot CD
 
Quote:

Originally Posted by Erik_FL (Post 3549737)
You're welcome. If you decide to try it, just let me know if you need help. I'll be glad to build a kernel or provide a boot CD with "dmraid".

Hi I've read your description I understand the principles, but I dont know, how to make the boot cd. I would appreciate if you could provide mi with a bootdisk image that supported raid lvm an has the udev scripts modified so the Slackware installer wold find my raid partitions. Once booted and the Slackware installed I would be able to install grub and I hope to be able to create the initrd.
(I'm traying to install Slackware 13_64, I copied dmraid to the ramdisk before running setup, listing /dev/mappers/* showed the partitions I needed, cfdisk was able to edit my partition tables. After running setup the raid partitions were not visible, I assume this is why udev is needed)

Erik_FL 03-18-2010 12:16 PM

Quote:

Originally Posted by dont_stop_me (Post 3885325)
Hi I've read your description I understand the principles, but I dont know, how to make the boot cd. I would appreciate if you could provide mi with a bootdisk image that supported raid lvm an has the udev scripts modified so the Slackware installer wold find my raid partitions. Once booted and the Slackware installed I would be able to install grub and I hope to be able to create the initrd.
(I'm traying to install Slackware 13_64, I copied dmraid to the ramdisk before running setup, listing /dev/mappers/* showed the partitions I needed, cfdisk was able to edit my partition tables. After running setup the raid partitions were not visible, I assume this is why udev is needed)

Look at this thread. It has the information about the modified scripts.


Click


I will put a boot CD image and files up on my web site this weekend and post a link.

You can install using the standard Slackware boot CD providing that you have the two files needed to run "dmraid" on a floppy or somewhere that the boot CD can access. You also have to make a simple change to the "setup" script for Slackware to find the RAID partitions during setup.

Look near the end of the thread that I mentioned and I described the change needed to the setup script.


All times are GMT -5. The time now is 12:53 AM.