web-dev-qa-db-fra.com

Comment puis-je stocker / var sur une partition séparée?

J'aimerais stocker /var sur une partition distincte de /. Quelle est la bonne façon de configurer cela?

12
ændrük

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.

16

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éation et utilisation d'un nouveau système de fichiers/var avec 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/

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 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.

Récupérer de l'espace disque à partir du système de fichiers racine

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:

  1. Supprimez le point de montage temporaire:

    Sudo rmdir /var.new
    
  2. 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/
    
1
Anthony Geoghegan