Accueil > Linux > Créer des partitions en Raid1 logiciel sous Linux
cheval bascule

Créer des partitions en Raid1 logiciel sous Linux

La mise en place d’un raid sur un serveur linux n’est pas forcement aisé (tout du moins en ligne de commande). Il faut être très méticuleux sinon ca part vite en vrille. Je vais vous expliquer comment créer des partitions en raid depuis une distribution centos ou fedora.

Dans mon cas, j’avais déjà une partition /boot en raid ainsi qu’une partition / en raid également. Il me reste alors 900Go que je veux partitionner:

 df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/md1               49G  2,0G   45G   5% /
tmpfs                 4,0G     0  4,0G   0% /dev/shm
/dev/md0               92M   12M   75M  14% /boot

Pour partitionner on utilise fdisk. Dans mon cas j’ai des disques Sata donc /dev/sda (a car il est primaire, b si c’est un slave et /dev/hd si c’est de l’IDE… )

fdisk /dev/sda

Commande (m pour l'aide): p

Disque /dev/sda: 1000.2 Go, 1000204886016 octets
255 heads, 63 sectors/track, 121601 cylinders
Unites = cylindres de 16065 * 512 = 8225280 octets
Peripherique Amorce    Debut         Fin      Blocs    Id  Système
/dev/sda1               1          12       96389+  fd  Linux raid autodetect
/dev/sda2              13          77      522112+  83  Linux
/dev/sda3              78        6451    51199155   fd  Linux raid autodetect

La commande p permet d’afficher le partitionnement. On retrouve donc mes trois partitions (/, /boot et le swap).
On voit que mes partitions sont bien en raid:  Linux raid autodetect. Il ne faut pas mettre le swap en mirroir et donc le créé pour chaque disque.

Etant donné que l’on ne peut faire que 4 partitions primaires, et qu’en j’en veux bien plus, je crée une partition étendu qui prendra tout le reste du disque. Dans cette partition étendu je pourrais faire jusqu’à 16 partitions logique, ca me laisse de la marge.

Commande (m pour l'aide): n   //n pour nouvelle partition

On choisit ensuite e pour étendu puis on laisse par défaut le premier cylindre.

Dernier cylindre ou +taille or +tailleM ou +tailleK :+819200M

Ici on peut définir la taille de la partitions étendu. Si je veux qu’elle fasse 800Go alors je met 800*1024=+819200M

La partition étendu est créé, passons aux logiques. L’opération est identique. On entre la commande n pour nouvelle partition, on laisse le premier cylindre par défaut et on choisit ensuite la taille. Par exemple, cette fois ci on veut 50Go donc 50*1024=+51200M. Créer de la même façon les autres partitions.

L’étape suivant consiste à modifier le type de partitions, on veut du Linux raid autodetect (type=FD) au lieu de Linux (type=83) qui est donné par défaut à la création d’une partition par fdisk

Commande (m pour l'aide):t   //t pour type
de partition (1-9): 3  //choisir la partition à modifier
Code Hex (taper L pour lister les codes): FD

Recommencer l’opération pour toutes les partitions à mettre en raid

Une fois terminer, entrer la commande w pour enregistrer, puis q pour quitter.
Il faut répeter exactement la même opération pour le second disque dur /dev/sdb

fdisk /dev/sdb

Donc dans l’ordre, recréer la partition étendu (même taille), puis les partitions (dans le même ordre et même taille que /dev/sda). Ce n’est pas obligatoire l’ordre, mais c’est quand même plus simple pour la suite! Puis modifier le type de partitions pour chaque partitions.

Enregistrer tout, et redémarrer la machine.

Passons maintenant à la création des périphériques /dev/md*

mdadm --create /dev/md2 --level=raid1 --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm --create /dev/md3--level=raid1 --raid-devices=2 /dev/sda5 /dev/sdb5
mdadm --create /dev/md4 --level=raid1 --raid-devices=2 /dev/sda6/dev/sdb6

Attention: dans votre cas, il faut commencer à /dev/md0 si vous n’avez aucune partition en raid. Et de la même façon il faut faire correspondre les les partitions de votre choix qui ont la même taille, donc ca ne sera pas forcemment /dev/sda4 et /dev/sdb4. Bref il faut un minimum adapter en incrémentant de 1 le nom des périphériques.

Il est possible de suivre la synchronisation des partitions en mirroir:

cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb3[1] sda3[0]
51199040 blocks [2/2] [UU]

md2 : active raid1 sdb5[1] sda5[0]
50010240 blocks [2/2] [UU]

md3 : active raid1 sdb6[1] sda6[0]
100004480 blocks [2/2] [UU]

md4 : active raid1 sdb7[1] sda7[0]
600011584 blocks [2/2] [UU]

md5 : active raid1 sdb8[1] sda8[0]
2008000 blocks [2/2] [UU]

md0 : active raid1 sdb1[1] sda1[0]
96320 blocks [2/2] [UU]

unused devices: none;

Cette opération prend beaucoup de temps en fonction de la taille des partitions.
Les synchronisations se lancent l’une après l’autre, pour regarder l’évolution au cas par cas:

mdadm --detail /dev/md3
/dev/md3:
Version : 00.90.03
Creation Time : Tue May 26 01:19:49 2009
Raid Level : raid1
Array Size : 100004480 (95.37 GiB 102.40 GB)
Used Dev Size : 100004480 (95.37 GiB 102.40 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 3
Persistence : Superblock is persistent

Update Time : Thu May 28 04:04:18 2009
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Number   Major   Minor   RaidDevice State
0       8        6        0      active sync   /dev/sda6
1       8       22        1      active sync   /dev/sdb6

Le système ne se rappellera pas automatiquement que vous avez assemblé des partitions en raid. Pour lui rappeler il faut le préciser dans le fichier /etc/mdadm.conf. Pour ca, on peut lancer la commande

mdadm –detail –scan –verbose > /etc/mdadm.conf

Il ne reste plus qu’à formater ces partitions en raid et à les monter.

 mkfs.ext3 /dev/md4
mkfs.ext3 /dev/md5
etc..

Ca prend quelques minutes. Dès que toutes les partitions sont formatés avec le type de fichier ext3, on va les monter.

mkdir /www /vmail /disk01

Enfin vous faite comme vous le souhaitez, puis on va préciser dans le fichier /etc/fstab les partitions à monter

/dev/md1        /       ext3    defaults,errors=remount-ro      0       1
/dev/md0        /boot   ext3    defaults        0       2
/dev/sda2       none    swap    sw      0       0
/dev/sdb2       none    swap    sw      0       0
/dev/md2        /disk01 ext3    defaults        1       2
/dev/md3        /www    ext3    defaults        1       2
/dev/md4        /vmail  ext3    defaults        1       2
/dev/md5        /tmp    ext3    defaults        1       2

Puis on monte tous les périphériques du fichier /etc/fstab qui ne sont pas encore monté

mount -a 

Vous pouvez également faire du cas par cas

mount /dev/md4 /vmail

Normalement vous devriez finalement avoir quelque chose qui ressemble à ça

df -h
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
/dev/md1               49G  2,0G   45G   5% /
tmpfs                 4,0G     0  4,0G   0% /dev/shm
/dev/md0               92M   12M   75M  14% /boot
/dev/md2               47G  181M   45G   1% /disk01
/dev/md3               94G  205M   89G   1% /www
/dev/md4              564G  198M  535G   1% /vmail
/dev/md5              1,9G   35M  1,8G   2% /tmp

Pour informations, en terme de sécurité et de maintenance, il est très important de faire une partition pour /boot et /tmp.

En espérant que ça en aide plus d’un

A+

Categories: Linux Tags: , ,

Click to Insert Smiley

SmileBig SmileGrinLaughLOLFrownBig FrownWinkKissRazzAngelAngryReally AngryConfusedNeutralThinkingChicCoolNerdSillyDrunken RazzMad RazzEvil GrinMeanPissed OffReally PissedCurseShoutGrit TeethCryWeepSide FrownWiltSmugDisdainRoll EyesSarcasmLoserTalk to the HandShyBeat UpPainShameBeautyBlushCuteLashesKissingKiss BlowKissedHeh!SmirkSnickerGiggleIn LoveDroolEek!ShockSickSuspenseTrembleDazedHypnotizedFoot in MouthMoney MouthQuietShut MouthDOH!IDKQuestionLyingStruggleSweatStopByeGo AwayWavingTime OutCall MeOn the PhoneMeetingSecretHandshakeHigh FiveHug LeftHug RightClapDanceJumpFingers CrossedVictoryYawnSleepyPrayWorshipWaitingAlienClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicPartyPirateSkywalkerSnowmanSoldierGhostSkeletonEatStarvingVampireZombie KillerBunnyCatCat 2ChickChickenChicken 2CowCow 2DogDog 2DuckGoatHippoKoalaLionMonkeyMonkey 2MousePandaPigPig 2SheepSheep 2ReindeerSnailTigerTurtleFemaleMaleHeartBroken HeartRoseDead RosePeaceYin YangUS FlagMoonStarSunCloudyRainThunderUmbrellaRainbowMusic NoteYesNoAirplaneCarIslandAnnouncebrbBeerDrinkLiquorCakeCoffeePizzaWatermelonBowlPlateCanMailCellPhoneCameraFilmTVClockLampSearchCoinsComputerConsolePresentSoccerCloverPumpkinBombHammerKnifeHandcuffsPillPoopCigarette
Get Adobe Flash playerPlugin by wpburn.com wordpress themes