:::: MENU ::::

Comment installer du RAID0 sur Ubuntu Edgy (Dual boot Win XP / Ubuntu)

Technologie

Comment installer du RAID0 sur Ubuntu Edgy (Dual boot Win XP / Ubuntu)

Comment installer du RAID0 sur Ubuntu Edgy (Dual boot Win XP / Ubuntu)


TDM

Crédits
A propos
Prérequis
Avant de commencer
Situation de départ
Démarrage de l’alternate cd
Installer dmraid
  – Monter la clé et activer dmraid
On installe!!!
  – Préparation
  – Dmraid bis
  – Grub, le bootloader
Finiiiiiiiiiiii!!!
Gain en performances
Auteurs et licence

 

Nouveau!

Un tuto expliquant comment installer du Raid sur Ubuntu Feisty Fawn est désormais disponibles ici.

Crédits 

Ce tuto est largement inspiré de https://help.ubuntu.com/community/FakeRaidHowto mais également des sites suivants:

Merci donc à toutes les personnes qui y ont contribué de près ou de loin!!!

A propos 

Notre but est celui d’exploiter du RAID0 software pour faire un dual boot Windows XP / Ubuntu Edgy Eft sur des machines Dell Precision 390 (Intel Core2 Duo Processor E6600 (2.4GHz, 4MB Cache, 1066MHz FSB, 2Go RAM)) de deux disques SATA de 160Go. Après avoir testé plusieurs tutos, et surtout essayé plusieurs versions dmraid de manière infructueuse nous avons décidé d’expliquer notre approche. Le seul tuto qui nous a permis d’approcher un resultat satisfaisant est le « FakeRaidHowto » du site ubuntu.com. Toutefois l’approche par « chroot », « debootstrap » puis « installation » crée plusieurs problèmes, notamment pour la création des utilisateurs et l’installation du paquet ubuntu-desktop. Notre approche utilise l’alternate cd d’Edgy avec un minimum de manipulations afin de profiter au maximum de l’installeur automatique.

Prérequis 

Avant de commencer… 

L’installation du système en RAID0 SATA nécessite l’utilisation d’un pilote logiciel. Sous Linux, on utilise dmraid. Ce logiciel est disponible sous Ubuntu Edgy, mais il est apparemment corrompu et il ne reconnaît pas les disques. La solution que nous avons testé est celle d’utiliser le paquet distribué pour Ubuntu Feisty (en particulier la r13). L’alternate cd ne connaît pas apt-get (au moins au début). Il faut donc télécharger tous les paquets nécessaires avant de lancer l’installation et les copier sur une clé USB. Téléchargez les paquets suivants:

Note: Pour ceux qui veulent utiliser une installation 64bits, changez le « _i386″ en « _amd64″.

Situation de départ 

Nous nous préparons à installer Ubuntu dans notre machine. Nous avons déjà installé Windows et nous avons déjà partitionné le disque à l’aide d’un logiciel commercial ( :( PartitionMagic). Vu notre partitionnement un poil exotique (voir ci-dessous), le choix du logiciel se justifie, grâce à ses capacités de déplacement de partitions, sans perdre les données existantes. Un vrai geek aurait tranquillement pu utiliser des outils tels que:

  • fdisk
  • ntfsresize
  • mkfs
  • mkswap

pour obtenir le même résultat. L’utilisateur qui se contente de garder Windows (et la partition Dell) au début du disque peut tranquillement utiliser le partitionneur de l’alternate cd (ou fdisk dans le shell) pour réduire la taille de la partition Windows et créer la(les) partition(s) pour Ubuntu. Voici la structure de nos partitions:

  • partition 1: Dell utility vfat 82Mb
  • partition 2: Ubuntu ext3 30Gb
  • partition 3: Windows ntfs 60Gb
  • partition 4: Partition étendue
    • partition 5: Linux Swap sw 2Gb
    • partition 6: Windows data ntfs 100Gb
    • partition 7: Linux home ext3 110Gb

Attention, il n’est pas possible d’avoir plus de 4 partitions primaires!!!

Démarrage de l’alternate cd 

Il est maintenant possible de lancer l’installation. Démarrer avec l’alternate cd, lancer l’installation en mode récupération (rescue a broken system, sinon dmraid ne s’installera pas! Apparemment le rescue mode lance plus de modules…! On a perdu 3 jours à cause de ça!!!), répondre à toutes les questions (language, location, keyboard, keyboard layout puis network) jusqu’au moment de choisir les partitions sur lesquelles installer le système. Il faut absolument avoir configuré correctement le réseau, car il sera nécessaire plus tard. Nous avons effectué notre installation en anglais, mais rien n’empêche de la faire en français… à vous de traduire et de reconnaître nos commandes… :)

