Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 29-11-2015 14:05:39

tonydeb
Membre
Inscription : 29-03-2015

augmenter la taille d'une partition sur une vm debian 7

Bonjour, je suis nouveau sur le forum et assez débutant en admin sys / réseaux. 

J’ai un xenserver 6 (XenServer release 6.0.2-53456p (xenenterprise)) installé sur mon serveur physique, sur lequelle j’ai plusieurs vm linux (serveur web dédié) créées. Un de ces vm (debian 7.4 sur laquelle tourne une grosse appli web) arrive a saturation en terme d’espace disque, j’ai augmenté la taille du disque virtuel via xencenter 6 (200 -> 350go), mais lorsque je me connecte sur la vm en ssh, un df me montre que la partition en question (dcc327d9-950f-42e0-8834-4820f2afe6c7) n’a pas changé de taille, ce serait trop facile :-) :


Code : df -h

    Sys. fich.                                             Taille Util. Dispo Uti% Monté sur
    rootfs                                                   193G  182G  1,7G 100% /
    udev                                                      10M     0   10M   0% /dev
    tmpfs                                                    775M  224K  775M   1% /run
    /dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7   193G  182G  1,7G 100% /
    tmpfs                                                    5,0M     0  5,0M   0% /run/lock
    tmpfs                                                    2,4G     0  2,4G   0% /run/shm



Le fdisk -l me montre bien que le disque a bien pris en compte la capacité supplémentaire allouée.. 


    Disque /dev/xvda : 375.8 Go, 375809638400 octets
    255 têtes, 63 secteurs/piste, 45689 cylindres, total 734003200 secteurs
    Unités = secteurs de 1 * 512 = 512 octets
    Taille de secteur (logique / physique) : 512 octets / 512 octets
    taille d'E/S (minimale / optimale) : 512 octets / 512 octets
    Identifiant de disque : 0x000649bf
    Périphérique Amorce  Début        Fin      Blocs     Id  Système
    /dev/xvda1            2048   411062271   205530112   83  Linux
    /dev/xvda2       411064318   419428351     4182017    5  Étendue
    /dev/xvda5       411064320   419428351     4182016   82  partition d'échange Linux / Solaris



mon systeme de fichier sur cette partition  :


    mount
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1022632,mode=755)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmod                                                                                        e=000)
    tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=793492k,mode=755)
    /dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
    tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
    tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2423380k)
    rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
    none on /proc/xen type xenfs (rw,relatime)



Le décors est planté, plusieurs choses :

1 - je ne comprends pas pourquoi j'ai du /dev/xvda1 (premiere partition sur xen virtual device a) dans le fdisk et du     /dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7 dans mount ou df..

2 - A priori, mon problème est que je dois agrandir la partition xvda1 pour qu'elle puisse utiliser l'espace restant sur le disque. Mes quelques recherches me font un peu peur , car si j'ai bien compris , il va falloir bon an mal an que je umount la partition que je l'a supprime que je la recréé avec les blocs qui vont bien pour pas que ca touche pas au block des autres partitions le tout en mode rescue car c'est la partition installée sur le / (partition racine?)  puis repassé en mode normal en esperant que tout se passe bien..

plutot touchy a faire sur une machine en prod, moins de monde le dimanche mais bon ..

Est ce que quelqu'un a deja réalisé une opération du genre, j'ai regardé ce tuto https://www.howtoforge.com/linux_resizi … partitions qui m'a été conseillé suite a mes post sur http://forum.hardware.fr/hfr/OSAlternat … _1.htm#bas, mais globalement la procédure me parait un peu touchy et ne correspond pas a mon systeme de fichier..

Merci d'avance pour toute aide, je suis vraiment coincé avec cette machine

Hors ligne

#2 29-11-2015 21:51:55

raleur
Membre
Inscription : 03-10-2014

Re : augmenter la taille d'une partition sur une vm debian 7

Commentaire perso : ça m'épate toujours que des débutants se frottent à des trucs aussi compliqués qu'un hyperviseur Xen...

tonydeb a écrit :

df me montre que la partition en question n’a pas changé de taille


