Quelle est la manière la plus simple de redimensionner une partition ext4 (ou tout type de partition selon la méthode) à partir de la ligne de commande (potentiellement avec le moins de commandes, mais aussi le plus simple à comprendre)?

Utiliser un outil comme Gparted est évidemment facile dans une interface graphique, mais quen est-il de la ligne de commande? Je suppose que les interfaces graphiques basées sur du texte peuvent aussi compter pour la réponse puisquelle  » s techniquement toujours dans la ligne de commande. Cela a juste besoin dêtre facile.

Par partition, jentends une simple partition sur un seul disque dun ordinateur personnel (par exemple sur un ordinateur portable). Par exemple, je souhaite redimensionner /dev/sda4. Il ny a pas de RAID, il ny a pas plus dun lecteur de disque, il ny a rien de compliqué ici. Juste une simple partition sur un seul disque (/ dev / sdaX sur / dev / sda).

Commentaires

  • Vous le savez probablement, mais Gparted est une interface graphique pour GNU Parted. Avant Parted 2.4, vous pouviez redimensionner, mais cela a depuis été supprimé. Je soupçonne que le seul moyen est de le faire manuellement, en redimensionnant la table de partition, en créant des cartes de périphériques, puis en redimensionnant le système de fichiers.
  • Avez-vous vu ceci article sur le redimensionnement des partitions?
  • Je nai ‘ pas vu celui-là spécifique, mais lessentiel est que vous supprimez la partition puis en créez une nouvelle la taille souhaitée. Mais ce que je ‘ m intrinsèquement fait, ce n’est pas  » supprimer  » tout, juste un redimensionnement. La meilleure réponse à cette question serait probablement un moyen de  » redimensionner  » une partition, pas en supprimer une et en créer une nouvelle, et les étapes de resize2fs seraient totalement inutiles et se produiraient en arrière-plan (car naturellement et évidemment lutilisateur veut également utiliser tout lespace dans la partition donc cela ne devrait pas ‘ être une étape supplémentaire).

Réponse

Vous pouvez utiliser fdisk pour modifier votre table de partition pendant lexécution. Reportez-vous à ce lien http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

Commentaires

  • Vous devriez mettre les informations pertinentes du lien, dans votre réponse, à cause de la pourriture du lien. De plus, wordpress.com est actuellement bloqué là où je vis (Chine), donc je peux ‘ t même voir la réponse  » « .
  • @Thushi, sortie de fdisk -l paste.ubuntu. com / 24757891 . Je veux fusionner sda5 et sda6 en tant que sda6. Est-ce que cela endommage mes données?
  • fdisk ne semble pas prendre en compte les données utilisées / gratuites – ce qui pourrait entraîner une perte de données potentielle (à ma connaissance). Je ne ‘ ne pense pas que cela devrait être répertorié comme une méthode  » facile  » dans ce cas cas.

Réponse

Si vous « allez augmenter la taille de la partition et du système de fichiers , puis exécutez dabord fdisk pour augmenter la taille de la partition, puis exécutez resize2fs pour augmenter la taille du système de fichiers.

Si vous « allez réduire la taille des deux, exécutez dabord resize2fs, puis fdisk.

Réponse

gparted utilise resize2fs pour changez la taille de la partition. Cela ne prend pas beaucoup darguments. Voici ceux que jai trouvés utiles.

-M se réduit à la taille minimale du système de fichiers.

-p affiche un indicateur de pourcentage.

-P imprime la taille minimale du système de fichiers et se ferme.

Commentaires

  • resize2fs ne ‘ ne modifie pas du tout la table de partition, il modifie la taille dun système de fichiers . Après lavoir utilisé, vous ‘ devrez redimensionner la partition sur laquelle se trouvait le système de fichiers.

Réponse

Une méthode scriptable, en supposant quil y ait de lespace libre directement après la partition à redimensionner:

echo "- +" | sfdisk -N <partnum> /dev/sdX 

… suivi de resize2fs /dev/sdX<partnum>.

