Vous êtes sur la page 1sur 11

Compilation Du noyau Linux

Le noyau est tout simplement le programme qui gre les interactions entre le matriel et les autres
programmes. C'est lui qui amorce le systme d'exploitation.
Pourquoi compiler son noyau ?

Faire fonctionner un matriel qui nest pas pris en charge par votre noyau actuel
Appliquer un correctif
Utiliser une distribution qui oblige de compiler votre noyau

Vous voulez passer le temps

Rcupre les sources du noyaux ,soit celle de votre distribution, soit les
sources disponibles sur le site kernel.org

Installation des sources :


Installer le paquet linux-source
linux-source est un mtapaquetage qui pointe vers la dernire version du noyau

Il vous faudra aussi installer les outils de compilation :


Installer les paquets
debconf-utilsdpkg-devdebhelperbuild-essential kernel-package libncurses5-dev

Tlcharger une version du noyau :


wgethttps://www.kernel.org/pub/linux/kernel/v3.0/linux3.0.23.tar.bz2
Les outils ncessaires :
# apt-get install build-essential
Pour bnficier de plus doutils et dinterfaces :
# apt-get install libncurses5-dev
Pour effectuer la compilation de la meilleure faon ilfaut travailler dans le
rpertoire /usr/src.
Pour cela il faut crer un utilisateur et lajouter au groupe src.De cette
manire on pourra accder /usr/src sans tre root.
usermod-aG src login## O //login// est votre nom d'utilisateur
ou

sudo adduser login src## O //login// est votre nom d'utilisateur


Mettre en place les sources .
#cd /usr/src
# tar xjf linux-3.0.23.tar.bz2
#ln-sfn linux-source-3.0.23 linux ou bien

# mv linux-3.0.23 linux-source-3.0.23
# cd linux-source-3.0.23

Configuration et compilation
Copier la configuration du noyau courant
Toutes les modifications que nous allons faire seront dans le fichier .config

# cp /boot/config-$(uname r) .config
Creation du fichier .config type
# make oldconfig
make oldconfig pass en revue les nouvelles options de configuration.
Ensuite on personnalise les options de compilation :
make nconfig
ou make menuconfig

Compiler et crer des paquets .deb


Pour crer des paquets .deb de limage du noyau et des en-tte
# make deb-pkg
A la fin du processus de compilation vous disposerez dans /usr/src de
paquets linux-image-$(version).deb et linux-headers-$(version).deb prts
tre installs, par exemple avec dpkg i ou gdebi.
La cration dun disque initial de dmarrage et la mise jour de grub seront
automatiques lors de la compilation.
Pour acclrer la compilation vous pouvez augmenter le nombre de
processus allous,par exemple sur un processeur dual-core :
# make j 4 deb-pkg
Pour mettre jour un noyau linux directement sur internet :
apt-cache search linux-image

$ sudo apt-get install linux-image-flavour

http://www.linux-france.org/prj/edu/archinet/systeme/ch46s03.html
modules
http://dpt-info.ustrasbg.fr/~ancel/enseignement/_20082009/L2_MI/TP_compil_noyau.pdf

==================================
========================
CH2 : Technologie RAID
En informatique, le mot RAID (Redundant Array of Independent (or inexpensive) Disks)
regroupement redondant de disques indpendants dsigne les techniques permettant de
rpartir des donnes sur plusieurs disques durs afin d'amliorer soit la tolrance aux pannes, soit
la scurit, soit les performances de l'ensemble, ou une rpartition de tout cela.

Schma de principe d'une grappe de disques en RAID 5

Historique
En 1978, un employ d'IBM, Norman Ken Ouchi, dposa un brevet concernant un Systme de
rcupration de donnes stockes dans une unit de stockage dfectueuse , et dont la description
tait ce que deviendrait plus tard le RAID 5. Ce brevet fait galement mention du miroitage
(mirroring) de disque (qui sera appel plus tard RAID 1), ainsi que de la protection avec une
parit ddie (qui sera appel plus tard RAID 3 et 4).
La technologie RAID a t labore par un groupe de chercheurs de l'Universit de Berkeley
(Californie) en 1987. Ces derniers tudirent la possibilit de faire reconnatre deux disques durs
ou plus comme une seule entit par le systme. Ils obtinrent pour rsultat un systme de stockage
aux performances bien meilleures que celles des systmes disque dur unique, mais dot d'une
trs mauvaise fiabilit. Les chercheurs s'orientrent alors vers des architectures redondantes, afin
d'amliorer la tolrance aux pannes du systme de stockage.

