web-dev-qa-db-fra.com

Comment puis-je augmenter la taille de la partition ext4 sur Debian

J'ai un lecteur avec cette configuration:

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000f1b8b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2612    20971520   83  Linux
/dev/sda3           60736       60801      525312   82  Linux swap / Solaris

Il y a 478 Go d'espace non alloué, comment pourrais-je ajouter cet espace à/dev/sda1 sans perdre les données qui se trouvent actuellement sur/dev/sda1? (le système de fichiers est ext4).

REMARQUE: c'est un serveur avec seulement SSH, pas d'interface graphique pour exécuter des trucs comme gparted.

29
Seb

Agrandir la partition: fdisk -u /dev/sda.

p pour imprimer la table de partition, notez le nombre, début, fin, type de sda1.

Supprimez-le: d:

Recréez-le avec le même numéro (1), commencez et tapez mais avec un plus gros end (en prenant soin de ne pas chevaucher avec d'autres partitions). Essayez d'aligner les choses sur une limite de mégaoctets pour fin, faites-en un multiple de 2048 moins 1. Modifiez le type si nécessaire avec t (pour les partitions contenant un extX ou btrfs système de fichiers, la valeur par défaut de 83 c'est bien).

Puis w pour écrire et q pour quitter.

La table des partitions aura été modifiée mais le noyau ne pourra pas en tenir compte car certaines partitions sont montées.

Cependant, si les partitions en cours d'utilisation étaient uniquement agrandies, vous devriez être en mesure de forcer le noyau à prendre la nouvelle disposition avec:

partx /dev/sda

Si cela échoue, vous devrez redémarrer. Le système devrait démarrer très bien.

Ensuite, redimensionnez le système de fichiers afin qu'il se propage à l'étendue de la partition agrandie:

resize2fs /dev/sda1

Qui pour ext4 fonctionnera très bien même sur un FS en direct.

45

Vous ne pouvez pas le faire en toute sécurité pendant que la partition est montée, ce qui signifie que vous devez démarrer une autre partition et le faire à partir de là.

gparted est une interface graphique agréable et facile à cet effet. Dans notre échange de commentaires supprimé, vous avez mentionné que cela ne démarrerait pas en raison de "impossible d'accéder à l'affichage" - cela implique que vous n'êtes pas dans X; comme il s'agit d'une interface graphique, cela ne fonctionnera pas sans cela.

Bien sûr, si vous n'avez pas d'autre partition à utiliser, vous aurez besoin d'un CD live ou quelque chose - je pense qu'ils viennent généralement avec gparted . Votre meilleur pari est probablement le véritable CD live gparted , qui semble avoir une dernière version stable raisonnablement récente (et s'adaptera sur un [~ # ~] cd [ ~ # ~] , ce qui est bien puisque le "live CD" devient rapidement le "live DVD").

Je n'ai jamais eu un problème avec Gparted, mais bien sûr, sauvegardez d'abord votre important tish.

7
goldilocks

Je sais que c'est un problème très ancien, mais beaucoup de gens recherchent cette solution.

Pour cet exemple, vous avez la situation typique suivante. Au début se trouve une seule partition, et à la fin une partition de swap se trouve. ce n'est pas bon car le swap peut être lourdement chargé, et la fin du disque tourné en est la partie la plus lente. ce que je propose?

  1. Créez une partition de démarrage au début. Pourquoi au début? car de nombreux outils ont des problèmes avec la fin d'un grand disque au-dessus de la barrière de 2 To. Après la partition de démarrage doit être la partition d'échange. C'est pour la performance. Le reste du disque doit être utilisé pour d'autres partitions.

Mais qu'en est-il de cette situation? Je ne recommande pas d'étendre sda1. Je suggère de créer d'autres partitions après sda1 et sda2, montées comme /home et /usr. Sur ces répertoires sont stockés le plus de données utilisateur et système, et il est possible de déplacer en toute sécurité les données de ces répertoires vers de nouvelles partitions.

  1. Mais. (deuxième "mais") si vous voulez toujours conserver votre structure actuelle, vous devez d'abord supprimer la partition de swap. Vous devriez faire un swapoff, remarquez ceci dans /etc/fstab. si swapon vous dit (voir man) qu'aucun swap n'est utilisé, vous pouvez le supprimer par l'outil de partition (fdisk ou similaire).

    Lorsque vous n'avez pas cette partition, vous pouvez agrandir votre sda1. En utilisant fdisk, vous devez d'abord imprimer la partition. C'est pour se rappeler où ça commence. Ensuite, supprimez la partition à l'aide de la touche "d". Pas de panique, rien n'est écrit sur le disque dur :). Après l'impression, vous voyez, aucune partition n'existe sur le disque.

    Créez ensuite une nouvelle partition, mais soyez prudent. Voir sur quel secteur la partition d'origine a commencé. Écrivez le même numéro. Après cela, regardez à la fin. fdisk vous demande le dernier secteur disponible. Utilisez la calculatrice et affectez dans votre esprit la quantité de swap dont vous avez besoin en kilo-octets. Multipliez-le par 2 et soustrayez ce nombre du dernier numéro de secteur demandé par fdisk. Créer une partition. Imprimez ceci (il est toujours dans la mémoire temporaire fdisk), et regardez tout va bien.

    Après cette pression sur la touche "w", cela va vraiment écrire un nouveau partitionnement sur le disque. Vous verrez toutes les informations synchronisées ou la synchronisation a échoué. En cas d'échec, vous pouvez appeler la commande partx/dev/sda pour effectuer la synchronisation. S'il échoue toujours, vous devez redémarrer votre système. Après le redémarrage, vous avez préparé une partition plus grande, mais le système de fichiers est encore plus petit. Tu devrais le cultiver. EXT4 est évolutif à la volée :), utilisez resize2fs /dev/sda1 pour le faire.

    Vous n'avez pas besoin de redémarrer le redémarrage, etc. Enfin, vous devez restaurer la partition de swap. Utilisez simplement fdisk à nouveau, créez une nouvelle partition comme échange. Après avoir écrit "w", le périphérique sda2 sera restauré. Préparez la structure de swap dessus à l'aide de mkswap /dev/sda2, supprimer les remarques à échanger sur /etc/fstab et enfin swapon -a. Regardez en utilisant swapon ou la commande top, le swap est activé.

Je sais, c'est une très longue explication. J'espère qu'il sera utilisable pour tout. Remarquez, à mon avis, le système de fichiers xfs est beaucoup mieux, malheureusement ce fs ne prend pas en charge la réduction sans copie temporaire à un autre endroit, mais la réduction est rarement utilisée. C'est Nice, xfs prend extrêmement peu de place pour ses propres métadonnées, et est plus rapide à bien des égards par rapport à ext4.

Un autre indice, il vaut mieux utiliser du LVM comme couche intermédiaire pour le partitionnement. après cela, tout redimensionnement est beaucoup plus facile. Les performances sont comparables, bien sûr, vous pouvez utiliser une combinaison de gestion du disque dur. vous pouvez utiliser dans les partitions brutes communes et LVM.

2
Znik