Installation Debian sur du raid (fakeraid)

Qu’est ce que le fakeraid :

Le fakeraid ou biosraid ou raid semi matériel est un raid construit grâce à un module (nvidia par exemple) intégré sur certaine carte mère et qui est créé en partie par le bios de la carte mère et en partie à l’aide d’un logiciel dépendant de l’O S installé.
Il est différent d’un raid logiciel construit uniquement par un logiciel de l’OS ou d’un raid matériel monté grace à un controleur raid qui fait que la grappe est ensuite reconnue comme un seul disque dur par le bios de la carte mère (ce type de controleur raid est assez cher et donc peu utilisé par le grand public).

Pourquoi installer debian sur un fakeraid ?

-parce que l’on est en dualboot avec windows installé sur une grappe raid (raid construit à partir d’un controleur raid intégré à la carte mère) et que l’on vaut installer debian sur cette même grappe.

En l’absence de dual boot windows, sous linux il n’y a aucun intérêt à utiliser du fakeraid on préfèrera construire un raid logiciel qui apportera les mêmes perfs.

Alternative :

-installer debian sur un autre disque dur et installer ensuite dmraid pour pouvoir accéder a la grappe raid après avoir lancé la commande dmraid -ay.

Principe de l’installation:

Utiliser debootstrap pour installer debian depuis une autre distribution linux à base de debian (pour avoir debootstrap) cette distribution peut-être un live cd ou elle peut être installée sur une autre partition ou un autre disque dur. Elle devra avoir debootstrap et dmraid d’installé (dmraid et le logiciel qui gère le fakeraid sous linux).

Quelques exemples :

avec ubuntu on veillera à mettre à jour le gestionnaire de paquets

# apt-get update
# apt-get install debootstrap
# apt-get install dmraid

ou via synaptic

avec knoppix debootstrap et dmraid sont déjà installés mais il faudra mettre à jour debootstrap pour pouvoir par exemple installer la dernière version de debian (par exemple lenny).

# apt-get update
# apt-get upgrade debootstrap

ou via synaptic

Après cette mise en bouche nous pouvons commencer le travail :

- commençons par partitionner:

depuis le live cd nous lançons un

# ls /dev/mapper 

si celà ne nous renvoi rien nous allons lancer

# dmraid -ay

puis

# ls /dev/mapper

nous devons avoir en réponse un truc du genre

control  nvidia_efdgbaed  nvidia_efdgbaed1  nvidia_efdgbaed5 

pour cet exemple avec un controleur nvidia le chemin pour accéder au raid est donc: /dev/mapper/nvidia_efdgbaed

Nous pouvons partitionner via fdisk ou en faisant cfdik -l /dev/mapper/nvidia_efdgbaed pour une interface semi graphique puis formater .
fdisk -l /dev/mapper/nvidia_efdgbaed peut bugger dans l’affichage du raid et présenter des partition dm-0 dm-1 bizzares, dans ce cas on peut installer gnu-fdisk à la place de l’ancien fdisk linux et refaire un fdisk -l qui là marche normalement et nous montre nos partitions sous la forme /dev/mapper/nvidia_efdgbaed ensuite il suffit de partitionner en lançant fdisk /dev/mapper/nvidia_efdgbaed (je rappelle que nvidia_efdgbaed n’est qu’un exemple le nommage des partitions dépend du controleur raid).

Formatage :

# mkfs -t ext3 /dev/mapper/nvidia_efdgbaed 

pour la swap :

# mkswap /dev/mapper/nvidia_efdgbaed

Personnellement je n’ai jamais fait comme ça, j’ai d’abord tenté avec gparted et qtparted installés sur knoppix qui reconnaissaient ma grappe raid mais qui se plantaient lors du formatage puis j’ai réussi en partitionnant avec diskdrake en lançant le live cd mandriva puis suivi la procédure ci-dessus avec le live cd knoppix.

Une fois le partitionnement effectué nous allons nous lancer dans l’installation proprement dite avec debootstrap:

Remarque :
Si l’on fait abstraction de l’installation de dmraid la suite est ni plus ni moins qu’une installation debian à partir d’une autre distribution linux basée sur debian via debootstrap on peut donc se servir de ce document pour une installation debian sans fakeraid.

créons notre répertoire d’installation:

# mkdir /mnt/raid

montons notre partition raid sur laquelle nous installerons la racine de notre système

# mount /dev/mapper/<nom_de_votre_disque><numero_de_partition> /mnt/raid 

soit pour moi

#mount /dev/mapper/nvidia_efdgbaed5 /mnt/raid

Installation du système minimal avec debootstrap :

# debootstrap  lenny  /mnt/raid http://ftp.fr.debian.org/debian
 I: Retrieving Release
 I: Retrieving Packages
 I: Validating Packages
 I: Resolving dependencies of required packages...
 I: Resolving dependencies of base packages...
 I: Checking component main on http://ftp.fr.debian.org/debian...
 I: Retrieving ...
 . . .
  
 Suit la liste de tous les paquets récupérés. À la fin, après récupération, décompression et configuration, debootstrap se termine par :
I: Base system installed successfully.

On vérifie la structure, qui correspond à ce que l’on a l’habitude de voir :

# ls -1 /mnt/raid
 bin
 boot
 dev
 etc
 home
 initrd
 lib
 lost+found
 media
 mnt
 opt
 proc
 root
 sbin
 srv
 sys
 tmp
 usr
 var

À ce stade, les fichiers /etc/fstab, /etc/network/interfaces entre autres ne sont pas configurés. Or on va en avoir besoin. Pour simplifier les choses, je récupère ceux en service sur ma version hôte et les copie sur la nouvelle distribution :
Fstab:

# cp /etc/fstab /mnt/hda3/etc/fstab

Configuration du réseau:

# cp /etc/network/interfaces /mnt/raid/etc/network/interfaces 

en voici un pour une connection ethernet et 2 interfaces en dhcp:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.
auto lo
iface lo inet loopback


allow-hotplug eth0
iface eth0 inet dhcp
	pre-up ifconfig eth0 up

allow-hotplug eth1
iface eth1 inet dhcp
	pre-up ifconfig eth1 up

ou avec IP fixe (adresse à adapter):

auto lo
iface lo inet loopback


# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.5
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254

Hostname:
À vous de voir pour le nom d’hôte. Pour le moment il est configuré en portant le même que la version “source”. Si vous voulez en changer, il faudra éditer /mnt/point_montage/etc/hostname pour y mettre le nom de votre choix. Ou bien par la commande :

# echo votre_nom_host >  /point_montage/etc/hostname

Resolv.conf:
/etc/resolv.conf est déjà configuré. On le vérifie :

# cat /mnt/raid/etc/resolv.conf

voici le mien:

 nameserver 192.168.1.1
 nameserver 0.0.0.0

Hosts:
Et un fichier /etc/hosts élémentaire, avec gestion de IPv6 :

127.0.0.1 localhost DebianHostName

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Si vous possédez plusieurs cartes réseau, faites en sorte d’indiquer par ordre les modules que vous voulez charger dans le fichier /etc/modules. De cette façon, lors du démarrage, chaque carte sera associée avec le nom d’interface (eth0, eth1, etc.) que vous souhaitiez.

Configuration fstab:
Comme on a récupéré le fstab de l’ancien système, il ne correspond pas. Il faut donc le modifier. En ce qui me concerne, j’ai mis ceci :

# nano -w /mnt/raid/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/mapper/nvidia_efdgbaed5
/dev/mapper/nvidia_efdgbaed5 /               ext3    defaults,errors=remount-ro 0       1
# /dev/mapper/nvidia_efdgbaed7
/dev/mapper/nvidia_efdgbaed7 /home           ext3    defaults        0       2
# /dev/mapper/nvidia_efdgbaed6
/dev/mapper/nvidia_efdgbaed6 none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto,exec 0       0