Description et concepts
Comparaison RAID/SLED
Depuis sa cration, la particularit principale de l'architecture RAID est sa capacit combiner
de nombreux priphriques de stockage bon march et une technologie courante dans une
matrice unique, de sorte que ce groupement offre une capacit, une fiabilit et/ou des
performances accrues, ce pour un cot largement infrieur un priphrique de stockage unique

quivalent exploitant des technologies de pointe. L'architecture RAID s'oppose donc


l'architecture SLED (Single Large Expensive Disk), qui est fonde sur l'utilisation d'un seul et
mme disque dur de grande capacit, donc d'un prix lev, car celui-ci doit non seulement
pouvoir stocker beaucoup d'informations, mais il doit de plus tre d'excellente qualit pour
garantir au mieux la prennit et l'accessibilit de son contenu.
En effet, dans une architecture de type SLED, la bonne conservation des donnes est dpendante
de la moindre dfaillance du disque dur. Lorsqu'une panne survient, non seulement le systme est
inexploitable le temps du remplacement du matriel dfectueux, mais la seule manire de
rcuprer les donnes est de procder une restauration de la dernire sauvegarde, ce qui peut
prendre plusieurs heures durant lesquelles le systme est toujours inutilisable.
Si un tel temps d'inactivit est acceptable pour l'ordinateur d'un particulier, il est en revanche
rdhibitoire pour le systme informatique d'une entreprise, pour qui une telle panne peut avoir
des consquences non ngligeables sur sa sant financire. L'utilisation d'une architecture RAID,
du moins dans la plupart de ses niveaux fonctionnels, permet justement d'apporter une rponse
ces besoins car non seulement la dfaillance d'un des disques de la grappe ne gne pas le
fonctionnement des autres disques, ce qui permet au systme de continuer de fonctionner, mais
de surcrot, une fois le disque en panne chang, son contenu est reconstruit partir des autres
disques pendant le fonctionnement normal du systme. Ainsi, l'activit de l'entreprise continue de
faon ininterrompue et transparente pendant toute la dure de l'incident.
Le RAID, suivant ses niveaux fonctionnels, s'il donne des temps de rponse identiques ceux
des disques s'ils taient utiliss individuellement, offre des dbits particulirement soutenus,
mme en utilisant des disques durs bons marchs et de performances moyennes, tout en
garantissant une bien meilleure fiabilit (sauf pour le RAID 0 qui lui la rduit d'autant que le
nombre de disques). Dans de telles situations, les architectures RAID se rvlent donc idales,
tant du point de vue de leurs performances que de leur fiabilit. Dans tous les cas, le RAID reste
compltement transparent l'utilisateur qui, quel que soit le nombre de disques physiques utiliss
pour construire le RAID, ne verra jamais qu'un seul grand volume logique, auquel il accdera de
faon tout fait habituelle.

Parit et redondance
Le miroitage s'avre tre une solution onreuse, puisqu'il est ncessaire d'acqurir les
priphriques de stockage en plusieurs exemplaires. Aussi, partant du principe que plusieurs
units de stockage ont une faible probabilit de tomber en panne simultanment, d'autres
systmes ont t imagins, dont ceux permettant de rgnrer les donnes manquantes partir
des donnes restant accessibles et d'une ou plusieurs donnes supplmentaires, dites de
redondance.
Le systme de redondance le plus simple et le plus largement utilis est le calcul de parit. Ce
systme repose sur l'opration logiqueXOR (OU exclusif) et consiste dterminer si sur bits de
donnes considrs, le nombre de bits l'tat est pair ou impair. Si le nombre de est pair, alors
le bit de parit vaut . Si le nombre de est impair, alors le bit de parit vaut . Lorsque l'un des
bits de donnes ainsi forms devient indisponible, il est alors possible de rgnrer le bit
manquant en appliquant nouveau la mme mthode sur les lments restants. Cette technique
est utilise dans les systmes RAID 5.
Il existe des systmes de redondance plus complexes et capables de gnrer plusieurs lments
de redondance afin de supporter l'absence de plusieurs lments. Le RAID 6 utilise par exemple
une technique de calcul de parit fonde sur des polynmes.

