GNU/Linux >> Tutoriels Linux >  >> Linux

Comment changer le schéma de partition sur votre serveur Linux ?

Une fois que vous obtenez un VPS chez un fournisseur d'hébergement comme DigitalOcean ou OVH, vous voudrez peut-être personnaliser la disposition des partitions. Cependant, souvent, vous n'avez pas le choix :vous sélectionnez le système d'exploitation souhaité, puis il est installé sur une seule partition, en prenant tout l'espace disque disponible.

Pourtant, les VPS ne sont pas réservés aux serveurs Web à partition unique ! Selon vos besoins, vous pouvez ajouter une partition de swap, une autre pour vos données…

Heureusement, la plupart des hébergeurs proposent un mode secours , un système d'exploitation alternatif sur un autre disque dur, à partir duquel vous pouvez modifier le système d'exploitation standard et le disque dur "normal".

Le reste de ce guide suppose que la seule partition existante est de type Ext4 (ou Ext2/3); c'est le cas si vous avez installé Debian ou Ubuntu.

N'essayez pas cette méthode depuis le système, utilisez le mode de secours. Si vous n'êtes pas sûr, veuillez vérifier auprès de votre fournisseur VPS s'il donne accès à la console de secours. Le redimensionnement du système de fichiers et de la partition n'efface pas les données, étant donné que la nouvelle taille souhaitée est supérieure à la quantité actuelle de données. Néanmoins, faites une sauvegarde sur un disque/périphérique/serveur externe.

Supposons que vous deviez réduire la partition de 40 Gio à 2 Gio (en commençant au début du disque), afin de créer d'autres partitions après celle-ci.

Étape 1 :Passez en mode de secours et identifiez le disque

La première chose à faire est de redémarrer en mode de secours, qui est généralement un système Debian GNU/Linux. Vous recevrez une racine temporaire mot de passe pour ce système temporaire, connectez-vous simplement en SSH.

Ensuite, identifiez le disque utilisé par votre système normal; vous pouvez utiliser fdisk -l .

Ici /dev/sdb est le disque sur lequel nous voulons modifier le schéma de partition, et /dev/sdb1 la seule partition pour l'instant. /dev/sda est le disque sur lequel réside le système de secours temporaire. Bien sûr, dans le reste de ce tutoriel, remplacez sdb1 si ce n'est pas le bon nom d'appareil.

Étape 2 :Réduisez le système de fichiers

Vérifiez le système de fichiers avec e2fsck -f /dev/sdb1 (sinon la commande suivante, resize2fs , peut ne pas fonctionner):

e2fsck et resize2fs sont probablement déjà installés sur le système de secours, mais s'ils ne sont pas présents, installez le paquet e2fsprogs. Sur Debian, lancez apt install e2fsprogs.

Assurez-vous également que la taille du système de fichiers ne dépasse pas 2 Gio. Fournir /mnt est vide, montez le système de fichiers avec mount /dev/sdb1 /mnt et vérifiez sa taille avec df :

Démontez le système de fichiers :umount /dev/sdb1 .

Avant de procéder aux commandes suivantes, et au cas où vous auriez déjà personnalisé le système ou ajouté des données importantes, il est conseillé de sauvegarder vos fichiers !

C'est parti :lancez resize2fs /dev/sdb1 2G .

"2G" signifie 2 GiB, vous pouvez aussi l'écrire "2048M". Quand j'ai pris la capture d'écran ci-dessous, j'ai pensé à tort resize2fs compris comme 2000M, donc à la place j'ai fourni un certain nombre de secteurs (4194304 * 512 octets par secteur =2GiB). Le résultat est exactement le même.

Ici, le programme signale "524288 (4k) blocs". 524288 * 4096 B =2 Gio, donc ça va.

4k est la taille de l'unité (bloc) au niveau du système de fichiers, tandis que 512 est la taille de l'unité (secteur) au niveau du disque. Comment savoir si c'est le 512 ? Regardez la capture d'écran "fdisk" ci-dessus !