Le - dit à sfdisk de réutiliser le secteur start existant, et le + lui dit de faire le aussi grand que possible compte tenu de lespace disponible.

Commentaires

  • Bien que curieusement terrifiant, cela a fait exactement ce que je voulais après dd – passage sur un système de fichiers dune image ddrescue vers un nouveau lecteur qui sest avéré être plus grand. Merci.

Réponse

Je « réponds à cette question au cas où vous auriez une situation similaire à la mienne. Jai dû redimensionner le FileSystem (Ext4) sur un disque dynamique exécutant Ubuntu 18.0.4 LTS en tant quinvité. Jai réussi à redimensionner le disque à partir de lhôte puis à redimensionner le FileSystem.

Lexécution des commandes habituelles nétait pas possible. Par exemple:

$ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) The filesystem is already 13180160 (4k) blocks long. Nothing to do! 

et fdisk était assez compliqué, aussi jai probablement dû exécuter un LiveCD pour travailler sur le disque non monté.

Ces deux commandes ont résolu mon problème facilement et rapidement:

$ growpart /dev/sda 2 CHANGED: partition=2 start=4096 old: size=105441280 end=105445376 new: size=409595871,end=409599967 $ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/sda2 is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 25 The filesystem on /dev/sda2 is now 51199483 (4k) blocks long. 

Remarque: 2 dans la première commande, qui indique le numéro de partition sur lappareil /dev/sda.

Réponse

Redimensionner une partition racine Linux sans redémarrage

Introduction

Un serveur Linux typique déployé à partir dune image fournie par ProfitBricks a un seul volume de stockage, /dev/vda. Si nous examinons cela en utilisant fdisk, nous verrons que le disque est divisé en deux partitions. Le premier, /dev/vda1, est la partition de démarrage où réside le système dexploitation. La deuxième partition, /dev/vda2, est configurée comme espace de swap.

root@debian:~# fdisk -l /dev/vda 

Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0041f8a8

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 96471039 96468992 46G 83 Linux /dev/vda2 96471040 104857599 8386560 4G 82 Linux swap / Solaris

Dans lexemple ci-dessus , le volume de stockage total de 50 Go est divisé en 46 Go despace utilisable et 4 Go pour le swap. Et si, après le provisionnement, nous constatons que 46 Go despace disque ne suffisent pas mais que nous préférons ne pas ajouter de volume de stockage supplémentaire? Le but est daugmenter la quantité despace disque disponible sur le système de fichiers racine. Cela peut être accompli avec un minimum de perturbations. Nous navons pas besoin de redémarrer le serveur!

Exigences

  • Un serveur Linux créé à partir dune image fournie par ProfitBricks.
  • Accès SSH ou console (via le DCD ) sur le serveur Linux.
  • La commande partprobe. Peut être installé à partir du package parted sur la plupart des distributions Linux.
  • Le fdisk, , mkswap, swapon et resize2fs. Probablement disponible par défaut.
  • Un instantané actuel ou une autre sauvegarde du système sur lequel vous travaillez. Juste pour être sûr!

Prévoir un espace supplémentaire

Pour augmenter la taille du disque dur, allez dans le DCD (Data Center Designer) et augmentez la taille du disque.

Après avoir augmenté la quantité despace disque, cliquez sur  » provisioning « pour traiter la modification. Cela prend environ une minute et votre disque dur est plus gros.

Nous devons ensuite désactiver le swap – alors assurez-vous de pouvoir vivre quelques minutes sans espace de swap:

root@debian:~# swapoff -a 

Une fois le swap désactivé, nous devons reconfigurer les partitions en utilisant fdisk:

Nous allons dabord supprimer les deux partitions existantes . Nous exécutons fdisk /dev/vda puis utilisons la commande d pour supprimer la partition 2, puis supprimons la partition 1. Suivez lexemple ci-dessous:

root@debian:~# fdisk /dev/vda 

Command (m for help): d Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): d Selected partition 1 Partition 1 has been deleted.