Les diffrents types de systmes RAID

Le systme RAID est :

soit un systme de redondance qui donne au stockage des donnes une certaine tolrance
aux pannes matrielles (ex : RAID1).

soit un systme de rpartition qui amliore ses performances (ex : RAID0).

soit les deux la fois mais avec une moins bonne efficacit (ex : RAID5).

Le systme RAID est donc capable de grer d'une manire ou d'une autre la rpartition et la
cohrence de ces donnes. Ce systme de contrle peut tre purement logiciel ou utiliser un
matriel ddi.
Le RAID logiciel
En RAID logiciel, le contrle du RAID est intgralement assur par une couche logicielle du
systme d'exploitation. Cette couche s'intercale entre la couche d'abstraction matrielle (pilote) et
la couche du systme de fichiers.
Avantages

C'est la mthode la moins onreuse puisqu'elle ne demande aucun matriel


supplmentaire.

Cette mthode possde une grande souplesse d'administration (logicielle).

Cette mthode prsente l'avantage de la compatibilit entre toutes les machines quipes
du mme logiciel de RAID (cest--dire du mme systme d'exploitation)

Inconvnients

L'inconvnient majeur rside dans le fait que cette mthode repose sur la couche
d'abstraction matrielle des priphriques qui composent le volume RAID. Pour diverses
raisons, cette couche peut tre imparfaite et manquer de certaines fonctions importantes
comme, par exemple, la dtection et le diagnostic des dfauts matriels et/ou la prise en
charge du remplacement chaud (Plug And Play) des units de stockage.

La gestion du RAID monopolise des ressources systmes (lgrement le processeur et


surtout le bus systme) qui pourraient tre employes d'autres fins. La baisse de
performances due la gestion logicielle du raid est particulirement sensible dans des
configurations o le systme doit transfrer plusieurs fois les mmes donnes comme, par
exemple, en RAID1, et, assez faible, dans des configurations sans redondance : exemple,
le RAID 0.

L'utilisation du RAID sur le disque systme n'est pas toujours possible.

Le RAID pseudo-matriel
L'extrme majorit des contrleurs RAID bon march intgrs de nombreuses cartes mres
rcentes en 2004/2005 grent souvent le RAID 0 et 1 sur des disques IDE ou SATA. Malgr le
discours marketing qui tend systmatiquement induire en erreur sur ce point, il ne s'agit pas de
RAID matriel proprement parler mais plutt d'un contrleur de disque dot de quelques
fonctions avances.

D'un point de vue strictement matriel, cette solution hybride n'est pas diffrente d'un RAID
logiciel. Elle diffre cependant sur l'emplacement des routines logicielles de gestion du RAID.
Avantages

L'intrt principal de ce type de RAID est d'apporter une solution au troisime problme
du RAID logiciel, savoir qu'il ne peut pas toujours servir hberger les fichiers du
systme d'exploitation puisque c'est justement ce dernier qui permet d'y accder.

Dans ce type de RAID, la prsence d'un BIOS intgrant les routines logicielles basiques
de gestion du RAID permet de charger en mmoire les fichiers essentiels du systme
d'exploitation (le noyau et les pilotes essentiels).

Puis, le pilote du contrleur intgre les mmes routines logicielles de gestion du RAID et
fournit alors aux couches suprieures de l'OS non pas un accs aux priphriques mais un
accs au volume RAID qu'il mule.

Inconvnients
En dehors de cet avantage important, ce type de RAID cumule les dfauts des deux autres
approches :

Les limitations de performances sont les mmes que pour le raid logiciel car il s'agit
effectivement d'un RAID logiciel camoufl.

Un problme important pos par ces contrleurs hybrides est leur pitre gestion des
dfauts matriels et leurs fonctionnalits BIOS gnralement limites.

L'interoprabilit est trs mauvaise surtout si l'on considre qu'il s'agit gnralement de
matriel intgr aux cartes mres des ordinateurs. Pire, le changement de carte-mre
(voire simplement de version de bios), si la nouvelle utilise des jeux de puces diffrents,
peut imposer de reconstruire le RAID entirement. De manire gnrale, une
reconstruction est possible si l'on reste dans des contrleurs RAID de mme marque mais
de modles diffrents, mais il n'existe pas de rgle dfinie de compatibilit.

La fiabilit annonce de ces dispositifs est assez controverse.

Le RAID matriel
Dans le cas du RAID matriel, une carte ou un composant est ddi la gestion des oprations.
Le contrleur RAID peut tre interne l'unit centrale (carte d'extension) ou dport dans une
baie de stockage.
Un contrleur raid est en gnral dot d'un processeur spcifique, de mmoire, ventuellement
d'une batterie de secours, et est capable de grer tous les aspects du systme de stockage RAID
grce au microcode embarqu (firmware).
Du point de vue du systme d'exploitation, le contrleur RAID matriel offre une virtualisation
complte du systme de stockage. Le systme d'exploitation considre chaque volume RAID
comme un disque et n'a pas connaissance de ses constituants physiques.
Avantages

