Differences between revisions 13 and 25 (spanning 12 versions)
Revision 13 as of 2005-04-25 04:52:45
Size: 2442
Editor: anonymous
Comment:
Revision 25 as of 2020-04-07 07:48:16
Size: 4599
Editor: ?ctaas
Comment: remove deprecated Link: http://www.tldp.org/HOWTO/RAID-HOWTO/ and added new link to a detailed howto (in German).
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Auto-converted by kwiki2moinmoin v2005-10-07
There needs to be a method to install Debian onto a software RAID
mirror. This has been lacking for years it seems. Others have
figured it out, why hasn't Debian?
## page was renamed from DebianInstallerSoftwareRaidRoot
#language en
Line 6: Line 4:
Tools like mdadm and raidtools2 are out there. However the current
kernel-images don't even support having "/" on a ["RAID1"] mirror.
Lenny (5.0) and later support having the root and {{{/boot}}} partition on RAID volume. Actually, you can have root on RAID1+LVM partition.

This page contains some screenshots to demonstrate it, and applies to Debian 5.0 through, at least, 8.0.

== Root on software RAID+LVM ==
In this example, we use virtual machine ([[QEMU|qemu]] or [[KVM|kvm]])... we can play, and break them ;-)
 {{{
$ sudo apt-get install kvm

$ qemu-img create -f qcow2 hda.qcow2 4G
Formatting 'hda.qcow2', fmt=qcow2, size=4194304 kB

$ qemu-img create -f qcow2 hdb.qcow2 4G
Formatting 'hdb.qcow2', fmt=qcow2, size=4194304 kB

$ kvm -hda hda.qcow2 -hdb hdb.qcow2 -cdrom debian-lenny-i386-netinst.iso -boot d
}}}

Of course, you need to download a cdrom image.

==== Root on RAID+LVM example ====
Those few screenshots show how to install root on lvm on raid :

Once you have reach DebianInstaller partitioning screen...

Choose manual partitioning, then on each disk, manually create a partition (same size on both disks).

===== Create partitions for RAID =====
 * {{{Use as "Physical volume for Raid"}}} : <<BR>> {{attachment:00.gif}}

===== Configure RAID =====
 * We have a raid partition on each disk: <<BR>> {{attachment:01.gif}}
 * Choose the type of multidisk device to be created: <<BR>> {{attachment:02.gif}}
 * We have two partition: <<BR>> {{attachment:03.gif}}
 * (In this example, we have no spare partition).
 * Let's select the partitions to use: <<BR>> {{attachment:04.gif}}
 * That's it ! <<BR>> {{attachment:05.gif}}

