GNU/Linux >> Znalost Linux >  >> Linux

LVM Rozdíl v cestách pro připojení

Chcete-li zkontrolovat, zda jsou stejné, podívejte se na ls -la seznamy pro oba soubory:

$ 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

Jak vidíte, je tu malý rozdíl:

/dev/mapper/datavg-datalv je soubor zařízení zatímco /dev/datavg/datalv je symbolický odkaz .

Přestože obě cesty jsou v příkazech zaměnitelné jako mount nebo fdisk :

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

moje zkušenost je taková, že byste měli použít soubor zařízení v /etc/fstab , například:

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

Jak to, že to doporučuji? Před několika lety jsem měl problém se serverem, který se po restartu neobjevil, a příčinou byl chybějící symbolický odkaz na zařízení pro souborový systém LVM uvedený v /etc/fstab .


Možná se to od doby, kdy byla otázka položena, změnilo, ale manuálové stránky pro LVM2 jsou ve stavu (důraz):

Pod /dev je vytvořen adresář s názvem každé skupiny svazků když je aktivován některý z jeho logických svazků. Každý aktivní logický svazek je přístupný z tohoto adresáře jako symbolický odkaz vedoucí k uzlu zařízení. Odkazy nebo uzly v /dev/mapper jsou určeny pouze pro vnitřní použití a přesný formát a escapování se mohou mezi vydáními a distribucemi změnit. Ostatní software a skripty by měly používat /dev/VolumeGroupName/LogicalVolumeName formátu, aby se snížila pravděpodobnost potřeby změn při aktualizaci softwaru. Pokud potřebujete zpracovat názvy uzlů v /dev/mapper , můžete použít dmsetup splitname oddělit původní názvy VG, LV a interní vrstvy.

Proto byste měli použít mount /dev/datavg/datalv /mnt

Pokud jde o 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.

Zde je příklad použití:

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

Zajímavé je, že v mém systému /dev/mapper/datavg neexistuje, takže jsem zmaten tím výstupem.


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  3. Kdy použít /dev/random vs /dev/urandom?

  1. Jak znovu vytvořit soubory zařízení LVM v adresáři /dev pomocí vgmknodes

  2. Jak kódovat base64 /dev/random nebo /dev/urandom?

  3. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  1. Jak Linux používá /dev/tty a /dev/tty0

  2. Proč se na některých systémech Linux kořenový souborový systém zobrazuje jako /dev/root místo /dev/<uzel skutečného zařízení>v mtab?

  3. Vytvořte virtuální blokové zařízení, které zapisuje do /dev/null