8 votes

Différence de LVM dans les chemins pour les montages

Donc je peux faire ce qui suit :

mount /dev/datavg/datalv /mnt

ou

mount /dev/mapper/datavg-datalv /mnt

Sont-ils identiques ? Y a-t-il un avantage à l'un par rapport à l'autre ? Est-ce une meilleure pratique ?

9voto

jaume Points 5382

Pour vérifier s'ils sont les mêmes, voir ce que ls -la liste pour les deux fichiers:

$ ls -l /dev/datavg/datalv 
lrwxrwxrwx 1 root root 25 2013-03-01 19:02 /dev/datavg/datalv -> /dev/mapper/datavg-datalv
$ ls -l /dev/mapper/datavg-datalv 
brw------- 1 root root 253, 0 2013-03-01 19:02 /dev/mapper/datavg-datalv

Comme vous pouvez le voir, il y a une petite différence:

/dev/mapper/datavg-datalv est un fichier de périphérique alors que /dev/datavg/datalv est un lien symbolique.

Bien que les deux chemins soient interchangeables dans les commandes comme mount ou fdisk:

# mount /dev/datavg/datalv /mnt
# mount /dev/mapper/datavg-datalv /mnt

Mon expérience montre que vous devriez utiliser le fichier de périphérique dans /etc/fstab, par exemple:

/dev/mapper/datavg-datalv /mnt ext3 acl,user_xattr 1 2

Pourquoi je recommande cela? Il y a quelques années, j'ai eu un problème avec un serveur qui ne redémarrait pas et la cause était un lien symbolique manquant pour un système de fichiers LVM répertorié dans /etc/fstab.

3voto

Tenplus1 Points 19

Peut-être que cela a changé depuis la question a été posée, mais les pages de manuel pour LVM2 indiquent (mes emphases) :

Un répertoire portant le nom de chaque groupe de volumes est créé sous /dev lorsqu'un de ses volumes logiques est activé. Chaque volume logique actif est accessible à partir de ce répertoire sous la forme d'un lien symbolique pointant vers un nœud de périphérique. Les liens ou nœuds dans /dev/mapper sont destinés à un usage interne uniquement et le format précis et l'échappement peuvent changer entre les versions et les distributions. D'autres logiciels et scripts devraient utiliser le format /dev/NomGroupeDeVolumes/NomVolumeLogique pour réduire le risque de nécessiter une modification lorsque le logiciel est mis à jour. Si vous avez besoin de traiter les noms de nœuds dans /dev/mapper, vous pouvez utiliser dmsetup splitname pour séparer les noms des VG, LV et couches internes originales.

Par conséquent, vous devriez utiliser mount /dev/datavg/datalv /mnt

Concernant dmsetup splitname:

   splitname nom_du_dispositif [sous-système]
          Découpe le nom du dispositif donné en composants du sous-système.  Le sous-système par défaut est
          LVM. LVM génère actuellement les noms de dispositifs en concaténant les noms du Groupe de Volumes, du Volume Logique et de toute couche interne avec un tiret comme séparateur.  Les tirets
          dans les noms sont doublés pour les échapper. L'encodage précis pourrait
          changer sans préavis dans une future version, donc nous vous recommandons de toujours décoder
          en utilisant la version actuelle de cette commande.

Voici un exemple d'utilisation :

# dmsetup splitname /dev/mapper/datavg-datalv
VG                 LV         LVLayer
/dev/mapper/datavg datalv

De manière intéressante, sur mon système, /dev/mapper/datavg n'existe pas donc je suis perplexe face à cette sortie.

1voto

Chance Points 1389

Les réponses ci-dessus sont parfaites pour vérifier s'ils sont identiques. Cependant, j'ai trouvé un endroit où la syntaxe peut faire une différence pour certaines versions de Linux :

Sous Ubuntu 14.04, j'ai découvert que LVM n'est pas automatiquement mis en ligne pour les points de montage avec un chemin de périphérique de /dev/VG/LV -- le chemin de périphérique doit être sous la forme /dev/mapper/vg--lv avant que le système ne mette LVM en ligne (c'est-à-dire invoque vgscan/vgchange) au démarrage.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X