Installer dmraid 

A ce point (« Partition Disks ») l’installeur ne sera pas capable de trouver vos disques en RAID. Il faut donc installer dmraid, que vous avez téléchargé sur votre clé usb. Branchez votre clé et appuyez sur Alt-F2 pour accéder à une console.

Monter la clé et activer dmraid 

La procédure qui suit permet de monter la clé usb et d’activer dmraid sur votre système. La clé usb se trouve normalement dans /dev/sdc1, mais cela peut varier selon le nombre de disques présents sur l’ordinateur.

mount /dev/sdc1 /mnt
udpkg -i /mnt/libsepol1_1.14-2_i386.deb
udpkg -i /mnt/libselinux1_1.32-3ubuntu1_i386.deb
udpkg -i /mnt/dmraid_1.0.0.rc13-2ubuntu1_i386.deb
dmraid -ay
ls /dev/mapper

Il ne faut pas se crisper si l’utilisation de udpkg produit plein d’erreurs, car c’est normal (erreurs du style « exited with status 127  ou … illegal seek); les paquets deb sont faits pour être installés avec dpkg, qui sait reconnaître les dépendances et tout plein de choses. Par contre méfiez vous des erreurs du style « resource temporary unavailable ». Si elles surviennent, insistez! Si tout va bien, vous devriez avoir sous les yeux vos partitions RAID. Chez nous elles s’appellent quelque chose comme isw_hkjshkgg_RAIDVOLUME1, isw_hkjshkgg_RAIDVOLUME2, isw_hkjshkgg_RAIDVOLUME3 et ainsi de suite. Le nom change d’un ordinateur à l’autre et en fonction du contrôleur. Ce qui compte est le fait qu’il y ait une liste de fichiers dans /dev/mapper en plus de « control ». Si ce n’est pas le cas, il faudra probablement attendre la sortie de Feisty… :(

On installe!!! 

Préparation 

Appuyer sur Alt-F1 pour revenir au menu d’installation. Revenez sur l’écran précédent (« Back »), puis choisissez « Detect disks » pour permettre à l’installeur de découvrir les disques en RAID. Vous arrivez alors sur une page vous proposant de choisir un disque pour réparer le système, mais vos disques RAID ne sont pas disponibles. Revenez en arrière puis choisisez « Partition Disks ». Vous serez enfin en face de toutes les partitions disponibles pour l’installation. Cet écran est celui de l’installeur guidé, mais nous avons besoin de l’installeur manuel; choisissez « Manually edit partition tables ».

Note: Si vos partitions ne sont pas déjà créées, accédez à la console avec ALT+F2 puis utilisez les outils cités plus haut. Une fois votre partitionnement terminé, retournez sur l’écran d’installation avec ALT+F1 puis rescannez les disques pour les détecter (« Back », « Detect disks », « Back », « Partition disks », « Manually edit »).

L’installeur affiche la liste de vos disques RAID, mais ils y figurent tous à double. La première section les liste tous à la suite, et la deuxième affiche le nom du RAID avec ses sous-partitions. Dans un premier temps il faut éditer un à un les disques proposés dans la première section pour les désactiver. Choisissez « use as: do not use » pour chacun des disques. Il faut maintenant choisir les partitions pour installer Ubuntu. Deux partitions au minimum sont suffisantes, mais il est possible d’en choisir plus pour mieux séparer l’information. Nous avons choisi d’en utiliser 3:

  • isw_hkjshkgg_RAIDVOLUME2 pour le système
  • isw_hkjshkgg_RAIDVOLUME5 pour la swap
  • isw_hkjshkgg_RAIDVOLUME6 pour le home

Pour le moment et pour minimiser les risques, nous laissons de côté les partitions Windows. Nous pourrons les monter plus tard, une fois l’installation finie. Il s’agit maintenant de définir les points de montage de ces partitions listées dans la deuxième section (pas celles que l’on a paramétrées comme « do not use », les autres). Choisissez votre partition root (/) et swap (et éventuellement les autres, par exemple /home, /var ou même le /boot si vous l’avez séparé). Une fois les partitions choisies et correctement configurées (on vous conseille de les formater), vous pouvez lancer l’installation et aller boire un café, ou une camomille si vous préférez être zen pour la partie finale.
L’installation avance jusqu’au moment fatidique de l’installation du système de démarrage GRUB, puis elle plante! Il faudra s’en occuper manuellement. L’installeur ne sera non plus capable d’installer dmraid sur le système, on s’en occupera aussi. C’est le sujet des deux prochains paragraphes.

Dmraid bis 

On retourne sur notre chère console en appuyant sur Alt-F2. Cette fois apt-get est disponible et comme on veut faire les choses correctement, on installera dmraid directement depuis les serveurs d’Ubuntu. Pour résumer, les commandes suivantes permettent de modifier la liste des sources pour pointer vers feisty, puis d’installer dmraid et de remodifier la liste pour revenir a Edgy, histoire de ne pas trop corrompre le système… Dans la console tapez les commandes suivantes pour configurer l’environnement provisoire: 

mount –bind /dev /target/dev
mount -t proc proc /target/proc
mount -t sysfs sysfs /target/sys

On peut maintenant se connecter sur le dossier d’installation avec un nouvel environnement et installer dmraid:

sudo chroot /target
bash
# on modifie les sources vers feisty dans le chroot
sed -i ‘s/edgy/feisty/g’ /etc/apt/sources.list
# on décommente les depôts universe
sed -i ‘s/# deb/deb/g’ /etc/apt/sources.list
apt-get update
apt-get install dmraid
ls /dev/mapper

Dmraid a pu s’installer, générer le nouveau initramfs (qui est utilisé au démarrage de la machine) et vous pouvez voir vos disques en RAID. Pas d’inquiétudes a avoir si apt-get update produit quelques erreurs. Prenez bonne note du nom de l’array disque (par exemple isw_hkjshkgg_RAIDVOLUME) sur un papier, car il sera très utile dans un moment.

Avant de continuer, il faut absolument restaurer les sources des depôts vers Edgy, sinon vous allez vous retrouver avec un mix de sources d’Edgy et de Feisty et ça ne va pas être triste… On ne recommente pas les dépôts universe, car ils sont généralement assez utiles.

sed -i ‘s/feisty/edgy/g’ /etc/apt/sources.list
apt-get update

Grub, le bootloader 

L’installation s’était arrêtée § au moment de l’installation du secteur de démarrage, ce qui est normal car comme dmraid n’était pas installé il n’était pas possible de voir les disques. Maintenant que tout fonctionne, on peut continuer et installer grub:

apt-get install grub
mkdir /boot/grub
cp /lib/grub/i386-pc/stage1 /boot/grub
cp /lib/grub/i386-pc/stage2 /boot/grub
cp /lib/grub/i386-pc/<stage 1_5_propre à votre système de fichiers> /boot/grub

Là c’est un poil compliqué, mais on va y arriver. D’abord, il faut copier les stages 1 et 2 en tenant compte de l’architecture du système, c’est à dire i386-pc pour Ubuntu 32bits sur intel ou amd. Puis, il faut copier le stage 1_5 en fonction du système de ficher utilisé dans la partition où grub est installé (root dans notre cas). Pour ext2 et ext3, choisir e2fs-stage1_5, reiserfes_stage1_5 pour reiserfs et ainsi de suite.
Voila, on arrive au plus difficile. Là il ne faut pas se planter quand on tape du texte, car sinon l’ordinateur ne pourra pas démarrer votre cher Linux (et non plus Windows).
Pour résumer, on doit dire à grub dans quel disque regarder, puis dans quelle partition booter et enfin quels sont les systèmes disponibles.

On commence par le disque sur lequel on veut installer grub et mettre la partoche de boot:

grub
device (hd0) /dev/mapper/isw_hkjshkgg_RAIDVOLUME

On définit (hd0) comme étant le disque RAID. Récupérez vos notes et remplacez isw_hkjshkgg_RAIDVOLUME par le nom de votre disque. Il ne faut PAS mettre de chiffre à la fin du nom.
On passe à la partition:

root (hd0,1)
setup (hd0)
quit

Dans notre cas, grub se trouve directement dans la deuxième partition, là où on a installé Ubuntu. Comme grub compte à partir de 0, on indique que root (la partition de démarrage) se trouve dans (hd0,1). Si vous ave installé grub sur une partition séparée, il faudra mettre autre chose. Voilà, si vous avez tapé juste, grub trouve votre système Ubuntu.
Maintenant il ne reste plus qu’à créer le menu de démarrage, pour que vous puissiez choisir quel système utiliser. La commande update-grub permet de le créer. Répondez « y » à la question qui vous propose de créer le fichier menu.lst:

update-grub

On édite le fichier menu.lst pour être sûrs que tout est en ordre, à l’aide de nano:

nano /boot/grub/menu.lst

On commence par commenter (ajouter un #) hidemenu (ce qui permet de toujours afficher les choix au démarrage), puis on va vers la section qui commence par « ### BEGIN AUTOMAGIC KERNELS LIST ». Les premières lignes définissent les paramètres par défaut, ceux qui permettent de mettre à jour grub chaque fois qu’il y a une mise à jour du kernel. Il ne faut surtout pas enlever les commentaires (#), au risque de corrompre le système.
Vérifiez d’abord que « #kopt=root= » pointe vers le bon disque, /dev/mapper/isw_hkjshkgg_RAIDVOLUME dans notre cas. Vérifiez également que « groot » vise la bonne partition, (hd0,1) chez nous.
On peut ensuite passer à la liste des systèmes disponibles, un peu plus bas. On retrouvera certainement deux fois Ubuntu et un memtest. Vérifiez que la racine de vos deux Ubuntu pointe vers le bon disque et que tout ressemble à ça:

title       Ubuntu, kernel 2.6.15-7-generic
root      (hd0,1)
kernel  /boot/vmlinuz-2.6.15-7-generic root=/dev/mapper/isw_hkjshkgg_RAIDVOLUME2 ro quiet
initrd    /boot/initrd.img-2.6.15-7-generic
boot

Il faut impérativement effacer « savedefaults« , sinon le système produira une erreur au démarrage (« disk not found »). Si vous avez créé une partition séparée pour votre /boot, il faudra enlever /boot/ devant /vmlinuz… et /initrd….

A ce point, il ne reste plus qu’à définir le point de démarrage de Windows. Il faudra le faire en dehors de la zone « DEBIAN AUTOMAGIC », donc juste avant ou juste après, selon si vous voulez avoir Windows listé avant ou après Ubuntu. Il faut savoir que grub passe simplement la main à Windows, qui s’occuepera tous seul comme un grand de démarrer. Il faut donc simplement définir sa partition avec la commande rootnoverify:

title Windows XP (Are you sure?)
rootnoverify (hd0,2)
chainloader +1

Sauvegarder le fichier (Ctrl-x), puis répondre « y » pour écraser « menu.lst« . Quittez la console et revenez au menu d’installation avec Alt-F1.

Finiiiiiiiiiiii!!! 

Tout est presque bon. Il ne reste plus qu’à continuer l’installation en sélectionnant « continue without boot loader ». L’installeur vous demande de définir un utilisateur et termine gentiment son boulot.

Redémarrez l’ordinateur, testez d’abord Windows, puis Ubuntu. Tout devrait marcher. Si ce n’est pas le cas, vous avez probablement fait une erreur dans grub. Si le menu de grub s’affiche, essayez de retaper les commandes ci-dessus. Sinon, l’alternate cd a un menu qui permet de récupérer votre installation….

Gain en performances 

Pour vous satisfaire des performances gagnées avec votre nouveau RAID , tapez dans un terminal:

sudo hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   15660 MB in  2.00 seconds = 7844.17 MB/sec
 Timing buffered disk reads:  208 MB in  3.01 seconds =  69.12 MB/sec

sudo hdparm -Tt /dev/mapper/isw_dbdfgdahbd_ARRAY
/dev/mapper/isw_dbdfgdahbd_ARRAY:
 Timing cached reads:   15476 MB in  2.00 seconds = 7751.08 MB/sec
 Timing buffered disk reads:  414 MB in  3.00 seconds = 137.84 MB/sec

On accède aux disques en RAID0 plus de deux fois plus rapidement qu’a un disque normal!!!

Note: l’ajout de disques supplémentaires décuplera les taux de transfert des données entre le CPU et les disques, et donc accélérera encore plus les traitements.

Auteurs et licence 

Ce tuto est sous licence http://creativecommons.org/licenses/by-sa/2.0/fr/ (Paternité – Partage des Conditions Initiales à l’Identique) et a été écrit par Raffaele Bolliger (ruf at donax.ch) et Nicolas Borboën (nbo at donax.ch). Il est publié sur http://www.donax.ch.


2 Comments

  1. Largocity

    Très très bien, je pense que le besoin d’un bon tuto sur le sujet se faisait sentir.
    Avec l’arrivée de Feisty Fawn, n’y a t’il pas une chance que l’installation puisse se dérouler de manière traditionnelle avec la prise en charge des fake-raid, comme le fait très bien une fedora core, opensuse ou même mandriva ?

Leave a comment

  • *