web-dev-qa-db-fra.com

Redimensionner la partition de disque sur le serveur VM distant

J'exécute Ubuntu Server 10.04 sur un serveur distant en tant que machine virtuelle. Je n'ai accès qu'à la machine virtuelle.

La VM attribue un espace disque de 20 Go. Toutefois, le lecteur n'est actuellement partitionné que pour utiliser environ 4,7 Go.

Je sais que vous pouvez utiliser LiveCD pour repartitionner un disque en utilisant gparted. Comment feriez-vous cela sur une machine virtuelle distante? (Puisque la partition est aussi le volume de démarrage)

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         618     4959232   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             618         653      280577    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5             618         653      280576   82  Linux swap / Solaris
7
Highway of Life

C'est ce que j'essaierais:

  1. De nombreux fournisseurs d’hébergement VPS disposent d’outils pour manipuler les partitions dans leurs panneaux de contrôle. Avoir accès au panneau de commande serait l'option la plus sûre.

  2. Ne redimensionnez pas la partition mais créez une seconde partition et déplacez vos données "de travail" vers cette partition. C'est à dire. montez /home ou à l'endroit où vos données se trouvent sur une partition séparée

  3. Si vous vous sentez toujours aventureux, essayez de remonter la partition de démarrage en lecture seule et voyez s'il est possible de la redimensionner pendant le montage en lecture seule.

  4. Quelque chose de vraiment délicat, comme remove swap - créez une copie de votre partition racine à la toute fin du lecteur - configurez grub pour démarrer à partir de la nouvelle partition - redémarrez - redimensionnez votre partition d'origine - copiez les données en arrière - modifiez à nouveau grub - redémarrez - supprimez la partition racine temporaire - créez à nouveau une partition de swap.

Je considérerais les deux autres options vraiment dangereuses dans le sens où, en cas de problème, votre système ne démarre pas et vous perdez ainsi tout accès au système.

3
Sergey

Si vous souhaitez agrandir la partition système

Commencez par désactiver le swap (swapoff /dev/sda5), car nous supprimerons temporairement la partition de swap.

Utilisez GParted ou cfdisk ou fdisk pour:

  1. Supprimez la partition logique /dev/sda5 et la partition étendue /dev/sda2.
  2. Enlarge /dev/sda1 pour couvrir tout le disque moins ce que vous souhaitez allouer à la partition de swap.
  3. Recréez une partition (faites-en une partition principale par souci de simplicité) pour le swap.

Ne réactivez pas l’échange. Mettez en commentaire la ligne de swap dans /etc/fstab et redémarrage. (Si vous ne redémarrez pas, le noyau continue d'utiliser des données obsolètes sur le partitionnement, ce qui peut avoir des conséquences désastreuses.)

Après le redémarrage, éditez /etc/fstab pour changer le nom du périphérique de swap et décommentez-le. Formatez la zone d'échange avec mkswap et activez-la avec swapon -a.

Enfin, agrandissez le système de fichiers existant pour qu’il occupe l’ensemble de /dev/sda1 avec resize2fs /dev/sda1.

Si vous voulez créer une autre partition

Utilisez GParted pour agrandir la partition étendue (/dev/sda2) et créer une nouvelle partition logique /dev/sda6 sur celle-ci. Dites à GParted que vous voulez un système de fichiers Linux sur /dev/sda6. Créez un système de fichiers avec mke2fs -t ext4 /dev/sda6.

11
Gilles