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