Les contrleurs RAID matriels permettent la dtection des dfauts, le remplacement


chaud des units dfectueuses et offrent la possibilit de reconstruire de manire
transparente les disques dfaillants. Mais les systmes d'exploitation volus permettent
galement cela si le matriel le permet.

La charge systme (principalement l'occupation du bus) est allge. (surtout dans des
configurations avec beaucoup de disques et une forte redondance)

Les vrifications de cohrence, les diagnostics et les maintenances sont effectus en


arrire plan par le contrleur sans solliciter de ressources systme.

Inconvnients

Les contrleurs RAID matriels utilisent chacun leur propre systme pour grer les units
de stockage. En consquence, au contraire d'un RAID logiciel, des disques transfrs d'un
systme un autre ne pourront pas tre rcuprs si le contrleur RAID n'est pas

exactement le mme (firmware compris). Il est donc conseill de possder une deuxime
carte en cas de panne de la premire.

Les cartes d'entre de gamme possdent des processeurs de puissance bien infrieure
celle des ordinateurs actuels. On peut donc avoir de bien moins bonnes performances
pour le mme prix qu'un RAID logiciel.

Le cot : l'entre de gamme se situe aux alentours de 200 mais les cartes plus
performantes peuvent souvent dpasser les 1000 .

Le contrleur RAID est lui-mme un composant matriel, qui peut tomber en panne. Son
logiciel (firmware) peut contenir des erreurs, ce qui constitue un autre risque de panne
(un nouveau "single-point-of-failure"). Il est peu probable qu'un RAID actuel contienne
des erreurs de programmation (bugs) car il est garanti en moyenne une dizaine d'annes.

Les diffrents fabricants de contrleurs RAID fournissent des outils de gestion logicielle
trs diffrents les uns des autres (et de qualit parfois ingale). l'oppos, les outils de
gestion du RAID logiciel fournis avec un systme d'exploitation sont gnralement bien
intgrs dans ce systme.

La dure du support d'un contrleur RAID par son constructeur (correction de bugs dans
le firmware, par exemple), parfois lie l'arrive de nouveaux produits rendant les
anciens obsoltes, peut tre moins longue ou plus volatile que le support du RAID
logiciel par le fournisseur du systme d'exploitation. Le constructeur peut mme
disparaitre (ce qui est assez rare parmi les fabricants de systmes d'exploitation).

Une moindre souplesse par rapport au RAID logiciel, qui dispose d'une couche
d'abstraction permettant de grer du RAID au-dessus de tout types de priphriques blocs
supports par le systme d'exploitation, locaux ou distants (ATA, SCSI, ATA over
Ethernet, iSCSI... et toutes les combinaisons possibles entre eux). Les contrleurs RAID
sont spcialiss pour un seul type de priphrique bloc.

Les diffrents niveaux de RAID


Les niveaux standard
Les diffrents types d'architecture RAID sont numrots partir de 0 et peuvent se combiner
entre eux (on parlera alors de RAID 0+1, 1+0, etc.).
RAID 0 : volume agrg par bandes