Tu fais erreur (un mauvais usage de df). df n'affiche pas la taille d'une partition mais d'un système de fichiers. Si un système de fichiers a été créé avec une taille X, le transférer dans une partition plus grande ou agrandir sa partition ne change pas sa taille. Il faut agrandir le système de fichiers avec la commande idoine, resize2fs pour ext4. Heureusement pour toi, cela peut être fait à chaud, sans le démonter.

tonydeb a écrit :

je ne comprends pas pourquoi j'ai du /dev/xvda1 (premiere partition sur xen virtual device a) dans le fdisk et du     /dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7 dans mount ou df


fdisk se contente de nommer les partitions qu'il découvre en lisant la table de partition d'un périphérique en concatenant le nom de périphérique et le numéro de la partition. Si tu crées un fichier /home/toto/mondisquevirtuel contenant une table de partition et demandes à fdisk d'analyser ce fichier, il t'affichera des partitions /home/toto/mondisquevirtuel1, /home/toto/mondisquevirtuel2... Les noms des partitions qu'il trouve n'existent pas forcément. Si on ne spécifie pas de périphérique ou de fichier, fdisk analyse les périphériques listés dans /proc/partitions (qui, contrairement à ce que son nom suggère, ne contient pas que les noms de partitions mais aussi les disques, ensembles RAID logiciels, volumes logiques gérés par le device mapper (LVM et chiffrés)...). Les noms des disques y sont mentionnés sous leur forme canonique sda, sdb... donc fdisk nomme les partitions sda1, sda2... Ces noms, je le répète, ne correspondent pas forcément aux partitions vues par le noyau, notamment si la table de partition a été modifiée et non rechargée dans le noyau.

/dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7 est un lien symbolique créé par udev qui pointe vers /dev/xvda1 et dont le nom est dérivé de l'UUID (identifiant unique) de son contenu. Son utilisation présente l'avantage d'un nommage persistant, alors que le nom de périphérique /dev/xvda1 est susceptible de changer. C'est pourquoi tous les systèmes de fichiers et swaps résidant sur des partitions sont identifiés par leur UUID. Ce n'est pas le cas pour les volumes logiques LVM dont le nom est persistant en lui-même. Tu peux le voir dans /etc/fstab.

La commande mount de l'initramfs de Debian 7 Wheezy, qui est chargé de monter la racine finale, a la particularité de ne pas "déréférencer" ce lien symbolique, c'est-à-dire remplacer le chemin+nom du lien par le chemin+nom de sa cible finale qui serait /dev/xvda1. C'est pourquoi le noyau reçoit et utilise directement ce lien et qu'il figure tel quel dans /proc/mounts et donc dans la sortie de df et mount. C'est laid, oui. Cela a été corrigé dans Debian 8 Jessie. Mais en ce qui concerne leur utilisation les deux notations sont globalement équivalentes.

tonydeb a écrit :

A priori, mon problème est que je dois agrandir la partition xvda1 pour qu'elle puisse utiliser l'espace restant sur le disque.


Oui. Mais il n'est pas nécessaire de démonter et supprimer la partition. En revanche, comme la partition de swap est juste derrière entre la partition à agrandir et l'espace libre, il va falloir la "pousser" à la fin ou la supprimer et la recréer (avec le même UUID pour éviter les problèmes). Dans tous les cas il faudra la désactiver avant, mais cela pose généralement moins de souci que de démonter la racine.

Tous les utilitaires de gestion des partitions ne permettant pas forcément de déplacer une partition, le plus simple est de supprimer et recréer la partition de swap. De toute façon il n'y a aucun intérêt à déplacer (donc recopier) le contenu d'un swap. Je vais supposer que le système peut tourner sans swap, éventuellement en arrêtant quelques services gourmands en mémoire. Voici une liste des commandes utiles :

free : affiche l'occupation de la mémoire et du swap.
swapoff -a : désactive tous les swaps.
mkswap -U <uuid> : initialise une partition de swap ; utiliser l'option -U pour remettre le même UUID que dans /etc/fstab.
swapon -a : active les swaps définis dans /etc/fstab.
parted : outil de gestion des partitions qui permet notamment d'agrandir une partition (commande "resizepart") ; attention, contrairement à fdisk il exécute les commandes immédiatement, sans attendre une commande "write".
resize2fs : redimensionne un système de fichiers ; sans taille spécifiée, adapte à la taille de la partition.

