Dga
01/09/2010, 00h45
Vous pouvez retrouver ce tuto sur mon blog
http://lnk.sweetweb.fr/SwapRaid0
J’ai plein de notes sur mon google docs, et je me suis dit pourquoi pas partager mon expérience avec vous.
Je me suis inspiré du tuto de Toorop (blog.toorop.fr) visible à cette adresse :
How To: Serveur OVH Hybrid (SSD+SATA) sous openvz « In My Mind
Je suis en plein test de Xen, je le test sur les derniers EG Hybrid d’OVH avec une carte Raid LSI, 2 HDD 750Go et 2 SSD 80Go.
80Go étant trop petit à mon gout, je me sert de mes 2 SSD de swap ! En raid0 donc ça fait environ 150Go de swap!
Heu oui, vous avez bien lu 150Go de swap, c’est énorme, un peu du gâchis j’avoue. Mais je veux pas ralentir mes VMs quand l’une d’elle va swapé.
! Attention, ce tutoriel n’a rien avoir avec Xen, si vous voulez que la swap des VMs soit sur les SSD en raid0 il faudra créer une partition lvm vide et non une partition swap !
Un petit peu de teasing !
Pas mal, non ?
Depuis quelques mois OVH a renouvelé ses cartes raid, c’est pas plus mal, car j’en ai une sur un vieux EG et avec, tu dépasses pas les 50 Mo/s
On passe donc d’une vieille carte 3ware à une LSI (LSI Logic SAS1064E B3) flambant « neuf », l’option raid hard est payante par contre alors qu’avant non, mais au moins on peut enfin profiter de la puissance des SSD avec du raid hard sur des machines OVH.
J’ai rien contre le raid soft, je l’utilise sur la plupart de mes machines et j’en suis très satisfait, mais je voulais tester cette nouvelle carte.
On va commencer par effacer toutes les partitions du SSD, la commande magique « lsiutil »
On sélectionne notre carte raid : 1
Ensuite direction Raid actions : 21
Pou vérifier si vos SSD font bien partie du volume 1, affichez les volumes : 1
Vous devriez avoir ceci
2 volumes et 4 disques, par défaut les deux volumes sont en raid1 (Mirroring), ceux qui nous intéressent sont les deux SSD de 75340 Mo.
On va effacer le volume 1, tapez 31 puis il vous demande quel volume est à supprimer ici le 1, vous confirmez.
Nous allons recréer le volume mais cette fois-ci en raid0, tapez 30
Là on voit deux disques de libres.
Selectionnez le premier : 1, puis le deuxième : 2.
Ensuite on a le choix entre un raid1 (Mirroring) ou du Raid0 (Striping), donc tapez 1, si vous voulez utiliser la totalité des SSD laissez la valeur par défaut (151,5 Go), j’ai laissé tout par défaut.
Pour vérifiez, un petit show volume, 1
On a bien les HDD en Raid1 et les SSD en Raid0, vous pouvez quitter l’utilitaire avec 0.
Nous allons pouvoir créer notre partition pour la swap.
On va vérifier sous quel nom sont les SSD, tapez fdisk -l
Vous devriez avoir ceci:
Ici notre volume est monté sous /dev/sdb
Tapez m, pour voir la liste des commandes :
Tapez l pour afficher les différents types de partitions :
Celle qui nous intéresse c’est n (add a new partition) et 83 (Linux swap / Solaris)
Ensuite pour valider et quitter tapez w (write table to disk and exit)
Cependant si on fait un petit fdisk -l on s’aperçoit que notre partition n’est pas pour la swap. On refait fdisk /dev/sdb, tapez t 83 pour changer le type de partition, et tapez 82 puis w.
Maintenant il va falloir dire à notre système d’utiliser /dev/sdb1 et non /dev/sda2 comme swap
Celà peut prendre une bonne dizaine de minutes avec une partition de 150Go !
# Setting up swapspace version 1, size = 158895919 kB
On désactive l’ancienne swap
Et on active la nouvelle
Ne pas oublier d’éditer /etc/fstab pour que cette nouvelle partition soit monté, car sinon au prochain reboot vous allez avoir des surprise.
Celà devrait ressembler à ceci après modificaiton :
Ensuite pour monter le nouveau volume et retirer l’ancien
Et voilà la bête :
Un petit reboot pour être sur que tout va bien. (pas obligatoire, mais au moins au prochain reboot si il y a une merde, on sera que ça ne viendra pas de notre swap)
Pour les curieux vous pouvez faire un test d’écriture sur le volume en Raid0 avec hdparm
Et pour comparer avec les HDD
J’attend avec impatience les futurs SSD 600Go d’intel, comme ça un petit raid10 avec 6 SSD 600Go et 2 SSD 32Go en raid0 pour la swap et là mes VMs seront des petites fusées.
Bon c’est pas pour tout de suite, fin d’année 2010 d’après Octave (et mon porte feuille n’est pas encore prêt).
http://lnk.sweetweb.fr/SwapRaid0
J’ai plein de notes sur mon google docs, et je me suis dit pourquoi pas partager mon expérience avec vous.
Je me suis inspiré du tuto de Toorop (blog.toorop.fr) visible à cette adresse :
How To: Serveur OVH Hybrid (SSD+SATA) sous openvz « In My Mind
Je suis en plein test de Xen, je le test sur les derniers EG Hybrid d’OVH avec une carte Raid LSI, 2 HDD 750Go et 2 SSD 80Go.
80Go étant trop petit à mon gout, je me sert de mes 2 SSD de swap ! En raid0 donc ça fait environ 150Go de swap!
Heu oui, vous avez bien lu 150Go de swap, c’est énorme, un peu du gâchis j’avoue. Mais je veux pas ralentir mes VMs quand l’une d’elle va swapé.
! Attention, ce tutoriel n’a rien avoir avec Xen, si vous voulez que la swap des VMs soit sur les SSD en raid0 il faudra créer une partition lvm vide et non une partition swap !
Un petit peu de teasing !
Code:
# free -m total used free shared buffers cached Mem: 12031 441 11589 0 9 93 -/+ buffers/cache: 338 11692 Swap: 151534 0 151534 # hdparm -tT /dev/sdb /dev/sdb: Timing cached reads: 34736 MB in 2.00 seconds = 17384.13 MB/sec Timing buffered disk reads: 1558 MB in 3.00 seconds = 519.30 MB/sec
Depuis quelques mois OVH a renouvelé ses cartes raid, c’est pas plus mal, car j’en ai une sur un vieux EG et avec, tu dépasses pas les 50 Mo/s
On passe donc d’une vieille carte 3ware à une LSI (LSI Logic SAS1064E B3) flambant « neuf », l’option raid hard est payante par contre alors qu’avant non, mais au moins on peut enfin profiter de la puissance des SSD avec du raid hard sur des machines OVH.
J’ai rien contre le raid soft, je l’utilise sur la plupart de mes machines et j’en suis très satisfait, mais je voulais tester cette nouvelle carte.
On va commencer par effacer toutes les partitions du SSD, la commande magique « lsiutil »
On sélectionne notre carte raid : 1
Ensuite direction Raid actions : 21
Pou vérifier si vos SSD font bien partie du volume 1, affichez les volumes : 1
Vous devriez avoir ceci
Code:
2 volumes are active, 4 physical disks are active Volume 0 is Bus 0 Target 0, Type IM (Integrated Mirroring) Volume Name: Volume WWID: 024ea689498e459d Volume State: optimal, enabled Volume Settings: write caching disabled, auto configure Volume draws from Hot Spare Pools: 0 Volume Size 715255 MB, 2 Members Primary is PhysDisk 1 (Bus 0 Target 10) Secondary is PhysDisk 0 (Bus 0 Target 1) Volume 1 is Bus 0 Target 2, Type IM (Integrated Mirroring) Volume Name: Volume WWID: 0a32a61241aa4464 Volume State: optimal, enabled Volume Settings: write caching disabled, auto configure Volume draws from Hot Spare Pools: 0 Volume Size 75340 MB, 2 Members Primary is PhysDisk 2 (Bus 0 Target 11) Secondary is PhysDisk 3 (Bus 0 Target 3)
On va effacer le volume 1, tapez 31 puis il vous demande quel volume est à supprimer ici le 1, vous confirmez.
Code:
RAID actions menu, select an option: [1-99 or e/p/w or 0 to quit] 31 Volume: [0-1 or RETURN to quit] 1 All data on Volume 1 will be lost! Are you sure you want to continue? [Yes or No, default is No] Yes Volume 1 is being deleted RAID ACTION returned IOCLogInfo = 00000001
Là on voit deux disques de libres.
Code:
RAID actions menu, select an option: [1-99 or e/p/w or 0 to quit] 30 B___T___L Type Vendor Product Rev Disk Blocks Disk MB 1. 0 2 0 Disk ATA INTEL SSDSA2M080 02HD 156301488 76319 2. 0 3 0 Disk ATA INTEL SSDSA2M080 02HD 156301488 76319 To create a volume, select 2 or more of the available targets select 2 to 10 targets for a mirrored volume select 2 to 10 targets for a striped volume
Code:
Select a target: [1-2 or RETURN to quit] 1 Select a target: [1-2 or RETURN to quit] 2 2 physical disks were created
Code:
Select volume type: [0=Mirroring, 1=Striping, default is 0] 1 Select volume size: [1 to 151536 MB, default is 151536] Select stripe size: [4 to 256 KB, default is 64] Enable write caching: [Yes or No, default is Yes] Zero the first and last blocks of the volume? [Yes or No, default is No] Skip initial volume resync? [Yes or No, default is No] Volume was created
Code:
RAID actions menu, select an option: [1-99 or e/p/w or 0 to quit] 1 2 volumes are active, 4 physical disks are active Volume 0 is Bus 0 Target 0, Type IM (Integrated Mirroring) Volume Name: Volume WWID: 024ea689498e459d Volume State: optimal, enabled Volume Settings: write caching disabled, auto configure Volume draws from Hot Spare Pools: 0 Volume Size 715255 MB, 2 Members Primary is PhysDisk 1 (Bus 0 Target 10) Secondary is PhysDisk 0 (Bus 0 Target 1) Volume 1 is Bus 0 Target 2, Type IS (Integrated Striping) Volume Name: Volume WWID: 0d71b19c9d6d48f2 Volume State: optimal, enabled Volume Settings: write caching enabled Volume Size 151536 MB, Stripe Size 64 KB, 2 Members Member 0 is PhysDisk 2 (Bus 0 Target 11) Member 1 is PhysDisk 3 (Bus 0 Target 3)
Nous allons pouvoir créer notre partition pour la swap.
On va vérifier sous quel nom sont les SSD, tapez fdisk -l
Vous devriez avoir ceci:
Code:
# fdisk -l Disk /dev/sda: 749.9 GB, 749999226880 bytes 255 heads, 63 sectors/track, 91182 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 9562 76800993 83 Linux /dev/sda2 9562 9627 524288 82 Linux swap / Solaris /dev/sda3 9627 91182 655094102+ f W95 Ext’d (LBA) /dev/sda5 9627 91182 655094102 8e Linux LVM Disk /dev/sdb: 158.8 GB, 158897012736 bytes 255 heads, 63 sectors/track, 19318 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn’t contain a valid partition table
Code:
# fdisk /dev/sdb
Code:
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition’s system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
Code:
Command (m for help): l 0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris 1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c7 Syrinx 5 Extended 41 PPC PReP Boot 85 Linux extended da Non-FS data 6 FAT16 42 SFS 86 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set de Dell Utility 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Code:
Command (m for help): n 83 Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-19318, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-19318, default 19318): Using default value 19318
Cependant si on fait un petit fdisk -l on s’aperçoit que notre partition n’est pas pour la swap. On refait fdisk /dev/sdb, tapez t 83 pour changer le type de partition, et tapez 82 puis w.
Code:
# fdisk /dev/sdb Command (m for help): t 83 Selected partition 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap / Solaris) Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Code:
# fdisk -l Disk /dev/sda: 749.9 GB, 749999226880 bytes 255 heads, 63 sectors/track, 91182 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 9562 76800993 83 Linux /dev/sda2 9562 9627 524288 82 Linux swap / Solaris /dev/sda3 9627 91182 655094102+ f W95 Ext’d (LBA) /dev/sda5 9627 91182 655094102 8e Linux LVM Disk /dev/sdb: 158.8 GB, 158897012736 bytes 255 heads, 63 sectors/track, 19318 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 19318 155171803+ 82 Linux swap / Solaris
Code:
# mkswap -c /dev/sdb1
# Setting up swapspace version 1, size = 158895919 kB
On désactive l’ancienne swap
Code:
# swapoff /dev/sda2
Code:
# swapon /dev/sdb1
Code:
# nano /etc/fstab
Code:
/dev/sda1 / ext3 errors=remount-ro 0 1 #/dev/sda2 swap swap defaults 0 0 /dev/sdb1 swap swap defaults 0 0 #/dev/vg/lv1 /vps ext3 defaults 1 2 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts defaults 0 0
Code:
# mount -a
Code:
# free -m total used free shared buffers cached Mem: 12028 436 11592 0 9 90 -/+ buffers/cache: 336 11692 Swap: 151534 0 151534
Pour les curieux vous pouvez faire un test d’écriture sur le volume en Raid0 avec hdparm
Code:
# hdparm -tT /dev/sdb /dev/sdb: Timing cached reads: 34736 MB in 2.00 seconds = 17384.13 MB/sec Timing buffered disk reads: 1558 MB in 3.00 seconds = 519.30 MB/sec
Code:
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 33924 MB in 2.00 seconds = 16977.16 MB/sec Timing buffered disk reads: 352 MB in 3.01 seconds = 116.95 MB/sec
Bon c’est pas pour tout de suite, fin d’année 2010 d’après Octave (et mon porte feuille n’est pas encore prêt).