RAID 0
Le RAID 0, galement connu sous le nom d' entrelacement de disques ou de volume agrg
par bandes (striping en anglais) est une configuration RAID permettant d'augmenter
significativement les performances de la grappe en faisant travailler disques durs en parallle
(avec
).

Capacit :
La capacit totale est gale celle du plus petit lment de la grappe multipli par le

nombre d'lments prsent dans la grappe, car le systme d'agrgation par bandes se
retrouvera bloqu une fois que le plus petit disque sera rempli (voir schma). L'espace
excdentaire des autres lments de la grappe restera inutilis. Il est donc conseill
d'utiliser des disques de mme capacit.

Fiabilit :
Le dfaut de cette solution est que la perte d'un seul disque entrane la perte de toutes ses
donnes.

Cot :
Dans un RAID 0, qui n'apporte aucune redondance, tout l'espace disque disponible est
utilis (tant que tous les disques ont la mme capacit).

Dans cette configuration, les donnes sont rparties par bandes (stripes en anglais) d'une taille
fixe. Cette taille est appele granularit .
Exemple : avec un RAID 0 ayant une bande de 64 Ko et compos de deux disques (disque
Disk 0 et disque Disk 1), si l'on veut crire un fichier A de 500 Ko, le fichier sera dcoup en 8
bandes (car
), appelons-les 1, 2, 3, 4, 5, 6, 7 et 8, qui seront rparties sur
l'ensemble des disques de la faon suivante :
Disk 0 : 1, 3, 5, 7
Disk 1 : 2, 4, 6, 8

Ainsi l'criture du fichier pourra tre effectue simultanment sur chacun des disques en un
temps quivalent l'criture de 256 kio.
Ainsi, sur un RAID 0 de disques (avec
), chaque disque ne doit lire et crire que des
donnes, ce qui a pour effet de diminuer les temps d'accs (lecture et criture) aux donnes; les
disques se partageant le travail, les traitements se trouvent acclrs.
Ce type de RAID est parfait pour des applications requrant un traitement rapide d'une grande
quantit de donnes. Mais cette architecture n'assure en rien la scurit des donnes ; en effet, si
l'un des disques tombe en panne, la totalit des donnes du RAID est perdue.
RAID 1 : Disques en miroir

RAID 1
Le RAID 1 consiste en l'utilisation de disques redondants (avec
), chaque disque de la
grappe contenant tout moment exactement les mmes donnes, d'o l'utilisation du mot
miroir (mirroring en anglais).

Capacit :
La capacit totale est gale celle du plus petit lment de la grappe. L'espace

excdentaire des autres lments de la grappe restera inutilis. Il est donc conseill
d'utiliser des lments identiques.

Fiabilit :
Cette solution offre un excellent niveau de protection des donnes. Elle accepte une
dfaillance de
lments.

Cot :
Les cots de stockage sont levs et directement proportionnels au nombre de miroirs
utiliss alors que la capacit totale reste inchange. Plus le nombre de miroirs est lev, et
plus la scurit augmente, mais plus son cot devient prohibitif.

Les accs en lecture du systme d'exploitation se font sur le disque le plus facilement accessible
ce moment-l. Les critures sur la grappe se font de manire simultane sur tous les disques, de
faon ce que n'importe quel disque soit interchangeable tout moment.
Lors de la dfaillance de l'un des disques, le contrleur RAID dsactive, de manire transparente
pour l'accs aux donnes, le disque incrimin. Une fois le disque dfectueux remplac, le

contrleur RAID reconstitue, soit automatiquement, soit sur intervention manuelle, le miroir.
Une fois la synchronisation effectue, le RAID retrouve son niveau initial de redondance.
RAID 5 : volume agrg par bandes parit rpartie