Étape 3 :Réduisez la partition

Jusqu'à présent, vous avez réduit le système de fichiers, ce qui signifie que vous ne pouvez pas y ajouter de données qui ne rentrent pas dans sa taille logique de 2 Gio. Mais la partition sur laquelle se trouve le système de fichiers occupe toujours tout l'espace disque.

Je recommande parted pour la gestion des partitions sous Linux. Sur Debian, obtenez-le avec apt install parted . Cet outil peut être utilisé de manière interactive. Lancez-le avec /dev/sdb comme argument :

Utilisez unit s , donc toutes les tailles sont affichées sous forme de nombre de secteurs (au lieu de MiB, GiB, etc.), ce qui est utile pour contrôler les choses avec précision. Sinon, vous pourriez rencontrer des problèmes tels que "La partition résultante n'est pas correctement alignée pour de meilleures performances" . Le print free La commande vous permet de voir l'état du disque :

Vous voulez que la partition 1 ait une longueur de 2 Gio, ce qui équivaut à 2*1024*1024*1024/512 =4194304 secteurs.

Exécutez resizepart 1 . Vous êtes ensuite invité à indiquer l'emplacement sur le disque, exprimé en secteurs à partir du début du disque, où la partition doit se terminer. Puisqu'il y a une zone réservée , avant la partition, qui se termine au secteur 2047, vous devez entrer 4194304 + 2047 =4196351s .

N'oubliez pas le "s" final.

Répondez "Oui" après le message d'avertissement, puis print free à nouveau pour confirmer que la partition est redimensionnée.

D'après mon expérience, s'arrêter ici et redémarrer peut "restaurer" la disposition de la partition dans l'état précédent, c'est-à-dire que vous n'avez jamais réduit la partition !

Pour "valider" les changements, il vaut mieux ajouter au moins une partition sur l'espace libre, maintenant.

Étape 4 :Ajouter d'autres partitions

Supposons que vous souhaitiez ajouter une partition Ext4 de 12 Gio après celle prise par le système d'exploitation.

Tout d'abord, vous devez "déclarer" la partition, donc une entrée est ajoutée dans la table des partitions (quelque part dans la zone réservée). Utiliser mkpart primary ext4 :

Comme dans cet exemple, démarrez votre partition un secteur après la fin du précédent, il n'y a donc pas d'espace perdu. Ici c'est 4196351 + 1 =4196352s .

La fin est à 12*1024*1024*1024/512 secteurs (la taille que vous voulez pour cette partition) + 4196351 secteurs (le décalage pour être la 2ème partition) =29362175s .

Ensuite, quittez parted (C^d) et créez effectivement un système de fichiers Ext4 sur sdb2. Pour appliquer les paramètres Ext4 par défaut, la commande est :
mkfs.ext4 /dev/sdb2

La fin

Cet article n'était qu'une introduction sur la façon de manipuler les partitions et les systèmes de fichiers sur la ligne de commande, en se concentrant sur le cas pratique des serveurs ayant une grande partition par défaut (et où vous voudrez peut-être la diviser). J'espère que cela a été utile.

Informations sur l'auteur :Paul Desplanque est 100 % autodidacte en matière d'informatique. Avec 8 ans d'expérience en développement PHP derrière lui, Paul est assez doué pour l'auto-hébergement.


Linux
  1. Comment changer la couleur de votre terminal Linux

  2. Comment créer un système de fichiers sur une partition ou un volume logique Linux

  3. Comment changer un fuseau horaire sur le serveur RHEL7 Linux

  4. Comment joindre votre serveur Linux au projet de pool NTP

  5. Comment trouver l'UUID d'un système de fichiers

Comment définir ou modifier le fuseau horaire sous Linux

Comment changer votre nom d'hôte sous Linux

Comment vérifier la charge de votre serveur sous Linux

Comment changer le mot de passe root sous Linux

Comment changer le nom d'hôte du serveur dans Ubuntu

Comment changer le fuseau horaire sur le serveur Ubuntu 18.04 ?