===== Configure LVM =====
 * Let's configure the Logical volume manager: <<BR>> {{attachment:06.gif}}
 * First create a volume group: <<BR>> {{attachment:07.gif}}
 * Here, I chose the name ''vg1'' for the group: <<BR>> {{attachment:08.gif}}
 * We have only one raid device: <<BR>> {{attachment:09.gif}}
 * Let's create the ''logical volume'' (kind pf partitions): <<BR>> {{attachment:10.gif}}
 * Our Logical volume (LV) will use some disk space from ''vg1'' (which belongs to ''md0''): <<BR>> {{attachment:11.gif}}
 * I named my partition ''foobar_root'': <<BR>> {{attachment:12.gif}}
 * In this example, we wont split the filesystem (we won't even bother to create a swap, which is a bad idea), so I use all the disk space. (which again isn't a good idea, since it's so easy ro resize a partition with LVM) <<BR>> {{attachment:13.gif}}
 * Finish: <<BR>> {{attachment:14.gif}}

===== Use the LVM volumes =====
 * Let's assign and format the volumes (''partitions''): <<BR>> {{attachment:15.gif}}
 * As usually... <<BR>> {{attachment:16.gif}}
 * Done! <<BR>> {{attachment:17.gif}}

===== Install the bootloader (GRUB) =====
In Jessie (8.0), and I believe Wheezy (7.0), the installer will install [[Grub|GRUB]] even on RAID installs. However, GRUB can not install to a RAID device (e.g., `/dev/md0`), but will nonetheless work fine.
 * When asked to install bootloader, install to first device: <<BR>>{{attachment:grub-install_sda.png}}
 * After first boot, consider executing `dpkg-reconfigure grub-pc` (or `dpkg-reconfigure grub-efi-amd64` on EFI systems), and install to all devices. This way, your system will still boot correctly even if you reorder your drives. <<BR>>{{attachment:grub-install_sda+sdb.png}}

===== Install the bootloader (lilo) =====
''At the end of the installation...''
 * In Lenny (5.0), DebianInstaller automatically switch to [[LILO|lilo]] when you have root on RAID: <<BR>>{{attachment:20.gif}}

===== Reboot Debian =====
 * Debian is booting: <<BR>> {{attachment:oo.gif}}


==== Using D-I rescue, to reinstall lilo ====
Thanks to DebianInstaller's rescue mode, it's very easy to recover a problem :

 * Simply boot on the CD, and choose ''rescue'' mode, then after the usual DI prompt, you get : <<BR>> {{attachment:rescue00.gif}}
 * Then: <<BR>> {{attachment:rescue01.gif}}
## * Yeah, ok : inline:rescue02.gif
 * Reinstall/ rescue/restore lilo : <<BR>> {{attachment:rescue03lilo.gif}}

= Links (Howto) =
 * [[https://ctaas.de/software-raid.htm|ctaas.de/software-raid.htm]] - clear & easily mdadm/nas software RAID howto. Set up and maintain software RAID 0, 1, 5, 6 or 10 using mdadm (in German).
 * [[http://lists.debian.org/debian-user/2008/10/msg01989.html]] - Recover a DegradedArray RAID array.
 * [[http://www.tldp.org/HOWTO/LVM-HOWTO/]]
Line 11: Line 86:
Only inclusion of the mdadm package and the corresponding kernel options would be enough for me...

----

The above comments are both correct.

To fix this, the first step would be to include the Software Raid into a bootable kernel. This could even be a seperate kernel on the boot CD, as to not interfere with the existing install kernel. Call it 'kernel-raid' or something simular. Also, the raidtools2 or mdadm utilties would have to be included. Finally, the installer would have to know how to create a raid drive, much like it makes a lvm disk. Finally, the installer would have to install the raid version of the kernel in place of the non-raid kernel.

A series of raid-enabled kernels in the default repositories would be nice as well.

Remember, Debian's competition is already doing this. That might not be enough for some developers to work on this, but then again it might be just the motivation needed for others.

----

I'm not sure about how official this is. But personally I have installed Sarge from scratch on the 12th of October 2004 (testing, installer+Base CD iso) and am pleased to be able to tell you that installing on ["RAID1"] did Just Work(TM). The installation boots a initrd kernel and assembles (using mdadm) the raid devices for my root partition and swap partition in the initrd using modules, thus not needing different kernels. It even works so good that I haven't bothered yet recompiling my own kernel yet. Although I will do that eventually anyway.

----

About the previous comment: This is because the stock kernel-image packages have the necessary modules in initrd. The rootraiddoc debian documentation says that for raid modules to load through initrd with a / raid volume, the initrd kernel should boot from a non-raid volume. This doesn't seem to be the case, however - it looks like grub can pull the initrd.img at boot time from a raid volume anyway...

----

You know you are not close to the leading edge when you try raid on Debian. If it is possible I would appreciate a how-to on raid1 using Debian Installer in testing.

---
CategoryDebianInstaller | CategoryRoot | CategoryHardware | CategorySystemAdministration | CatgeoryRedundant: merge with other CategoryRaid pages

Lenny (5.0) and later support having the root and /boot partition on RAID volume. Actually, you can have root on RAID1+LVM partition.

This page contains some screenshots to demonstrate it, and applies to Debian 5.0 through, at least, 8.0.

Root on software RAID+LVM

In this example, we use virtual machine (qemu or kvm)... we can play, and break them ;-)

  • $ sudo apt-get install kvm
    
    $ qemu-img create -f qcow2 hda.qcow2 4G
    Formatting 'hda.qcow2', fmt=qcow2, size=4194304 kB
    
    $ qemu-img create -f qcow2 hdb.qcow2 4G
    Formatting 'hdb.qcow2', fmt=qcow2, size=4194304 kB
    
    $ kvm -hda hda.qcow2  -hdb hdb.qcow2  -cdrom debian-lenny-i386-netinst.iso -boot d

Of course, you need to download a cdrom image.

Root on RAID+LVM example

Those few screenshots show how to install root on lvm on raid :

Once you have reach DebianInstaller partitioning screen...

Choose manual partitioning, then on each disk, manually create a partition (same size on both disks).

Create partitions for RAID
  • Use as "Physical volume for Raid" :
    00.gif

Configure RAID
  • We have a raid partition on each disk:
    01.gif

  • Choose the type of multidisk device to be created:
    02.gif

  • We have two partition:
    03.gif

  • (In this example, we have no spare partition).
  • Let's select the partitions to use:
    04.gif

  • That's it !
    05.gif

Configure LVM
  • Let's configure the Logical volume manager:
    06.gif

  • First create a volume group:
    07.gif

  • Here, I chose the name vg1 for the group:
    08.gif

  • We have only one raid device:
    09.gif

  • Let's create the logical volume (kind pf partitions):
    10.gif

  • Our Logical volume (LV) will use some disk space from vg1 (which belongs to md0):
    11.gif

  • I named my partition foobar_root:
    12.gif

  • In this example, we wont split the filesystem (we won't even bother to create a swap, which is a bad idea), so I use all the disk space. (which again isn't a good idea, since it's so easy ro resize a partition with LVM)
    13.gif

  • Finish:
    14.gif

Use the LVM volumes
  • Let's assign and format the volumes (partitions):
    15.gif

  • As usually...
    16.gif

  • Done!
    17.gif

Install the bootloader (GRUB)

In Jessie (8.0), and I believe Wheezy (7.0), the installer will install GRUB even on RAID installs. However, GRUB can not install to a RAID device (e.g., /dev/md0), but will nonetheless work fine.

  • When asked to install bootloader, install to first device:
    grub-install_sda.png

  • After first boot, consider executing dpkg-reconfigure grub-pc (or dpkg-reconfigure grub-efi-amd64 on EFI systems), and install to all devices. This way, your system will still boot correctly even if you reorder your drives.
    grub-install_sda+sdb.png

Install the bootloader (lilo)

At the end of the installation...

Reboot Debian
  • Debian is booting:
    oo.gif

Using D-I rescue, to reinstall lilo

Thanks to DebianInstaller's rescue mode, it's very easy to recover a problem :

  • Simply boot on the CD, and choose rescue mode, then after the usual DI prompt, you get :
    rescue00.gif

  • Then:
    rescue01.gif

  • Reinstall/ rescue/restore lilo :
    rescue03lilo.gif

Links (Howto)


CategoryDebianInstaller | CategoryRoot | CategoryHardware | CategorySystemAdministration | ?CatgeoryRedundant: merge with other ?CategoryRaid pages