GNU/Linux >> Tutoriels Linux >  >> Linux

Différence LVM dans les chemins pour les montages

Pour vérifier s'ils sont identiques, voir ce que ls -la listes 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 le voyez, il y a une petite différence :

/dev/mapper/datavg-datalv est un fichier de périphérique tandis 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 est 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

Comment se fait-il que je recommande cela ? Il y a quelques années, j'ai eu un problème avec un serveur qui ne s'est pas présenté après un redémarrage et la cause était un lien symbolique de périphérique manquant pour un système de fichiers LVM répertorié dans /etc/fstab .


Peut-être que cela a changé depuis que la question a été posée, mais les pages de manuel pour l'état LVM2 (c'est moi qui souligne):

Un répertoire portant le nom de chaque Volume Group est créé sous /dev lorsque l'un de ses volumes logiques est activé. Chaque volume logique actif est accessible depuis ce répertoire sous la forme d'un lien symbolique menant à un nœud de périphérique. Liens ou nœuds en /dev/mapper sont destinés uniquement à un usage interne et le format précis et l'échappement peuvent changer entre les versions et les distributions. Les autres logiciels et scripts doivent utiliser le /dev/VolumeGroupName/LogicalVolumeName format pour réduire le risque d'avoir besoin d'une modification lors de la mise à jour du logiciel. Si vous devez traiter les noms de nœuds en /dev/mapper , vous pouvez utiliser dmsetup splitname pour séparer les noms de couches VG, LV et internes d'origine.

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

Concernant dmsetup splitname :

   splitname device_name [subsystem]
          Splits given device name into subsystem constituents.   The  default  subsystem  is
          LVM.  LVM currently generates device names by concatenating the names of the Volume
          Group, Logical Volume and any internal Layer  with  a  hyphen  as  separator.   Any
          hyphens  within  the  names are doubled to escape them.  The precise encoding might
          change without notice in any future release, so  we  recommend  you  always  decode
          using the current version of this command.

Voici un exemple d'utilisation :

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

Fait intéressant, sur mon système, /dev/mapper/datavg n'existe pas donc je suis perplexe devant cette sortie.


Linux
  1. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  2. Quelle est la portabilité de /dev/stdin, /dev/stdout et /dev/stderr ?

  3. Comment mapper les périphériques /dev/sdX et /dev/mapper/mpathY à partir du périphérique /dev/dm-Z

  4. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  5. DD de /dev/zero à /dev/null...ce qui se passe réellement

Comment encoder en base64 /dev/random ou /dev/urandom ?

Comment Linux utilise /dev/tty et /dev/tty0

echo ou print /dev/stdin /dev/stdout /dev/stderr

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp

Comment puis-je mapper les noms de périphériques iostat aux noms LVM /dev/mapper/XXX ?

Différences entre /dev/sda et /dev/sda1