Alors ça ça ronfle comme titre ! Un SAN c’est super, c’est efficace, performant, tu peux étendre tes disques à chaud, gérer ton RAID au clic, faire de la haute dispo, te la raconter à la cafét’, bref c’est merveilleux. LVM aussi, c’est super : ça apporte pas mal de souplesse dans un environnement mouvant, et quand on fait de l’informatique professionnelle, c’est bien souvent le cas.
En gros, voici le topo : on a un volume logique (que certains appelleront abusivement “un(e) LUN”) ld_disk, mappé à un serveur server. Côté serveur, ce disque s’appellera directement (par comodité) ld_disk, donc via multipathd son nom sera /dev/mpath/ld_appli. Derrière on a monté directement l’artillerie LVM, sans partitionner (ce qui aurait été plus souple/facile/intelligent) : ce disque a été déclaré comme volume physique (PV), on a fait dessus un groupe de volumes (VG) vg_appli, sur lequel on a bêtement fait un seul volume logique (LV) sobrement appelé lv_appli. Ce volume fait initialement 300Go. Les besoins changent, et on vous demande de passer le tout à 500Go. L’OS est une RHEL 5, mais ça n’a pas d’importance a priori. Bon, on commence logiquement par étendre le disque logique côté SAN. Et on espère qu’on va pouvoir prendre en compte l’extension au niveau système sans perdre de données.
Mais comme trop de choses en ce bas monde, il est difficile de trouver des infos récentes sur le web. 99% des liens trouvés via Google vont dire que c’est impossible, ou que LVM ne le permet pas encore, qu’on n’a qu’à formatter ou recopier sur un autre disque. Quelques posts assez anciens (2004?) sur des forums dont j’ai perdu la référence hélas vont expliquer qu’il faut d’abord étendre la partition via fdisk. Seulement moi, je n’ai pas de partition, aïe.
Voici donc la marche à suivre :
# on cherche et on note le(s) chemin(s) vers notre disque au sens SCSI (exemple: 3:0:0:0 et 4:0:0:0) multipath -ll # on met le volume offline vgchange -a n vg_appli # on rescanne le périphérique au niveau SCSI echo "1" > /sys/class/scsi_device/3\:0\:0\:0/device/rescan echo "1" > /sys/class/scsi_device/4\:0\:0\:0/device/rescan # on relance la découverte coté multipathd multipath -F multipath -v2 # puis on étend au niveau de LVM ; exemple : pvscan #=> PV /dev/mpath/ld_appli VG vg_appli lvm2 [300,00 GB / 0 free] pvresize /dev/mpath/ld_appli pvscan #=> PV /dev/mpath/ld_appli VG vg_appli lvm2 [500,00 GB / 200,00 GB free] # on réactive le VG vgchange -a y vg_appli # et on étend le LV via la taille : lvextend -L +200G /dev/vg_appli/lv_appli #ou via le nombre d'extents : lvextend -l +123456 /dev/vg_appli/lv_appli # il reste à faire l'extension au niveau EXT3 (attention, ces deux étapes sont très longues) e2fsck -f /dev/vg_appli/lv_appli resize2fs /dev/vg_appli/lv_appli
Hope this helps!
Comments
There are 6 comments on this post. Post yours →
Bonjour,
Je dois mettre en place un volume partitionnée en EXT4 (ou peut-être EXT3 j’ai pas encore la confirmation) sur une baie SAN, accessible pour un serveur qui sera sur Ubuntu.
Je comptais créé un volume group correspondant à ma LUN (qui contiendrait une seule grosse partition logique) mais d’après ce que je vois, il n’est pas possible de l’agrandir à chaud ?
Donc je me permets de te poser une question :
Si je veux être capable par la suite d’agrandir cette partition à chaud (et pourquoi pas la réduire, et là, la coupure peut être envisageable) que dois-je faire ?
La formater directement en ext4/ext3 ? Je t’avoue que je suis un peu perdu la…
et j’ai une dernière question, via cette méthode, est-il possible de réduire notre volume group ?
Je te remercie, et sinon, très bon article, je testerais tout de même cette manip’ ce soir ;) !
Bonjour,
Désolé de la réponse tardive, je n’avais pas vu le commentaire. L’extension à chaud est possible avec la commande resize2fs, sur les volumes ext3 et ext4 ça a toujours bien fonctionné pour moi. Attention cependant si tu travailles sur un système très très chargé, je ne sais pas ce que ça peut donner (serveur de messagerie pour des milliers de personnes par exemple). Le fait que le disque soit un disque SAN ne pose pas de problème, c’est l’objet de l’article. La seule difficulté que j’exposais, c’est que souvent les gens font des partitions sur leurs disques avant de faire du LVM par dessus, ce que je n’avais pas fait sur ce disque là.
Bon courage,
JB
Bonjour,
ton tuto est vraiment très intéressant puisque c’est exactement ce que je cherche à faire (http://www.developpez.net/forums/d981141/systemes/linux/systeme/augmentation-partition-disque/). En revanche, j’utilise powerpath et non multipath, sais-tu (par hasard) comment je peux récupérer les chemins au sens SCSI stp ? Car je pense qu’une fois que j’aurai cette info, il ne me restera plus qu’à appliquer tes instructions ! (c’est dingue d’ailleurs le peu d’infos que l’on trouve sur le net à ce sujet, beaucoup de professionnels doivent quand même en avoir besoin, pour ma part c’est pour étendre des FS de base Oracle).
Merci d’avance pour tes réponses.
Re,
bon j’ai réussi à récupérer les devices mais à priori ça ne suffit pas, ça ne fonctionne pas chez moi même après le pvresize.
j’ai trouvé la solution à mon problème :
http://www.developpez.net/forums/d1007456/systemes/linux/distributions/fedora-red-hat/extension-lvm-environnement-san/
Excellent, merci de l’info :)
Post a comment
Required fields in bold.