J'aimerais stocker /var
sur une partition distincte de /
. Quelle est la bonne façon de configurer cela?
Commencez par préparer une nouvelle partition (par exemple, avec parted
et mkfs
).
Disons que la partition est/dev/sda5
Montez la nouvelle partition:
mkdir /var2
mount /dev/sda5 /var2
Synchronisez votre var actuelle:
rsync -a /var/ /var2
Ajouter l'entrée dans/etc/fstab
/dev/sda5 /var ext4 defaults 2 2
Redémarrez.
Si vous avez besoin de revenir en arrière, votre ancien/var commente simplement l'entrée dans fstab.
Lorsque j’ai repris un nouveau serveur virtuel qui avait été configuré 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 normaux dans la partition racine. Comme le fournisseur de serveur virtuel ne fournissait pas une interface de type KVM permettant d'accéder au serveur en mode mono-utilisateur, j'ai utilisé une méthode très similaire à celle décrite par Aleksander (cette réponse inclut des détails supplémentaires pour la récupération d'espace disque dans Outre les commandes spécifiques à LVM).
Créez le système de fichiers du nouveau volume var
, montez-le (à l'aide d'un répertoire temporaire) et copiez les fichiers du /var
actuel dans le nouveau système de fichiers. Lors de la copie de fichiers avec rsync
, utilisez son option -a, --archive
pour conserver les horodatages, la propriété, les modes, etc., et son option -X, --xattrs
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/
Configurez le nouveau système de fichiers à utiliser comme nouveau point de montage pour /var
en ajoutant la ligne suivante à /etc/fstab
. Notez que 0
est utilisé comme numéro de passe (dernier champ) afin que le système de fichiers ne soit pas automatiquement vérifié (fsck
) après un certain nombre de redémarrages (je n'ai pas accès à la connexion au serveur en mode mono-utilisateur). .
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Étant donné que je ne peux pas passer en mode mono-utilisateur, redémarrez l'ordinateur pour utiliser ce nouveau volume sous le nom /var
.
Une fois la machine redémarrée, procédez comme suit pour nettoyer le répertoire temporaire et supprimer les anciens fichiers /var
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 autre chemin d'accès aux fichiers de l'ancien répertoire /var
du système de fichiers racine (il est actuellement "masqué" par le nouveau système de fichiers /var
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/