Kernel-img.conf:
Nous allons aussi préparer la future installation du kernel en éditant ou en créant kernel-img.conf

# nano /mnt/raid/etc/kernel-img.conf

dans lequel on copie ça:

do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no

Il est temps de se chrooter:
Maintenant, pour personnaliser la nouvelle distribution, on va monter /dev et /proc afin de pouvoir faire reconnaître et utiliser différents périphériques sur le point de montage /mnt/raid et faire un chroot de ce point de montage. On utilise l’option bind qui permet de monter en même temps sur plusieurs points de montage :

# mount -o bind /dev /mnt/raid/dev 
# mount -o bind /proc /mnt/raid/proc 
# chroot /mnt/raid  /bin/bash 

On monte l’ensemble avec mount -a et on vérifie ( on peut procéder par étapes) :

# mount -a 
# mount 
 proc on /proc type proc (rw)
 sysfs on /sys type sysfs (rw)
 /dev/raid on / type ext3 (rw):~$ su - passant

Nous sommes dans le chroot

Occupons nous d’aptitude et installons les paquets indispensables (le noyau, grub …):
Comme la configuration des dépôts est sommaire, on édite

# /etc/apt/sources.list 

pour ajouter contrib non-free, src, et autres dépôts suivant ce que l’on veut. De même que security.

En voici un :

## Depots Lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
#deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

## Depots Security
deb http://security.debian.org/ lenny/updates main
#deb-src http://security.debian.org/ lenny/updates main

Puis, après un

# aptitude update

on reprend l’installation des paquets, console-data, etc. etc.

Installons tout d’abord dmraid qui est installé dans le système live mais pas dans notre nouvelle debian:

# aptitude install dmraid

préparons le terrain pour la suite en créant un répertoire pour grub

# mkdir /boot/grub

configurons le fuseau horaire

# dpkg-reconfigure tzdata

installons les locales

# aptitude install locales

et configurons

# dpkg-reconfigure locales

configurons le clavier:

# aptitude install console-data
# dpkg-reconfigure console-data

Installons un noyau
Si vous avez l’intention de démarrer ce système, vous aurez vraisemblablement besoin d’un noyau Linux ainsi que d’un programme d’amorçage. Identifiez les paquets contenant des noyaux avec :

# apt-cache search linux-image

Installez alors le noyau de votre choix en utilisant son nom :

# aptitude install linux-image-2.6...

installons le bootloader ensuite :

# aptitude install grub

# cp /usr/lib/grub/i386-pc/stage1 /boot/grub

# cp /usr/lib/grub/i386-pc/stage2 /boot/grub

# cp /usr/lib/grub/i386-pc/e2fs_stage1_5 /boot/grub

Entrez ces commandes dans le terminal :

# grub

nous sommes maintenant dans GRUB pour le configurer.

# device (hd0) /dev/mapper/nvidia_efdgbaed

la commande

# find /boot/grub/stage1 

nous renvoie quelque chose comme root (hd0,4)

maintenant indiquons à GRUB la partition de démarrage Linux = partition 4 dans notre exemple.

# root (hd0,4)

On peut sortir de GRUB avec ces dernières commandes :

# setup (hd0)
# quit
# update-grub

Le système installé est très basique. Pour l’améliorer sensiblement, il existe une méthode très simple pour installer les paquets dont la priorité est « standard » :

# tasksel install standard

Bien sûr, vous pouvez toujours utiliser aptitude pour installer des paquets un à un.

On fait un peut de ménage :

# aptitude clean

Définisons un mot de passe pour root:

# passwd

Et créons un utilisateur:

# adduser user (remplacer user par votre nom d'utilisateur)

Vérifier les droits et appartenances des fichiers /home et /home/user si besoin redéfinissez les :

# chown user:user /home/user
# chown root:root /home 
# chmod 755 /home/user
# chmod 755 /home

Pour avoir un environnement graphique nous aurons besoin de xorg:

# aptitude search xorg

pour une carte video nvidia on fera

# aptitude  install  xserver-xorg-video-nv xfonts-base

intel:

# xserver-xorg-video-intel

ati:

# xserver-xorg-video-ati
ou
# xserver-xorg-video-radeon

Pour la configuration de xorg.conf personnellement j’utilise toujours le même issu de mes précédente install sinon on peut s’aider du système host, on l’édite comme ceci:

# nano /etc/X11/xorg.conf

Il nous manque encore l’interface graphique au choix kde ou gnome perso j’utilise fluxbox pour le gestionnaire de fenêtre et slim pour le gestionnaire de connexion

# aptitude install fluxbox slim

pour wmaker :

# aptitude install wmaker xdm 

Lorsque tout sera terminé, ne pas oublier de démonter et fermer le chroot. On a maintenant une distribution opérationnelle. Il suffit de redémarrer.

Avec un peu d’habitude et une machine rapide c’est fait en 2 heures.

Annexes:

Pour ceux qui compileraient un kernel à la main les options ci-dessous sont indispensables dans la configuration du noyau, il faudra aussi créer un initrd ou initramfs pour pouvoir booter avec dmraid et éviter ainsi un kernel panic (généralement la compilation du noyau à la méthode debian sous entend la création d’un initramfs).

Device Drivers
 -> Block devices
  <*> Loopback device support
  <*> RAM disk support
    (16)  Default number of RAM disks
    (8192) Default RAM disk size (kbytes)
    (1024) Default RAM disk block size (bytes) 
  [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 
 -> SCSI device support
  <*> RAID Transport Class 
  <*> SCSI device support
    -> SCSI low-level drivers
    -> Serial ATA (SATA) support
     <*> Choose the RAID chipset of your choice
 [*] Multiple devices driver support (RAID and LVM) 
  <*> RAID support
   <*> Choose your RAID method (striping/mirroring/etc)
  <*> Device mapper support  
   <*> (pour les feignants sous cette ligne vous pouvez tout activer sinon des choix sont possibles mais je ne me suis pas penché sur la question)

Des méthodes similaires permettent d’installer gentoo sur du fakeraid via l’installation d’un stage 3 depuis knoppix ou archlinux en utilisant pacman-static sur le système host (knoppix par exemple) et ainsi installer archlinux minimal sur le raid.

Sources:

cepcasa.info/apt/debootstrap.html

debian.org/releases/stable/h … 03.html.fr

forum.ubuntu-fr.org/viewtopic.php?id=142645

en.gentoo-wiki.com/wiki/RAID/NVRAID_with_dmraid

N’hesitez pas à me faire part de corrections à apporter ou de choses à reformuler si vous essayez…

bonjour

j ai un probleme qui peut m aide merci

Paramétrage de dmraid (1.0.0.rc13-2) ... Setting up DMRAID devices...invoke-rc.d: initscript dmraid, action "start" failed. dpkg : erreur de traitement de dmraid (--configure) : le sous-processus post-installation script a retourné une erreur de sortie d'état 1 Des erreurs ont été rencontrées pendant l'exécution : dmraid E: Sub-process /usr/bin/dpkg returned an error code (1)

Bonjour,

Une p’tite remarque qui a son importance je pense :
dmraid inclus avec Debian Lenny (ISO DVD v5.0.5) ne semble pas savoir gérer le “rebuild” d’un raid (après un incident même aussi simple qu’un disque débranché…)

#dmraid -V dmraid version: 1.0.0.rc14 (2006.11.08) dmraid library version: 1.0.0.rc14 (2006.11.08) device-mapper version: 4.13.0

#dmraid -R dmraid: Invalid option -- R

Du coup… ben euh… c’est un raid bancal… pour ne pas dire inutilisable même… (enfin ça dépend peut-être des usages recherchés mais si c’est pour la sécurité des données + un p’ti gain en rapidité de lecture… bref un p’ti RAID1…)