GNU/Linux >> Linux Esercitazione >  >> Linux

LVM Differenza nei percorsi per i montaggi

Per verificare se sono uguali vedere cosa ls -la liste per entrambi i file:

$ 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

Come vedi, c'è una piccola differenza:

/dev/mapper/datavg-datalv è un file dispositivo mentre /dev/datavg/datalv è un collegamento simbolico .

Sebbene entrambi i percorsi siano intercambiabili nei comandi come mount o fdisk :

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

la mia esperienza è che dovresti usare il file del dispositivo in /etc/fstab , ad esempio:

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

Come mai lo consiglio? Un paio di anni fa ho avuto un problema con un server che non si avviava dopo un riavvio e la causa era un collegamento simbolico del dispositivo mancante per un filesystem LVM elencato in /etc/fstab .


Forse questo è cambiato da quando è stata posta la domanda, ma le pagine man per lo stato LVM2 (sottolineatura mia):

Sotto /dev viene creata una directory con il nome di ciascun gruppo di volumi quando viene attivato uno qualsiasi dei suoi volumi logici. Ogni volume logico attivo è accessibile da questa directory come collegamento simbolico che porta a un nodo del dispositivo. Collegamenti o nodi in /dev/mapper sono intesi solo per uso interno e il formato preciso e l'escape potrebbero cambiare tra versioni e distribuzioni. Altri software e script dovrebbero utilizzare il /dev/VolumeGroupName/LogicalVolumeName formato per ridurre la possibilità di richiedere modifiche quando il software viene aggiornato. Se hai bisogno di elaborare i nomi dei nodi in /dev/mapper , puoi usare dmsetup splitname per separare i nomi originali VG, LV e layer interno.

Pertanto, dovresti usare mount /dev/datavg/datalv /mnt

A proposito di 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.

Ecco un esempio di utilizzo:

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

È interessante notare che, sul mio sistema, /dev/mapper/datavg non esiste quindi sono perplesso da quell'output.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  3. Quanto sono portatili /dev/stdin, /dev/stdout e /dev/stderr?

  4. Quando usare /dev/random vs /dev/urandom?

  5. Come ricreare i file del dispositivo LVM nella directory /dev usando vgmknodes

Come mappare il dispositivo /dev/sdX e /dev/mapper/mpathY dal dispositivo /dev/dm-Z

Come codificare in base64 /dev/random o /dev/urandom?

Perché sono necessari < o > per usare /dev/tcp

Crea un dispositivo a blocchi virtuale che scrive su /dev/null

Come posso mappare i nomi dei dispositivi iostat sui nomi LVM /dev/mapper/XXX?

Differenze tra /dev/sda e /dev/sda1