RAID 5
Le RAID 5 combine la mthode du volume agrg par bandes (striping) une parit rpartie. Il
s'agit l d'un ensemble redondance
. La parit, qui est incluse avec chaque criture se
retrouve rpartie circulairement sur les diffrents disques. Chaque bande est donc constitue de
blocs de donnes et d'un bloc de parit. Ainsi, en cas de dfaillance de l'un des disques de la
grappe, pour chaque bande il manquera soit un bloc de donnes soit le bloc de parit. Si c'est le
bloc de parit, ce n'est pas grave, car aucune donne ne manque. Si c'est un bloc de donnes, on
peut calculer son contenu partir des
autres blocs de donnes et du bloc de parit.
L'intgrit des donnes de chaque bande est prserve. Donc non seulement la grappe est
toujours en tat de fonctionner, mais il est de plus possible de reconstruire le disque une fois
chang partir des donnes et des informations de parit contenues sur les autres disques.
On voit donc que le RAID 5 ne supporte la perte que d'un seul disque la fois. Ce qui devient un
problme depuis que les disques qui composent une grappe sont de plus en plus gros (1 To et
plus). Le temps de reconstruction de la parit en cas de disque dfaillant est allong. Il est
gnralement de 2 h pour des disques de 300 Go contre une dizaine d'heures pour 1 To. Pour
limiter le risque il est courant de ddier un disque dit de spare. En rgime normal il est inutilis.
En cas de panne d'un disque il prendra automatiquement la place du disque dfaillant. Cela
ncessite une phase communment appele "recalcul de parit". Elle consiste pour chaque bande
recrer sur le nouveau disque le bloc manquant (donnes ou parit).

Bien sr pendant tout le temps du recalcule de la parit le disque est disponible normalement
pour l'ordinateur qui se trouve juste un peu ralenti.
Exemple pratique : Considrons quatre disques durs A, B, C et D, de tailles identiques. Le
systme va enregistrer les premiers blocs en les rpartissant sur les disques A, B et C comme en
mode RAID 0 (striping) et, sur le disque D, le rsultat de l'opration OU exclusifentre les autres
disques (ici A xor B xor C). Ensuite le systme va enregistrer les blocs suivants en les
rpartissant sur les disques D, A et B, puis la parit (soit D xor A xor B) sur le disque C, et ainsi
de suite en faisant permuter circulairement les disques, chaque bloc. La parit se trouve alors
rpartie sur tous les disques.
En cas de dfaillance d'un disque, les donnes qui s'y trouvaient pourront tre reconstitues par
l'opration xor. En effet, l'opration XOR ( ) a la proprit suivante : si on considre blocs de
taille identique
et si
alors
, et de faon gnrale,
.

C'est--dire que n'importe quel bloc de donnes


perdu cause d'un disque dfaillant sur un
RAID 5 de
disques peut-tre rcupr grce au bloc de donnes de contrle.
On voit donc que si on veut crire dans un bloc, il faut lire le bloc modifier. Lire le bloc de
parit de la bande. crire le bloc de donnes et le bloc de parit. L'opration xor permet
heureusement de calculer la nouvelle parit sans avoir besoin de lire les blocs de donnes de
la bande. Augmenter le nombre de disque d'une grappe RAID 5 n'allonge donc pas le temps de
lecture ou d'criture. Cependant si plusieurs processus veulent crire simultanment dans un ou
plusieurs blocs de donnes d'une mme bande la mise jour du bloc de parit devient un point de
blocage. Les processus concurrents sont suspendus la libration du bloc de parit et de fait cela
limite le dbit d'criture. Plus le nombre de disque d'une grappe RAID 5 augmente plus le temps
de reconstruction d'un disque dfaillant augmente. Puisque pour reconstituer le bloc manquant
d'une bande il faut lire tous les autres blocs de la bande et donc tous les autres disques.
Ce systme ncessite imprativement un minimum de trois disques durs. Ceux-ci doivent
gnralement tre de mme taille, mais un grand nombre de cartes RAID modernes autorisent
des disques de tailles diffrentes.
La capacit de stockage utile relle, pour un systme de disques de capacit identiques est de
. En cas d'utilisation de disques de capacits diffrentes, le systme utilisera dans
la formule prcdente la capacit minimale.
Ainsi par exemple, trois disques de 100 Go en RAID 5 offrent 200 Go utiles ; dix disques,
900 Go utiles.
Ce systme allie scurit (grce la parit) et bonne disponibilit (grce la rpartition de la
parit), mme en cas de dfaillance d'un des priphriques de stockage.

TP RAID : en utilisant une machine virtuelle (VMWAR ou


VIRTUALBOX) Voir le support tp-RAID.PDF