Je n'ai accès au serveur que via un terminal et je ne peux pas utiliser d'outils graphiques tels que GParted!
Je souhaite 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
Vous ne pouvez pas réduire/éditer une partition si l'une des partitions du périphérique de stockage est montée. Donc, pour démonter et éditer le système de fichiers racine, le système d'exploitation doit être arrêté. Ensuite, démarrez dans un système en direct et éditez la partition comme décrit dans d'autres réponses.
Au lieu de créer une partition entière, un fichier d'échange offre la possibilité de modifier sa taille à la volée et est plus facilement supprimé. Le fichier d'échange peut être branché à chaud . Cela peut être ajouté et supprimé sans démonter/éteindre le système d'exploitation.
Créez un fichier de 512 Mo appelé /swapfile
. Ce sera notre fichier d'échange.
fallocate -l 512M /swapfile
OR
dd if=/dev/zero of=/swapfile bs=1M count=512
Définissez les autorisations adéquates (car un fichier d'échange lisible par tout le monde constitue une énorme vulnérabilité locale):
chmod 600 /swapfile
Après avoir créé le fichier de taille correcte, formatez-le pour permuter:
mkswap /swapfile
Activer le fichier d'échange:
swapon /swapfile
Éditez /etc/fstab
et ajoutez une entrée pour le fichier d'échange:
/swapfile none swap defaults 0 0
Plus de détails sur Arch Linux Wiki .
Tout d’abord, il est important de savoir que vous ne pouvez pas redimensionner pour réduire votre partition racine si vous l’utilisez (ceci est appelé réduction en ligne). Vous ne pouvez le cultiver qu'en ligne. Ceci est pris en charge par la commande resize2fs
. Je vais assumer ce qui suit:
Il existe 2 types de partitions que vous pouvez redimensionner, les partitions LVM ou les partitions Logical Volume Manager qui prennent en charge le redimensionnement en ligne (réduction/croissance) depuis la création de la galaxie et les partitions standard que la plupart d'entre nous utilisons. Actuellement, le système de fichiers btrfs (qui est encore en développement) est le seul à prendre en charge presque à 100% le redimensionnement en ligne complet (Shrink/Grow). Je vais expliquer comment faire les partitions normales que la plupart d'entre nous utilisons dans le système de fichiers ext4.
Pour agrandir votre partition, vous pouvez le faire avec la racine montée. Pour ce faire, il suffit de:
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 modifications prennent effet correctement. La commande ci-dessus serait redimensionnée au maximum autorisé. Si vous souhaitez redimensionner à une taille particulière, ajoutez simplement la taille à la fin:
Sudo resize2fs /dev/sda1 25G
Notez que si vous souhaitez spécifier 25,4 Go, vous ne pouvez pas utiliser le ".". vous auriez besoin de descendre d'une unité de mesure. Dans ce cas, de Go à MB, cela ressemblerait à ceci:
Sudo resize2fs /dev/sda1 25400M
De cette façon, vous aurez une partition de 25.4G
La réduction de la partition est un processus en deux étapes qui implique:
Avant de réduire la capacité d'un système de fichiers, vous devez réduire la taille du périphérique de blocage (qui peut être une partition ou un volume logique). Etant donné que cette option n'est disponible pour aucun des systèmes de fichiers ext *, vous ne pourrez pas la réduire de 20 Go à 19,5 Go pour créer le swap de 500 Mo.
Même Ext4 ne supporte pas la réduction en ligne. Si vous essayez de le faire, vous obtiendrez ce qui suit:
Pour autant que je sache, votre seul pari 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 d'origine.
Installez le serveur Ubuntu à partir de zéro avec la taille souhaitée
Utilisez Ubuntu Server Live Image pour redimensionner la partition. Dans ce cas, vous devrez accéder à cet écran:
Et choisissez l'option Redimensionner comme indiqué dans l'image ci-dessus. À partir de là, vous sélectionnerez la nouvelle taille car à partir de là, vous pourrez démonter l’appareil et le réduire si vous le souhaitez.
Comme aide supplémentaire, voici gparted fileystem suppor http://gparted.org/features.php qui donne une liste très détaillée des fichiers pris en charge et indique s’ils ont un redimensionnement en ligne complet. Btrfs est parmi eux.
La réponse dépend si vous pouvez démonter la partition pour la réduire ou non. Dans votre cas, vous ne pouvez probablement pas démonter la partition. Sous Linux (UNIX/MAC OS), le montage fait référence à l’utilisation du système de fichiers et à son mappage sur le point de montage (dans votre cas, /
). Le démontage signifie que vous arrêtez d'utiliser le système de fichiers et supprimez le mappage vers 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 /dev/sda4
monté sur /data
. Il contient actuellement de la musique et des films ou similaires, vous pouvez donc le démonter temporairement. Vous voulez créer un échange de 4 Go.
Sudo umount /dev/sda4
démonter la partition.
Sudo resize2fs /dev/sda4 196G
redimensionner le système de fichiers ext4 à 196 Go, en supposant qu’il y ait suffisamment d’espace. Maintenant, vous devez réduire la partition. Je crois actuellement que vous devez utiliser cfdisk
pour supprimer la partition existante et recréer une partition plus petite à la place. Vous pouvez également créer une nouvelle partition pour le swap.
Sudo cfdisk /dev/sda
vous donnera une interface graphique pour inspecter votre table de partition. Je vous recommanderais de print
la table de partition dans un fichier ou un écran à ce moment-là et de prendre note de la configuration actuelle en tant que sauvegarde. Vous pouvez ensuite sélectionner /dev/sda4
et delete
la partition. À sa place, free space
sera affiché. Utilisez new
pour créer une nouvelle partition de 196 Go à la place, puis définissez le type sur ext4. Ensuite, déplacez-vous vers l'espace libre de fin et créez la partition de swap de 4 Go avec le type swap
name__. Remarque: Je n'ai pas testé ces commandes car je ne peux pas jouer avec mon /
pour le 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 utilisez 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 (le plus souvent sur KVM), de sorte que vous ne pourrez peut-être pas démarrer à partir d’une image USB/réelle du système d’exploitation. Il existe peut-être d'autres moyens de modifier le partitionnement de votre fournisseur vServer via une interface graphique d'administration. Je crois que c'est votre meilleur pari actuellement.