GNU/Linux >> Linux の 問題 >  >> Linux

LVM マウントのパスの違い

それらが同じかどうかを確認するには、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 ファイルシステムのデバイス シンボリック リンクが見つからないことでした。 .


質問が出されてから変更されたのかもしれませんが、LVM2 状態のマニュアル ページ (強調は私のもの):

<ブロック引用>

/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 です。

は存在しないので、その出力に困惑しています。
Linux
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  3. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  1. / dev/randomと/dev/ urandomをいつ使用するか?

  2. /dev/random または /dev/urandom を base64 でエンコードする方法は?

  3. /dev/zero から /dev/null への DD ...実際に何が起こるか

  1. カーネル:/dev/kmem と /dev/mem を無効化

  2. Linux が /dev/tty と /dev/tty0 を使用する方法

  3. echo または print /dev/stdin /dev/stdout /dev/stderr