PS : La prochaine fois, tu envisageras d'installer ton système sur des volumes logiques LVM qui sont bien plus faciles à redimensionner que les partitions.

Dernière modification par raleur (30-11-2015 09:56:43)

Hors ligne

#3 30-11-2015 10:56:22

Kusajika
Membre
Inscription : 08-04-2015

Re : augmenter la taille d'une partition sur une vm debian 7

raleur a écrit :

Je vais supposer que le système peut tourner sans swap, éventuellement en arrêtant quelques services gourmands en mémoire.



Bonjour, on peut affirmer sans aucune retenue que le système peut tourner sans swap, la swap étant créé à l'origine pour les systèmes ayant peut de RAM, il faut pour cela remonter aux débuts de son utilisation pour bien comprendre son utilité par rapport aux ressources que les programmes utilisent.

La Swap est utilisée que dans certain cas, dont le remplissage de la RAM, mais avec la taille de RAM actuel ça serait vraiment dommage que la SWAP serve tout le temps, les accès disques étant très long par rapport aux accès RAM. Néanmoins cela existe et peut servir et cela sert de temps en temps, mais il faut bien comprendre que son utilisation reste de l'optimisation.
Des cas particuliers peuvent (presque) justifier son utilité, avoir un pc portable par exemple et utiliser le mode hibernation, la SWAP vient alors se remplir des données de la RAM; d’ailleurs dans le wiki debian:

Uswsusp

