Se déplacer /var
sans passer en mode mono-utilisateur
Lorsque j'ai repris un nouveau serveur virtuel qui avait été provisionné pour moi par la société d'hébergement de mon employeur, j'ai créé des volumes logiques supplémentaires pour var
et home
qui étaient des répertoires réguliers dans la partition racine. Étant donné que le fournisseur de serveur virtuel n'a pas fourni d'interface de type KVM par laquelle je pouvais accéder au serveur en mode mono-utilisateur, les réponses ci-dessus n'étaient pas applicables à ma configuration. J'espère que cette réponse est utile pour d'autres dans une situation similaire (j'ai gardé les détails LVM mais ceux-ci peuvent être ignorés car ce n'est pas particulièrement pertinent que le nouveau système de fichiers soit créé sur un volume logique ou une partition de disque).
Créer et utiliser un nouveau /var
système de fichiers avec LVM
Créez le système de fichiers pour le nouveau var
volume, montez-le (à l'aide d'un répertoire temporaire) et copiez les fichiers du système actuel /var
vers le nouveau système de fichiers. Lors de la copie de fichiers avec rsync
, utilisez son -a, --archive
option pour conserver les horodatages, la propriété, les modes, etc. et son -X, --xattrs
option pour conserver les attributs étendus tels que les étiquettes de sécurité utilisées par AppArmor et SELinux.
sudo lvcreate -L 60GB -n var VolGroup00
sudo mkfs.ext4 /dev/VolGroup00/var
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
sudo rsync -raX /var/ /var.new/
Mettre à jour la table du système de fichiers
Configurez le nouveau système de fichiers à utiliser comme nouveau point de montage pour /var
en ajoutant la ligne suivante à /etc/fstab
. Notez qu'il 0
est utilisé comme numéro de passe (dernier champ) afin que le système de fichiers ne soit pas vérifié automatiquement ( fsck
) après un certain nombre de redémarrages (je n'ai pas accès pour me connecter au serveur en mode mono-utilisateur).
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Comme je ne peux pas passer en mode mono-utilisateur, redémarrez l'ordinateur pour utiliser ce nouveau volume en tant que /var
.
Récupérer de l'espace disque à partir du système de fichiers racine
Après le redémarrage de la machine, procédez comme suit pour nettoyer le répertoire temporaire et supprimer les anciens /var
fichiers du système de fichiers racine:
Supprimez le point de montage temporaire:
sudo rmdir /var.new
Créez un nouveau point de montage pour créer un chemin alternatif vers les fichiers de l'ancien /var
répertoire du système de fichiers racine (il est actuellement «masqué» par le nouveau /var
système de fichiers monté sur le répertoire):
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/