70 votes

Comment redimensionner des partitions en utilisant la ligne de commande sans utiliser une interface graphique sur un serveur ?

Je n'ai accès au serveur que via un terminal et je ne peux pas utiliser d'outils graphiques tels que GParted !
Je veux créer une nouvelle partition à partir d'une partie de la racine (environ 768 Mo) pour le swap.

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         20G  1.3G   18G   7% /
udev             10M     0   10M   0% /dev
tmpfs           199M  4.9M  194M   3% /run
tmpfs           100M   12K  100M   1% /run/user
tmpfs           5.0M  4.0K  5.0M   1% /run/lock

47voto

jpbochi Points 2380

Vous ne pouvez pas réduire/modifier une partition si l'une des partitions du périphérique de stockage est montée. Ainsi, pour démonter et modifier le système de fichiers racine, le système d'exploitation doit être arrêté. Ensuite, démarrez dans un système vivant et modifiez la partition comme décrit dans les autres réponses.

Solution alternative : fichier d'échange

Comme alternative à la création d'une partition entière, un fichier d'échange offre la possibilité de varier sa taille à la volée et il est plus facile de l'enlever complètement. Le fichier swap peut être enfichable à chaud . c'est-à-dire qu'il peut être ajouté et retiré sans démonter/éteindre le système d'exploitation.

  1. Créez un fichier de 512 Mo appelé /swapfile . Ce sera notre fichier d'échange.

    fallocate -l 512M /swapfile  

    OU

    dd if=/dev/zero of=/swapfile bs=1M count=512
  2. Définissez les bonnes autorisations (car un fichier d'échange lisible par tous est une énorme vulnérabilité locale) :

    chmod 600 /swapfile
  3. Après avoir créé le fichier de taille correcte, mettez-le au format swap :

    mkswap /swapfile
  4. Activez le fichier d'échange :

    swapon /swapfile
  5. Editar /etc/fstab et ajoutez une entrée pour le fichier d'échange :

    /swapfile none swap defaults 0 0

Plus de détails à l'adresse suivante arch linux wiki .

42voto

Bob Points 940

Tout d'abord, il est important de savoir que vous ne pouvez pas redimensionner pour rétrécir votre partition racine si vous l'utilisez (C'est ce qu'on appelle le rétrécissement en ligne). Vous ne pouvez que l'agrandir en ligne. Ceci est pris en charge par le resize2fs commande. Je vais supposer ce qui suit :

  • Vous ne voulez pas perdre vos informations sur la partition racine.
  • Vous n'avez pas besoin d'accéder physiquement au disque dur pour utiliser un LiveCD. Cela peut s'appliquer à un environnement virtuel ou à un environnement distant. Dans le cas d'un environnement virtuel, vous pouvez toujours démarrer à partir d'un LiveCD si vous configurez la VM pour qu'elle démarre à partir d'un LiveCD. Ceci en supposant que la VM supporte la sortie de l'interface graphique du bureau à partir de laquelle vous pourriez exécuter l'application Gparted pour redimensionner facilement. Mais comme cela est moins probable, je suppose que vous ne pouvez pas le faire.

Il existe 2 types de partitions que vous pouvez redimensionner, les partitions LVM ou Logical Volume Manager qui supportent le redimensionnement en ligne (réduction/agrandissement) depuis la création de la galaxie et les partitions standard que la plupart d'entre nous utilisent. Pour l'instant, le seul qui supporte presque à 100% le redimensionnement complet en ligne (réduction/croissance) est le système de fichiers btrfs (qui est toujours en développement). Je vais expliquer comment faire les partitions normales que la plupart d'entre nous utilisent dans le système de fichiers ext4.

Redimensionnement (agrandissement) de la partition

Pour agrandir votre partition, vous pouvez le faire avec la racine montée. Pour ce faire, il suffit de faire :

sudo resize2fs /dev/sda1

A condition que vous ayez déjà l'espace vide prêt à être fusionné. Ensuite, je recommande de redémarrer pour que les changements prennent effet correctement. La commande ci-dessus redimensionnerait au maximum autorisé. Si vous souhaitez redimensionner à une taille particulière, il suffit d'ajouter la taille à la fin :

sudo resize2fs /dev/sda1 25G

Notez que si vous voulez spécifier 25,4 Go, vous ne pouvez pas utiliser le ".". Il vous faudrait descendre d'une unité de mesure. Dans ce cas, vous devez passer de GB à MB, ce qui donne l'exemple suivant :

sudo resize2fs /dev/sda1 25400M

De cette façon, vous aurez une partition de 25.4G

Redimensionnement (rétrécissement) de la partition

Le rétrécissement de la partition est un processus en deux étapes qui implique :

  • Réduire la taille du système de fichiers de la quantité nécessaire.
  • Réduire la taille du périphérique de blocs sous-jacent pour qu'elle corresponde à celle du système de fichiers.

Avant de réduire la capacité d'un système de fichiers, vous devez réduire la taille du périphérique de bloc (qui peut être une partition ou un volume logique). Comme cela n'est pas disponible pour les systèmes de fichiers ext*, vous ne pourrez pas réduire la capacité de 20 Go à 19,5 Go pour créer le swap de 500 Mo.

Même Ext4 ne supporte pas le rétrécissement en ligne. Si vous essayez de le faire, vous obtiendrez ce qui suit :

enter image description here

Pour autant que je sache, votre seule option est de.. :

  • Installez une autre version d'Ubuntu sur le même serveur (sur une autre partition) qui peut ensuite être utilisée pour réduire la partition racine du serveur Ubuntu original.

  • Installer un serveur Ubuntu à partir de zéro avec la taille que vous souhaitez réellement

  • Utilisez l'image live du serveur Ubuntu pour redimensionner la partition. Dans ce cas, vous devrez vous rendre à cet écran :

    enter image description here

    Et choisissez l'option Redimensionner comme indiqué dans l'image ci-dessus. À partir de là, vous choisirez la nouvelle taille, car vous pouvez démonter l'unité et la réduire si vous le souhaitez.

Comme aide supplémentaire, voici le support du système de fichiers gparted http://gparted.org/features.php qui donne une liste très détaillée de ceux qui sont supportés et indique s'ils ont un redimensionnement complet en ligne. Btrfs en fait partie.

8voto

noleti Points 3943

La réponse dépend de la possibilité ou non de démonter la partition à réduire. Dans votre cas, vous ne pouvez probablement pas démonter la partition. Sous Linux (UNIX/MAC OS), montage une partition fait référence à l'utilisation du système de fichiers et à son mappage au point de montage (dans votre cas / ). Démontage signifie que vous arrêtez d'utiliser le système de fichiers et que vous supprimez la correspondance avec le point de montage. Vous ne pouvez pas démonter le système de fichiers contenant votre système d'exploitation en cours d'exécution.

Si la partition peut être démontée

Supposons que vous souhaitiez réduire une partition ext4 de 200 Go sur le disque dur de votre ordinateur. /dev/sda4 monté sur /data . Il contient actuellement de la musique et des films ou autres, vous pouvez donc le démonter temporairement. Vous voulez créer un swap de 4 Go.

sudo umount /dev/sda4

pour démonter la partition.

sudo resize2fs /dev/sda4 196G

pour redimensionner le système de fichiers ext4 à 196 Go, en supposant qu'il y ait assez d'espace. Maintenant, il faut réduire la taille de la partition. Je pense actuellement que vous devez utiliser cfdisk pour supprimer la partition existante, et recréer une partition plus petite à sa place. Vous pouvez également créer une nouvelle partition pour le swap.

sudo cfdisk /dev/sda 

vous donnera un guide textuel pour inspecter votre table de partition. Je vous recommande de print la table de partition vers un fichier ou un écran à ce moment-là, et prenez note de la configuration actuelle comme sauvegarde. Vous pouvez ensuite sélectionner /dev/sda4 y delete la cloison. A sa place, free space s'affichera. Utilisez new pour créer une nouvelle partition de 196 Go à sa place, et définir le type à ext4. Ensuite, déplacez-vous vers l'espace libre de queue et créez la partition swap de 4 Go avec le type swap . Note : Je n'ai pas testé ces commandes, car je ne peux pas jouer avec mes / en ce moment.

Si la partition ne peut pas être démontée

Vous ne pouvez pas réduire une partition ext3/4 montée (voir la page de manuel de resize2fs ). Comme vous exécutez votre système d'exploitation à partir de / vous ne pouvez pas démonter / . Cela signifie que vous devez démarrer un autre système d'exploitation (par exemple, à partir d'une clé USB) pour effectuer les modifications.

Dans votre cas, il s'agit d'un serveur distant (sur KVM très probablement), donc vous ne pourrez peut-être pas démarrer à partir d'une image USB/système d'exploitation en direct. Il existe peut-être d'autres moyens de modifier le partitionnement à partir de votre fournisseur de vServer via une interface graphique d'administration. Je pense que c'est votre meilleure chance actuellement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X