uswsusp is the default hibernation tool in DebianEtch. It uses an existing swap partition to save the memory state (see /etc/uswsusp.conf).

    You should invoke s2disk to hibernate the system (not hibernate, don't directly "echo" to /proc/acpi/sleep or /sys/power/disk )

    Make sure you read /usr/share/doc/uswsusp/README.Debian.

Hibernate without Swap Partition

How to Hibernate without Swap Partition.



Encore une fois le SWAP peut être désactivé.

Tout ça pour dire que le swap a encore son utilité mais cela n'a plus rien à voir avec son utilité d'il y a 20ans. 8Go de mémoire ce n'est plus les 8Mo d'avant lol
Et je terminerai en disant que les live CD fonctionnent très bien sans alors qu'on peut lancer moult applications en même temps. Sans compter qu'on peut paramétrer son utilisation, déclenchement en fonction du pourcentage de RAM remplie par exemple ou même la stopper smile .

Hors ligne

#4 30-11-2015 11:49:08

tonydeb
Membre
Inscription : 29-03-2015

Re : augmenter la taille d'une partition sur une vm debian 7

Bonjour Raleur,

tout d'abord, je te remercie pour ta réponse très complète et de grande qualité ainsi que  pour le temps que tu as pris pour me répondre, c'est appréciable.

Xen.. tout d'abord juste pour te donner un peu plus d'élément de contexte, je ne suis pas à l'origine de cette installation, à l'époque j'avais un lead dev  qui a monté le système, sans être admin systeme il avait un niveau correct. J'avais à l'époque demandé néanmoins à ce qu'on virtualise un serveur qui était surdimensionné (au début), par rapport à nos besoins internes afin de pouvoir revendre de l'hébergement sous forme de vps. En l'occurence nos projets internes ont pris de l'envergure et du coup ce serveur héberge nos applis 'maison'(crm, emailing, webservice, et un vps client). Pourquoi Xen , car open source ou presque .. pourquoi la virtualisation, c'est qd meme pratique sur un meme serveur d'avoir 5-6 vm, éventuellement des copies l'une de l'autre, pour gérer des prod, et des vrai préprod etc.. pouvoir changer le nb de cpu , la ram et donc l'espace disque.

Bien compris ce que fait df, fdisk et pour mount c'est encore un peu abstrait, je vois l'idée de monter un disque et ses partitions sur un point de montage, j'ai plus de mal sur tout ce qui est système etc.. pour cela il faudrait que j'étudie mieux l'architecture de debian 7, histoire de comprendre a quoi serve tous les répertoire de la racine, si tu as une source bien faîte la dessus je suis preneur, celui la me semble pas mal : https://www.isalo.org/wiki.debian-fr/Le_partitionnement.

Sinon concernant mon problème présent, effectivement mon système n'utilise pas le swap :

:~$ free -m
             total       used       free     shared    buffers     cached
Mem:      7748       3861       3887          0        927        541
-/+ buffers/cache:       2392       5356
Swap:         4083          0       4083




j'ai installé parted, qui bizarrement n'était pas installé sur cette distri (debian 7.4), voici le resultat de print :

(parted) print



Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 376GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system     Flags
 1      1049kB  210GB  210GB   primary   ext4
 2      210GB   215GB  4282MB  extended
 5      210GB   215GB  4282MB  logical   linux-swap(v1)
 



-----

/# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/xvda1 during installation
UUID=dcc327d9-950f-42e0-8834-4820f2afe6c7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/xvda5 during installation
UUID=f443b557-b85b-4ea0-8c00-82165648fac0 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0





donc l'idée serait de supprimer la partition 5 après avoir désactivé le swap, il n’empêche qu'il faut aussi bouger la partition 2 ? j'ai l'impression que les partitions étendues sont traitées différemment aux vues de ce que je vois ds le fstab..je veux bien que tu m’éclaires la dessus si possible svp

Résumé du modus operatus que j'imagine : 

1 - swapoff -a
2 - parted rm 5
3 - move 2 START 370GB END 375 GB
4 - resize 1 START 1049kb END 369 GO ( selon le manuel ca resize aussi le systeme de fichier : "resize NUMBER START END                  resize partition NUMBER and its file system", mais de ce que j'ai cru comprendre il est déprécié pour cela , il vaut mieux utilisé des bon vieux mkfs)
5 - mkswap -U f443b557-b85b-4ea0-8c00-82165648fac0 /dev/xvda5 , apparemment inutile de préciser la taille et meme ca peut etre dangereux, il crée la taille en fonction de la mémoire physique  de la vm ?
6 - swapon -a

ça devrait a peu être près ça ? sur le net tout le monde utilise gparted, c'est la même chose en graphique  ? pas trop de doc et de tuto sur parted tout cours..

Merci encore pour ta réponse, et merci d'avance pour ton retour

Hors ligne

#5 30-11-2015 13:50:43

raleur
Membre
Inscription : 03-10-2014

Re : augmenter la taille d'une partition sur une vm debian 7

La partition 2 est une partition étendue, un conteneur pour partitions logiques numérotées à partir de 5. C'est un hack inventé pour pallier au fait qu'une table de partition principale au format MSDOS ne peut définir que 4 partitions. On a depuis un nouveau format de table de partition GPT, qui peut définir au moins 128 partitions. Avec deux partitions, tu n'as absolument pas besoin d'une partition étendue. Le swap peut parfaitement être dans une partition principale.

J'avais oublié que la version de parted incluse dans Debian 7/Wheezy avait encore les commandes "move" et "resize" (qui ont été retirées dans la version de Debian 8/Jessie parce que jugées non fiables il me semble) et n'avait pas encore la commande "resizepart" (qui a l'avantage de ne pas toucher à la position de début ni au système de fichiers). Du coup ça limite l'intérêt de parted. Il faudrait que je teste ces commandes pour vérifier leur comportement.

Gparted est basé sur la même bibliothèque libparted que parted ; ce n'est pas un équivalent strict en mode graphique, il a des fonctions en plus (et peut-être en moins). Si tu peux l'utiliser dans cette VM, ne t'en prive pas.

Hors ligne

#6 30-11-2015 15:07:40

tonydeb
Membre
Inscription : 29-03-2015

Re : augmenter la taille d'une partition sur une vm debian 7

Bon j'ai installé gparted en sus de parted, je ne vois pas trop ce qu'il fait de plus.. mais surtout apres l'install , impossible de l'ouvir depuis putty :

gparted /dev/xvda

(gpartedbin:8765): Gtk-WARNING **: cannot open display:
 



j'ai regardé un peu sur le net, il parle de X+ localhost ou de X11 etc , je ne comprends pas tout ca.. je veux juste agrandir une partition, et j'ai l'impression que sur debian 7 ca n'a pas l'air d'être une sinécure de faire ca.

je ne vois pas ce qui pourrait m'empecher d'utiliser gparted sur cette vm, sauf que si j'ai bien compris comme c'est la partition racine (pas malin a priori d'installer le systeme comme ca) , je suis obligé de rebooter sur un live cd etc.. un tuto bien fait connu pour debian 7 ?

en terme de backup, c'est quoi la bonne pratique pour pouvoir restaure un systeme plus tard assez automatiquement ?

merci d'avance

Hors ligne

#7 30-11-2015 15:25:15

tonydeb
Membre
Inscription : 29-03-2015

Re : augmenter la taille d'une partition sur une vm debian 7

pour info j'ai bien supprimé la partition  swap , la systeme semble tourner comme d'habitude ce qui devrait abonder dans le sens de Kusajika :

(parted) print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 376GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  210GB  210GB  primary  ext4
 



par contre pas moyen évidement de resize la partition restante, parted me dit de la umount avant , mais bon sans système je vais avoir du mal a lancer parted resize roll

.. du coup live cd .. obligatoire?

Hors ligne

#8 01-12-2015 01:11:11

tonydeb
Membre
Inscription : 29-03-2015

Re : augmenter la taille d'une partition sur une vm debian 7

héhé :

df -h
Sys. fich.                                             Taille Util. Dispo Uti% M                                                                                        onté sur
rootfs                                                   340G  180G  144G  56% /
udev                                                      10M     0   10M   0% /                                                                                        dev
tmpfs                                                    775M  220K  775M   1% /                                                                                        run
/dev/disk/by-uuid/dcc327d9-950f-42e0-8834-4820f2afe6c7   340G  180G  144G  56% /
tmpfs                                                    5,0M     0  5,0M   0% /                                                                                        run/lock
tmpfs                                                    1,6G     0  1,6G   0% /                                                                                        run/shm


ca marche bien gparted , et en mode graphique ca fait du bien des fois un peu de couleur !

a bientot et merci pour ton aide raleur.

PS : vive la virtu

Hors ligne

#9 01-12-2015 16:08:27

raleur
Membre
Inscription : 03-10-2014

Re : augmenter la taille d'une partition sur une vm debian 7

tonydeb a écrit :

j'ai bien supprimé la partition  swap , la systeme semble tourner comme d'habitude ce qui devrait abonder dans le sens de Kusajika


La réponse de Kusajika n'était pas valable dans le cas général. Il est faux d'"affirmer sans aucune retenue que le système peut tourner sans swap, la swap étant créé à l'origine pour les systèmes ayant peu de RAM". "Peu de RAM" ne veut rien dire. Il aurait mieux valu écrire "pas assez de RAM". 8 Go peut sembler "beaucoup", mais pour certaines applications lourdes ce n'est pas "assez" et le swap reste nécessaire. Dans le cas particulier de ta VM, la sortie de free a montré qu'il y avait largement assez de RAM pour se passer de swap compte tenu de l'occupation mémoire, mais au moment de rédiger sa réponse Kusajika ne le savait puisque tu n'avais pas encore fourni cette information. D'autre part, certains systèmes (ce n'est pas le cas de Linux) ont absolument besoin de swap pour fonctionner, quelle que soit la quantité de RAM. La règle "swap = 2 * RAM " vient en partie de là.

tonydeb a écrit :

par contre pas moyen évidement de resize la partition restante, parted me dit de la umount avant


J'ai testé la version de parted de Wheezy : elle ne permet pas de modifier une partition montée, et ses commandes "resize" et "move" semblent ne pas supporter ext4 (pas étonnant qu'elles aient été virées de la version suivante) ; elle est donc doublement inadaptée à ce que tu veux faire. Tant mieux si tu as réussi avec gparted.

De toute façon, comme je l'ai déjà écrit, si on veut redimensionner à chaud rien ne vaut LVM.

Dernière modification par raleur (01-12-2015 16:10:15)

Hors ligne

Pied de page des forums