Nous recréons maintenant nos partitions. Dans lexemple, nous avons 4 Go despace de swap. Nous devons donc garder au moins autant despace disponible pour la nouvelle partition déchange.

Recréez dabord /dev/vda1. Appuyez sur n pour créer une nouvelle partition. Entrez p pour créer une partition principale. Nous pouvons appuyer sur Entrez pour accepter la valeur par défaut de 2048 pour le premier secteur. Entrez ensuite une taille pour la partition. Vous pouvez entrer une valeur en Go, donc si nous augmentons le disque à 100 Go, nous soustrayons nos 4 Go pour le swap, et entrons + 96G pour 96 Go.

Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-209715199, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G 

Created a new partition 1 of type "Linux" and of size 96 GiB.

Nous recréons maintenant la partition de swap en suivant un processus similaire. Appuyez sur n puis sur p pour créer une nouvelle partition principale. Appuyez sur Entrez pour accepter la valeur par défaut pour « Premier secteur ». Nous pouvons également appuyer à nouveau sur Entrez pour accepter la valeur par défaut pour « Dernier secteur ».

Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (201328640-209715199, default 201328640): Last sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199): 

Created a new partition 2 of type "Linux" and of size 4 GiB.

Puisque cette seconde partition va être utilisée pour lespace déchange, nous devons changer le type de partition. Cela peut être fait en appuyant sur t à linvite fdisk. Nous appuyons ensuite sur 2 pour sélectionner la deuxième partition.Si vous voulez voir la liste des types de partitions disponibles, appuyez sur L , sinon entrez 82 pour sélectionner « Linux swap / Solaris ».

Command (m for help): t Partition number (1,2, default 2): 2 Partition type (type L to list all types): L 

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext"d (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Partition type (type L to list all types): 82

fdisk nous informe utilement que nous avons changé le type de partition avec le message:

Changed type of partition "Linux" to "Linux swap / Solaris". 

Après cela, nous sauvegardons en utilisant le w et sont renvoyés à une invite du shell:

Command (m for help): w 

Vous pouvez recevoir un message comme celui-ci avant le shell invite:

The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy 

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

Permet de renoncer au redémarrage et dinformer le noyau des nouvelles partitions en utilisant partprobe :

root@debian:~# partprobe 

Nous devrions être renvoyés à linvite du shell sans sortie de partprobe.

Nous devons maintenant redimensionner notre système de fichiers sur /dev/vda1:

root@debian:~# resize2fs /dev/vda1 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 

Le système de fichiers em sur /dev/vda1 fait maintenant 25165824 (4k) blocs de long.

Initialisez le nouvel emplacement déchange de /dev/vda2:

root@debian:~# mkswap /dev/vda2 Setting up swapspace version 1, size = 4193276 KiB no label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2 

Enfin, nous éditons /etc/fstab et remplaçons lancien UUID par le nouveau retourné dans la sortie du mkswap commande. La ligne à modifier na pas de valeur pour « point de montage » et a « type » défini sur swap .

# /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> UUID=332f8fb5-ff1f-4297-b512-f2c93a277296 / ext4 errors=remount-ro 0 1 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 UUID=c55c25a2-a386-4653-8455-4d9030586dd2 none swap sw 0 0 

Après avoir modifié /etc/fstab, nous devons réactiver le swap:

root@debian:~# swapon -a 

Vérifier

Nous pouvons vérifier la nouvelle taille de disque plus grande en utilisant df et / ou fdisk.

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 201328639 201326592 96G 83 Linux /dev/vda2 201328640 209715199 8386560 4G 82 Linux swap / Solaris 

Nous pouvons également confirmer que le le serveur a été pas redémarré en regardant la sortie de uptime:

$ uptime 23:54:21 up 7 days, 1:15, 1 user, load average: 0.00, 0.01, 0.05 

Résumé

Nous avons a augmenté avec succès la quantité despace disque disponible sur notre serveur Linux.

Référence

https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

OU

https: //web.archive .org / web / 20201113021238 / https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *