La gestion des disques avec LVM
Présentation
Linux permet de gérer les disques via LVM qui est l’acronyme de Logical Volume Manager.
Cet outil fut développé par IBM pour l’AIX3 et fut porté par la firme sous linux.
Il n’y a pas de standard pour la structure des différents éléments qu’utilise LVM et donc chaque constructeur a développé ses propres spécifications.
Ce qui rend le portage et la compatibilité entre constructeurs difficile voir impossible.
Le schéma ci-dessous représente un exemple simple, pour un seveur mysql, sur le mode de fonctionnement de LVM

Dans le schéma ci dessus on voit que tous les PV (Volumes Physiques) sont rattachés à un » Volume Group » qui du point de vu serveur représente un seul disque.
L’étape suivante consistera à créer les volumes logiques afin de les rattachés aux points de montage pour chaque FS (File System);
Périmètre de l’article
Cet article ne prend pas en compte :
- L’utilisation d’une baie de disque
- La configuration de MySql
- La gestion des partitions des disques sous linux
Création des volumes physiques
Premier contrôle : combien j’ai de place sur mon serveur ?
- Avant de pouvoir créer un Volume physique il faut d’abord connaitre les disques physiques présents sur le serveur.
- Pour cela la commande fdisk –l nous donnera toutes les informations nécessaires :
[pastacode lang= »bash » manual= »%23%20fdisk%20-l%0A%0ADisque%20%2Fdev%2Fsda%3A%208589%20Mo%2C%208589934592%20octets%0A255%20t%C3%AAtes%2C%2063%20secteurs%2Fpiste%2C%201044%20cylindres%0AUnit%C3%A9s%20%3D%20cylindres%20de%2016065%20*%20512%20%3D%208225280%20octets%0ASector%20size%20(logical%2Fphysical)%3A%20512%20bytes%20%2F%20512%20bytes%0AI%2FO%20size%20(minimum%2Foptimal)%3A%20512%20bytes%20%2F%20512%20bytes%0AIdentifiant%20de%20disque%20%3A%200×00061088%0A%0AP%C3%A9riph%C3%A9rique%20Amorce%20%20D%C3%A9but%20%20%20%20%20%20%20%20Fin%20%20%20%20%20%20Blocs%20%20%20%20%20Id%20%20Syst%C3%A8me%0A%2Fdev%2Fsda1%20%20%20*%20%20%20%20%20%20%20%20%20%20%201%20%20%20%20%20%20%20%20%20%2064%20%20%20%20%20%20512000%20%20%2083%20%20Linux%0ALa%20partition%201%20ne%20se%20termine%20pas%20sur%20une%20fronti%C3%A8re%20de%20cylindre.%0A%2Fdev%2Fsda2%20%20%20%20%20%20%20%20%20%20%20%20%20%2064%20%20%20%20%20%20%20%201045%20%20%20%20%207875584%20%20%208e%20%20Linux%20LVM%0A%0ADisque%20%2Fdev%2Fsdb%3A%208589%20Mo%2C%208589934592%20octets%0A255%20t%C3%AAtes%2C%2063%20secteurs%2Fpiste%2C%201044%20cylindres%0AUnit%C3%A9s%20%3D%20cylindres%20de%2016065%20*%20512%20%3D%208225280%20octets%0ASector%20size%20(logical%2Fphysical)%3A%20512%20bytes%20%2F%20512%20bytes%0AI%2FO%20size%20(minimum%2Foptimal)%3A%20512%20bytes%20%2F%20512%20bytes%0AIdentifiant%20de%20disque%20%3A%200×00000000%0A%0A%0ADisque%20%2Fdev%2Fmapper%2Fvg_cesdbmaster-lv_root%3A%207205%20Mo%2C%207205814272%20octets%0A255%20t%C3%AAtes%2C%2063%20secteurs%2Fpiste%2C%20876%20cylindres%0AUnit%C3%A9s%20%3D%20cylindres%20de%2016065%20*%20512%20%3D%208225280%20octets%0ASector%20size%20(logical%2Fphysical)%3A%20512%20bytes%20%2F%20512%20bytes%0AI%2FO%20size%20(minimum%2Foptimal)%3A%20512%20bytes%20%2F%20512%20bytes%0AIdentifiant%20de%20disque%20%3A%200×00000000%0A%0A%0ADisque%20%2Fdev%2Fmapper%2Fvg_cesdbmaster-lv_swap%3A%20855%20Mo%2C%20855638016%20octets%0A255%20t%C3%AAtes%2C%2063%20secteurs%2Fpiste%2C%20104%20cylindres%0AUnit%C3%A9s%20%3D%20cylindres%20de%2016065%20*%20512%20%3D%208225280%20octets%0ASector%20size%20(logical%2Fphysical)%3A%20512%20bytes%20%2F%20512%20bytes%0AI%2FO%20size%20(minimum%2Foptimal)%3A%20512%20bytes%20%2F%20512%20bytes%0AIdentifiant%20de%20disque%20%3A%200×00000000%0A » message= » » highlight= »1″ provider= »manual »/]
La capture ci dessus nous montre que nous avons
- Un disque appelé sda contenant 2 partitions :
- /dev/sda1 qui contient notre système d’amorçage de notre OS
- /dev/sda2 qui contient une partition de type LVM qui est en fait notre volume physique.
- Un disque appelé sdb qui pour l’instant n’est pas affecté.
Nous pouvons maintenant contrôler où est affecté notre volume physique :
[pastacode lang= »bash » manual= »%23%20pvdisplay%20%2Fdev%2Fsda2%0A%20%20—%20Physical%20volume%20—%0A%20%20PV%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdev%2Fsda2%0A%20%20VG%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vg_cesdbmaster%0A%20%20PV%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%207%2C51%20GiB%20%2F%20not%20usable%203%2C00%20MiB%0A%20%20Allocatable%20%20%20%20%20%20%20%20%20%20%20yes%20(but%20full)%0A%20%20PE%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%204%2C00%20MiB%0A%20%20Total%20PE%20%20%20%20%20%20%20%20%20%20%20%20%20%201922%0A%20%20Free%20PE%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Allocated%20PE%20%20%20%20%20%20%20%20%20%201922%0A%20%20PV%20UUID%20%20%20%20%20%20%20%20%20%20%20%20%20%20%208xiikU-wmHK-hvFl-J1w7-sbc4-cvE1-vXPlev%0A » message= » » highlight= »1″ provider= »manual »/]
La capture ci-dessus nous montre :
- Ligne 3 : Notre volume physique est bien rattaché à /dev/sda2
- Ligne 4 : Le volume Physique est rattaché au volume groupe vg_cesdbmaster
Création du volume physique
La création d’un PV se fait via la commande pvcreate « Nom du disque » comme le montre la commande ci-dessous.
[pastacode lang= »bash » manual= »%23%20pvcreate%20%2Fdev%2Fsdb%0A%20%20Physical%20volume%20%22%2Fdev%2Fsdb%22%20successfully%20created%0A » message= » » highlight= »1″ provider= »manual »/]
Le PV a était créé nous pouvons contrôler que tout va bien avec la commande pvdisplay
[pastacode lang= »bash » manual= »%23%20pvdisplay%20%2Fdev%2Fsdb%0A%20%20%22%2Fdev%2Fsdb%22%20is%20a%20new%20physical%20volume%20of%20%228%2C00%20GiB%22%0A%20%20—%20NEW%20Physical%20volume%20—%0A%20%20PV%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdev%2Fsdb%0A%20%20VG%20Name%0A%20%20PV%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%208%2C00%20GiB%0A%20%20Allocatable%20%20%20%20%20%20%20%20%20%20%20NO%0A%20%20PE%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Total%20PE%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Free%20PE%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Allocated%20PE%20%20%20%20%20%20%20%20%20%200%0A%20%20PV%20UUID%20%20%20%20%20%20%20%20%20%20%20%20%20%20%205szPZx-S7pn-hAFQ-jotd-x83v-kfcD-2i5u5P%0A » message= » » highlight= »1″ provider= »manual »/]
Nous aurrons pu découper le disque en plusieurs partitions comme dans le disque /dev/sda.
Création des volumes groups
Présentation du volume groupe
- Du point de vu système, un groupe de volumes correspond à un disque.
- Un ou plusieurs volumes physiques peuvent lui être attachés
- Il apparaît comme un disque dont la capacité est la somme des capacité de ces volumes physiques.
- Un groupe de volume peut être considéré comme un disque virtuel.
Création du volume groupe (VG) pour Mysql
[pastacode lang= »bash » manual= »%23%20vgcreate%20vg_data_mysql%20%2Fdev%2Fsdb%0A%20%20Volume%20group%20%22vg_data_mysql%22%20successfully%20created%0A » message= » » highlight= »1″ provider= »manual »/]
La commande de création de volume groupe créé le nom du VG et affecte à la volée le PV
Comme le montre la capture ci-dessous, le PV /dev/sdb est bien affecté au VG vg_data_mysql.
[pastacode lang= »bash » manual= »%23%20vgdisplay%20vg_data_mysql%0A%20%20—%20Volume%20group%20—%0A%20%20VG%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vg_data_mysql%0A%20%20System%20ID%0A%20%20Format%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lvm2%0A%20%20Metadata%20Areas%20%20%20%20%20%20%20%201%0A%20%20Metadata%20Sequence%20No%20%201%0A%20%20VG%20Access%20%20%20%20%20%20%20%20%20%20%20%20%20read%2Fwrite%0A%20%20VG%20Status%20%20%20%20%20%20%20%20%20%20%20%20%20resizable%0A%20%20MAX%20LV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Cur%20LV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Open%20LV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Max%20PV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20Cur%20PV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%0A%20%20Act%20PV%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%0A%20%20VG%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%208%2C00%20GiB%0A%20%20PE%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%204%2C00%20MiB%0A%20%20Total%20PE%20%20%20%20%20%20%20%20%20%20%20%20%20%202047%0A%20%20Alloc%20PE%20%2F%20Size%20%20%20%20%20%20%200%20%2F%200%0A%20%20Free%20%20PE%20%2F%20Size%20%20%20%20%20%20%202047%20%2F%208%2C00%20GiB%0A%20%20VG%20UUID%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20e1Idtc-1zji-OXkI-5IaY-1DCD-OdCn-KVHfna%0A » message= » » highlight= »1″ provider= »manual »/]
Création des volumes logiques
Présentation du volume logique (LV)
- Un volume logique correspond à une partition d’un VG.
- Le LV est composé de blocs physiques qui ne sont pas forcément sur le même disque ( Nous verrons pourquoi un peu plus loin ).
- Les LV peuvent aussi augmentés par des blocs de tailles fixes, les blocs logiques ( On y vient ).
- Un volume logique peut être considéré comme une partition virtuelle qui sera formatée avec un système de fichier.
- Les blocs logiques sont les constituantes des LV.
LV pour les données MySql
On créé le LV Data MySql
[pastacode lang= »bash » manual= »%23%20lvcreate%20-L%205G%20-n%20lv_data_mysql%20vg_data_mysql%0A%20%20Logical%20volume%20%22lv_data_mysql%22%20created.%0A » message= » » highlight= »1″ provider= »manual »/]
On contrôle de la taille du LV Data MySql
[pastacode lang= »bash » manual= »%23%20lvdisplay%20%2Fdev%2Fvg_data_mysql%2Flv_data_mysql%0A%20%20—%20Logical%20volume%20—%0A%20%20LV%20Path%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdev%2Fvg_data_mysql%2Flv_data_mysql%0A%20%20LV%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lv_data_mysql%0A%20%20VG%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vg_data_mysql%0A%20%20LV%20UUID%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20iaO1u5-Dirc-1JDp-49W2-Tx5n-MtnX-CGF2Pe%0A%20%20LV%20Write%20Access%20%20%20%20%20%20%20%20read%2Fwrite%0A%20%20LV%20Creation%20host%2C%20time%20CESDBMaster%2C%202017-06-20%2003%3A58%3A27%20%2B0200%0A%20%20LV%20Status%20%20%20%20%20%20%20%20%20%20%20%20%20%20available%0A%20%20%23%20open%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20LV%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%205%2C00%20GiB%0A%20%20Current%20LE%20%20%20%20%20%20%20%20%20%20%20%20%201280%0A%20%20Segments%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%0A%20%20Allocation%20%20%20%20%20%20%20%20%20%20%20%20%20inherit%0A%20%20Read%20ahead%20sectors%20%20%20%20%20auto%0A%20%20-%20currently%20set%20to%20%20%20%20%20256%0A%20%20Block%20device%20%20%20%20%20%20%20%20%20%20%20253%3A2%0A » message= » » highlight= »1″ provider= »manual »/]
Création du LV pour les logs MySql
On créé le LV logs MySql
[pastacode lang= »bash » manual= »%23%20lvcreate%20-L%202G%20-n%20lv_logs_mysql%20vg_data_mysql%0A%20%20Logical%20volume%20%22lv_logs_mysql%22%20created.%0A » message= » » highlight= »1″ provider= »manual »/]
On contrôle de la taille du LV logs MySql
[pastacode lang= »bash » manual= »%23%20lvdisplay%20%2Fdev%2Fvg_data_mysql%2Flv_logs_mysql%0A%20%20—%20Logical%20volume%20—%0A%20%20LV%20Path%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2Fdev%2Fvg_data_mysql%2Flv_logs_mysql%0A%20%20LV%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lv_logs_mysql%0A%20%20VG%20Name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20vg_data_mysql%0A%20%20LV%20UUID%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20LdKhCP-alck-cmuO-geQM-GZE9-0I5t-whI4W7%0A%20%20LV%20Write%20Access%20%20%20%20%20%20%20%20read%2Fwrite%0A%20%20LV%20Creation%20host%2C%20time%20CESDBMaster%2C%202017-06-20%2006%3A33%3A59%20%2B0200%0A%20%20LV%20Status%20%20%20%20%20%20%20%20%20%20%20%20%20%20available%0A%20%20%23%20open%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%200%0A%20%20LV%20Size%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%202%2C00%20GiB%0A%20%20Current%20LE%20%20%20%20%20%20%20%20%20%20%20%20%20512%0A%20%20Segments%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201%0A%20%20Allocation%20%20%20%20%20%20%20%20%20%20%20%20%20inherit%0A%20%20Read%20ahead%20sectors%20%20%20%20%20auto%0A%20%20-%20currently%20set%20to%20%20%20%20%20256%0A%20%20Block%20device%20%20%20%20%20%20%20%20%20%20%20253%3A3%0A » message= » » highlight= »1″ provider= »manual »/]
Création des points de montage
Data Mysql
Stopper le service mysql
[pastacode lang= »bash » manual= »%23%20service%20mysql%20stop%0AShutting%20down%20MySQL.%20SUCCESS!%0A » message= » » highlight= »1″ provider= »manual »/]
Sauvegarde des données MySql
[pastacode lang= »bash » manual= »%23%20mv%20%2Fvar%2Flib%2Fmysql%2F%20%2Fvar%2Flib%2Fmysql.old%0A » message= » » highlight= »1″ provider= »manual »/]
Création du nouveau point de montage
[pastacode lang= »bash » manual= »%23%20mkdir%20%2Fvar%2Flib%2Fmysql%2F%0A » message= » » highlight= » » provider= »manual »/]
Positionnement des droits
[pastacode lang= »bash » manual= »chown%20mysql%3A%20%2Fvar%2Flib%2Fmysql%2F%0A » message= » » highlight= »1″ provider= »manual »/]
Préparation du FS pour les données MySql
Formatage du FS
[pastacode lang= »bash » manual= »%23%20mkfs.ext4%20%2Fdev%2Fvg_data_mysql%2Flv_data_mysql%0Amke2fs%201.41.12%20(17-May-2010)%0A%C3%89tiquette%20de%20syst%C3%A8me%20de%20fichiers%3D%0AType%20de%20syst%C3%A8me%20d’exploitation%C2%A0%3A%20Linux%0ATaille%20de%20bloc%3D4096%20(log%3D2)%0ATaille%20de%20fragment%3D4096%20(log%3D2)%0A%C2%AB%C2%A0Stride%C2%A0%C2%BB%20%3D%200%20blocs%2C%20%C2%AB%C2%A0Stripe%20width%C2%A0%C2%BB%20%3D%200%20blocs%0A327680%20i-noeuds%2C%201310720%20blocs%0A65536%20blocs%20(5.00%25)%20r%C3%A9serv%C3%A9s%20pour%20le%20super%20utilisateur%0APremier%20bloc%20de%20donn%C3%A9es%3D0%0ANombre%20maximum%20de%20blocs%20du%20syst%C3%A8me%20de%20fichiers%3D1342177280%0A40%20groupes%20de%20blocs%0A32768%20blocs%20par%20groupe%2C%2032768%20fragments%20par%20groupe%0A8192%20i-noeuds%20par%20groupe%0ASuperblocs%20de%20secours%20stock%C3%A9s%20sur%20les%20blocs%C2%A0%3A%0A%20%20%20%20%20%20%20%2032768%2C%2098304%2C%20163840%2C%20229376%2C%20294912%2C%20819200%2C%20884736%0A%0A%C3%89criture%20des%20tables%20d’i-noeuds%C2%A0%3A%20compl%C3%A9t%C3%A9%0ACr%C3%A9ation%20du%20journal%20(32768%20blocs)%C2%A0%3A%20compl%C3%A9t%C3%A9%0A%C3%89criture%20des%20superblocs%20et%20de%20l’information%20de%20comptabilit%C3%A9%20du%20syst%C3%A8me%20de%0Afichiers%C2%A0%3A%20compl%C3%A9t%C3%A9%0A%0ALe%20syst%C3%A8me%20de%20fichiers%20sera%20automatiquement%20v%C3%A9rifi%C3%A9%20tous%20les%2029%20montages%20ou%0Aapr%C3%A8s%20180%20jours%2C%20selon%20la%20premi%C3%A8re%20%C3%A9ventualit%C3%A9.%20Utiliser%20tune2fs%20-c%20ou%20-i%0Apour%20%C3%A9craser%20la%20valeur.%0A » message= » » highlight= »1″ provider= »manual »/]
Montage manuel du FS
[pastacode lang= »bash » manual= »%23%20mount%20%20%2Fdev%2Fvg_data_mysql%2Flv_data_mysql%20%2Fvar%2Flib%2Fmysql%2F%0A » message= » » highlight= »1″ provider= »manual »/]
Contrôle du FS
[pastacode lang= »bash » manual= »%23%20df%20-h%0AFilesystem%20%20%20%20%20%20%20%20%20%20%20%20Size%20%20Used%20Avail%20Use%25%20Mounted%20on%0A%2Fdev%2Fmapper%2Fvg_cesdbmaster-lv_root%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%206%2C5G%20%201%2C3G%20%205%2C0G%20%2021%25%20%2F%0Atmpfs%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20499M%20%20%20%20%200%20%20499M%20%20%200%25%20%2Fdev%2Fshm%0A%2Fdev%2Fsda1%20%20%20%20%20%20%20%20%20%20%20%20%20477M%20%20%2060M%20%20392M%20%2014%25%20%2Fboot%0A%2Fdev%2Fmapper%2Fvg_data_mysql-lv_data_mysql%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%204%2C8G%20%20%2010M%20%204%2C6G%20%20%201%25%20%2Fvar%2Flib%2Fmysql%0A » message= » » highlight= »1,7,8″ provider= »manual »/]
Restauration des données Myql
[pastacode lang= »bash » manual= »cp%20-Rp%20%2Fvar%2Flib%2Fmysql.old%2F*%20%2Fvar%2Flib%2Fmysql%2F%0A » message= » » highlight= » » provider= »manual »/]
Application des droits MySql sur le répertoire de données
[pastacode lang= »bash » manual= »%23%20chown%20-R%20mysql%3A%20%2Fvar%2Flib%2Fmysql » message= » » highlight= »1″ provider= »manual »/]
Contrôle des données
[pastacode lang= »bash » manual= »%23%20ls%20-rtl%20%2Fvar%2Flib%2Fmysql%2F%0Atotal%2028732%0Adrwxr-xr-x%202%20mysql%20mysql%20%20%20%20%204096%2029%20mai%20%20%2016%3A56%20test%0Adrwx–x–x%202%20mysql%20mysql%20%20%20%20%204096%2029%20mai%20%20%2016%3A56%20mysql%0Adrwx——%202%20mysql%20mysql%20%20%20%20%204096%2029%20mai%20%20%2016%3A56%20performance_schema%0A-rw-rw—-%201%20mysql%20mysql%20%205242880%2029%20mai%20%20%2016%3A58%20ib_logfile1%0Adrwx——%202%20mysql%20mysql%20%20%20%20%204096%2029%20mai%20%20%2017%3A46%20wordpress%0Adrwx——%202%20root%20%20root%20%20%20%20%2016384%2020%20juin%20%2006%3A45%20lost%2Bfound%0A-rw-rw—-%201%20mysql%20mysql%20%20%20%20%20%20%2052%2020%20juin%20%2006%3A46%20aria_log_control%0A-rw-rw—-%201%20mysql%20mysql%20%20%20%2016384%2020%20juin%20%2006%3A46%20aria_log.00000001%0A-rw-rw—-%201%20mysql%20mysql%20%205242880%2020%20juin%20%2006%3A46%20ib_logfile0%0A-rw-rw—-%201%20mysql%20mysql%2018874368%2020%20juin%20%2006%3A46%20ibdata1%0A-rw-r—–%201%20mysql%20root%20%20%20%20%20%207021%2020%20juin%20%2006%3A46%20CESDBMaster.err%0A » message= » » highlight= »1″ provider= »manual »/]
redémarrage du service mysql
[pastacode lang= »bash » manual= »%23%20service%20mysql%20start%0AStarting%20MySQL..%20SUCCESS!%0A » message= » » highlight= »1″ provider= »manual »/]
Test de connexion à MySql
[pastacode lang= »bash » manual= »%23%20mysql%0AWelcome%20to%20the%20MariaDB%20monitor.%20%20Commands%20end%20with%20%3B%20or%20%5Cg.%0AYour%20MariaDB%20connection%20id%20is%202%0AServer%20version%3A%205.5.47-MariaDB-log%20MariaDB%20Server%0A%0ACopyright%20(c)%202000%2C%202015%2C%20Oracle%2C%20MariaDB%20Corporation%20Ab%20and%20others.%0A%0AType%20’help%3B’%20or%20’%5Ch’%20for%20help.%20Type%20’%5Cc’%20to%20clear%20the%20current%20input%20statement.%0A%0AMariaDB%20%5B(none)%5D%3E » message= » » highlight= »1″ provider= »manual »/]
Montage automatique du FS des données MySql
Modifier le fichier /etc/fstab en ajoutant la ligne suivante
[pastacode lang= »bash » manual= »%2Fdev%2Fmapper%2Fvg_data_mysql-lv_data_mysql%20%2Fvar%2Flib%2Fmysql%20ext4%20%20%20%20defaults%20%20%20%20%20%20%20%201%201%0A » message= » » highlight= »1″ provider= »manual »/]
Redémarrage du serveur pour tester le montage automatique et le redémarrage automatique de MySql
[pastacode lang= »bash » manual= »%23%20reboot%0ABroadcast%20message%20from%20root%40CESDBMaster%0A%20%20%20%20%20%20%20%20(%2Fdev%2Fpts%2F0)%20at%2013%3A43%20…%0A%0AThe%20system%20is%20going%20down%20for%20reboot%20NOW!%0A%0A%0A » message= » » highlight= » » provider= »manual »/]
Après redémarrage on contrôle le bon fonctionnement de mysql
[pastacode lang= »bash » manual= »%23%20service%20mysql%20status%0A%20SUCCESS!%20MySQL%20running%20(2173) » message= » » highlight= » » provider= »manual »/]
Logs Mysql
Nous allons mettre en place un FS dédié aux logs MySql afin de ne pas pénaliser le système. Cette démarche permet de démarrer notre serveur dans tous les cas. Si le service MySql génère trop de logs, le service ne démarrera pas mais notre système sera toujours accessible. Cette démarche est valable pour tous les services dont le système ne dépend pas.
Pour exécuter cette partie de l’article vous devais avoir configurer MySql pour ecrire ces logs dans un fichier dédié (L’article par du principe que les logs MySql sont dans le répertoire /var/log/mysqld) .
Stopper le service mysql
cette commande n’est pas nécessaire mais cela permet de travail sereinement 😀
[pastacode lang= »bash » manual= »%23%20service%20mysql%20stop%0AShutting%20down%20MySQL.%20SUCCESS!%0A » message= » » highlight= »1″ provider= »manual »/]
Création d’un répertoire dédié aux logs MySql
[pastacode lang= »bash » manual= »%23%20mkdir%20%2Fvar%2Flog%2Fmysqld%0A » message= » » highlight= »1″ provider= »manual »/]
Positionnement des droits
[pastacode lang= »bash » manual= »%23%20chown%20mysql%3A%20%2Fvar%2Flog%2Fmysqld%0A » message= » » highlight= »1″ provider= »manual »/]
Préparation du FS pour les données MySql
Formatage du FS
[pastacode lang= »bash » manual= »%23%20mkfs.ext4%20%2Fdev%2Fvg_data_mysql%2Flv_logs_mysql%0Amke2fs%201.41.12%20(17-May-2010)%0A%C3%89tiquette%20de%20syst%C3%A8me%20de%20fichiers%3D%0AType%20de%20syst%C3%A8me%20d’exploitation%C2%A0%3A%20Linux%0ATaille%20de%20bloc%3D4096%20(log%3D2)%0ATaille%20de%20fragment%3D4096%20(log%3D2)%0A%C2%AB%C2%A0Stride%C2%A0%C2%BB%20%3D%200%20blocs%2C%20%C2%AB%C2%A0Stripe%20width%C2%A0%C2%BB%20%3D%200%20blocs%0A131072%20i-noeuds%2C%20524288%20blocs%0A26214%20blocs%20(5.00%25)%20r%C3%A9serv%C3%A9s%20pour%20le%20super%20utilisateur%0APremier%20bloc%20de%20donn%C3%A9es%3D0%0ANombre%20maximum%20de%20blocs%20du%20syst%C3%A8me%20de%20fichiers%3D536870912%0A16%20groupes%20de%20blocs%0A32768%20blocs%20par%20groupe%2C%2032768%20fragments%20par%20groupe%0A8192%20i-noeuds%20par%20groupe%0ASuperblocs%20de%20secours%20stock%C3%A9s%20sur%20les%20blocs%C2%A0%3A%0A%20%20%20%20%20%20%20%2032768%2C%2098304%2C%20163840%2C%20229376%2C%20294912%0A%0A%C3%89criture%20des%20tables%20d’i-noeuds%C2%A0%3A%20compl%C3%A9t%C3%A9%0ACr%C3%A9ation%20du%20journal%20(16384%20blocs)%C2%A0%3A%20compl%C3%A9t%C3%A9%0A%C3%89criture%20des%20superblocs%20et%20de%20l’information%20de%20comptabilit%C3%A9%20du%20syst%C3%A8me%20de%0Afichiers%C2%A0%3A%20compl%C3%A9t%C3%A9%0A%0ALe%20syst%C3%A8me%20de%20fichiers%20sera%20automatiquement%20v%C3%A9rifi%C3%A9%20tous%20les%2035%20montages%20ou%0Aapr%C3%A8s%20180%20jours%2C%20selon%20la%20premi%C3%A8re%20%C3%A9ventualit%C3%A9.%20Utiliser%20tune2fs%20-c%20ou%20-i%0Apour%20%C3%A9craser%20la%20valeur.%0A » message= » » highlight= »1″ provider= »manual »/]
Création du point de montage pour les logs mysql
[pastacode lang= »bash » manual= »%23%20mkdir%20%2Fvar%2Flog%2Fmysqld%2F%0A%23%20chown%20mysql%3A%20%2Fvar%2Flog%2Fmysqld%2F%0A » message= » » highlight= » » provider= »manual »/]
Contrôle du point de montage
[pastacode lang= »bash » manual= »%23%20ls%20-ld%20%2Fvar%2Flog%2Fmysqld%2F%0Adrwxr-xr-x%202%20mysql%20mysql%204096%2020%20juin%20%2014%3A08%20%2Fvar%2Flog%2Fmysqld%2F%0A » message= » » highlight= » » provider= »manual »/]
Montage manuel du FS
[pastacode lang= »bash » manual= »%23%20mount%20%20%2Fdev%2Fvg_data_mysql%2Flv_logs_mysql%20%2Fvar%2Flog%2Fmysqld%2F%0A » message= » » highlight= »1″ provider= »manual »/]
Contrôle du FS
[pastacode lang= »bash » manual= »%23%20df%20-h%0AFilesystem%20%20%20%20%20%20%20%20%20%20%20%20Size%20%20Used%20Avail%20Use%25%20Mounted%20on%0A%2Fdev%2Fmapper%2Fvg_cesdbmaster-lv_root%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%206%2C5G%20%201%2C3G%20%204%2C9G%20%2021%25%20%2F%0Atmpfs%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20499M%20%20%20%20%200%20%20499M%20%20%200%25%20%2Fdev%2Fshm%0A%2Fdev%2Fsda1%20%20%20%20%20%20%20%20%20%20%20%20%20477M%20%20%2060M%20%20392M%20%2014%25%20%2Fboot%0A%2Fdev%2Fmapper%2Fvg_data_mysql-lv_data_mysql%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%204%2C8G%20%20%2040M%20%204%2C6G%20%20%201%25%20%2Fvar%2Flib%2Fmysql%0A%2Fdev%2Fmapper%2Fvg_data_mysql-lv_logs_mysql%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%202%2C0G%20%203%2C0M%20%201%2C9G%20%20%201%25%20%2Fvar%2Flog%2Fmysqld%0A » message= » » highlight= »1,9,10″ provider= »manual »/]
Application des droits MySql sur le répertoire de données
[pastacode lang= »bash » manual= »%23%20chown%20-R%20mysql%3A%20%2Fvar%2Flog%2Fmysqld » message= » » highlight= »1″ provider= »manual »/]
redémarrage du service mysql
[pastacode lang= »bash » manual= »%23%20service%20mysql%20restart%0AShutting%20down%20MySQL.%20SUCCESS!%0AStarting%20MySQL..%20SUCCESS!%0A%0A » message= » » highlight= »1″ provider= »manual »/]
Test de connexion à MySql
[pastacode lang= »bash » manual= »%23%20mysql%0AWelcome%20to%20the%20MariaDB%20monitor.%20%20Commands%20end%20with%20%3B%20or%20%5Cg.%0AYour%20MariaDB%20connection%20id%20is%202%0AServer%20version%3A%205.5.47-MariaDB-log%20MariaDB%20Server%0A%0ACopyright%20(c)%202000%2C%202015%2C%20Oracle%2C%20MariaDB%20Corporation%20Ab%20and%20others.%0A%0AType%20’help%3B’%20or%20’%5Ch’%20for%20help.%20Type%20’%5Cc’%20to%20clear%20the%20current%20input%20statement.%0A%0AMariaDB%20%5B(none)%5D%3E » message= » » highlight= »1″ provider= »manual »/]
Montage automatique du FS des données MySql
Modifier le fichier /etc/fstab en ajoutant la ligne suivante
[pastacode lang= »bash » manual= »%2Fdev%2Fvg_data_mysql%2Flv_logs_mysql%20%2Fvar%2Flog%2Fmysqld%20ext4%20%20%20%20defaults%20%20%20%20%20%20%20%201%201%0A » message= » » highlight= »1″ provider= »manual »/]
Redémarrage du serveur pour tester le montage automatique et le redémarrage automatique de MySql
[pastacode lang= »bash » manual= »%23%20reboot%0ABroadcast%20message%20from%20root%40CESDBMaster%0A%20%20%20%20%20%20%20%20(%2Fdev%2Fpts%2F0)%20at%2013%3A43%20…%0A%0AThe%20system%20is%20going%20down%20for%20reboot%20NOW!%0A%0A%0A » message= » » highlight= » » provider= »manual »/]
Après redémarrage on contrôle le bon fonctionnement de mysql
[pastacode lang= »bash » manual= »%23%20service%20mysql%20status%0A%20SUCCESS!%20MySQL%20running%20(2173) » message= » » highlight= » » provider= »manual »/]
Controle du bon montage du FS au redémarrage
[pastacode lang= »bash » manual= »%5D%23%20df%20-h%0AFilesystem%20%20%20%20%20%20%20%20%20%20%20%20Size%20%20Used%20Avail%20Use%25%20Mounted%20on%0A%2Fdev%2Fmapper%2Fvg_cesdbmaster-lv_root%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%206%2C5G%20%201%2C3G%20%204%2C9G%20%2021%25%20%2F%0Atmpfs%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20499M%20%20%20%20%200%20%20499M%20%20%200%25%20%2Fdev%2Fshm%0A%2Fdev%2Fsda1%20%20%20%20%20%20%20%20%20%20%20%20%20477M%20%20%2060M%20%20392M%20%2014%25%20%2Fboot%0A%2Fdev%2Fmapper%2Fvg_data_mysql-lv_data_mysql%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%204%2C8G%20%20%2040M%20%204%2C6G%20%20%201%25%20%2Fvar%2Flib%2Fmysql%0A%2Fdev%2Fmapper%2Fvg_data_mysql-lv_logs_mysql%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%202%2C0G%20%203%2C0M%20%201%2C9G%20%20%201%25%20%2Fvar%2Flog%2Fmysqld%0A » message= » » highlight= »9,10″ provider= »manual »/]
Conclusion
A compléter 😀