web-dev-qa-db-ja.com

マウントのパスのLVMの違い

だから私は次のことができます:

マウント/ dev/datavg/datalv/mnt

または

/ dev/mapper/datavg-datalv/mntをマウントします

これらは同じですか?それらは一方に他方よりも有利ですか?より良い方法はありますか?

7
HayekSplosives

それらが同じであるかどうかを確認するには、両方のファイルのls -laリストを確認してください。

$ 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

ご覧のとおり、小さな違いがあります。

/dev/mapper/datavg-datalvデバイスファイルであり、/dev/datavg/datalvシンボリックリンクです。

どちらのパスもコマンドで交換可能mountまたはfdiskのようになります:

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

私の経験では、次のようにする必要があります/etc/fstabのデバイスファイルを使用例:

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

なぜ私はこれをお勧めしますか?数年前、再起動後にサーバーが起動しないという問題が発生しました。原因は、/etc/fstabにリストされているLVMファイルシステムのデバイスシンボリックリンクが見つからないことでした。

8
jaume

質問があったのでこれは変わったかもしれませんが、 LVM2のmanページ 状態(私の強調):

各ボリュームグループの名前が付いたディレクトリは、その論理ボリュームのいずれかがアクティブ化されると、/devの下に作成されます。各アクティブな論理ボリュームは、デバイスノードにつながるシンボリックリンクとしてこのディレクトリからアクセスできます。 /dev/mapperのリンクまたはノードは内部使用のみを目的としており、正確な形式とエスケープはリリースとディストリビューションの間で変わる可能性があります。 他のソフトウェアおよびスクリプトは、ソフトウェアの更新時に修正が必要になる可能性を減らすために、/dev/VolumeGroupName/LogicalVolumeName形式を使用する必要があります。 /dev/mapperでノード名を処理する必要がある場合は、dmsetup splitnameを使用して、元のVG、LV、および内部レイヤー名を分離できます。

したがって、mount /dev/datavg/datalv /mntを使用する必要があります

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.

使用例は次のとおりです。

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

興味深いことに、私のシステムでは、/dev/mapper/datavgが存在しないため、その出力に戸惑っています。

1
bernie

上記の答えは、それらが同一であるかどうかを確認することについてのスポットオンです。しかし、私は構文がLinuxのいくつかのフレーバーに違いをもたらすことができる場所を見つけました:

Ubuntu 14.04で、デバイスパスが/ dev/VG/LVのマウントポイントに対してLVMが自動的にオンラインにならないことを発見しました。デバイスパスは以前は/ dev/mapper/vg--lvの形式である必要があります。システムは起動時にLVMを起動します(つまり、vgscan/vgchangeを呼び出します)。

1
Daniel