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