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

ブロックデバイス(またはその一部)が何らかの方法でマウントされているかどうかを簡単に確認する方法

これは本質的に、コーナー ケースのバッグ全体をチェックする問題です。

  • ドライブは /proc/mounts に表示されます
  • ドライブをスワップとして使用できます (use /proc/swaps)
  • ドライブは、アクティブな LVM pv の一部にすることができます (pvdisplay を使用)
  • ドライブは dm-mapper RAID グループの一部にすることができます (/proc/mdstat を使用)
  • アプリケーションからドライブに直接アクセスできる (たとえば、Oracle はファイルシステムではなく、ドライブまたはパーティションへの直接書き込みをサポートしています) (fuser を使用)
  • 仮想マシンから直接ドライブにアクセスできる (fuser を使用)
  • ループバック デバイスからドライブを参照できます (例:mount /dev/sda -o offset=1M /foo ) (losetup -a を使用)

これらは、1 分半考えてみたときに思いついた例にすぎません。他にも何十人もいると思います.

この最後の例は、最も興味深いと思いますが、それについて知っている人はほとんどいません。パーティションを使用せずにファイルシステムをマウントできます。開始オフセットを指定するだけで、Linux は透過的にループバック デバイスを作成します。上記の例は次の結果をもたらします:

# cat /proc/mounts
...
/dev/loop0 /foo ext4 relatime,data=ordered 0 0

# losetup -a
/dev/loop0 [0005]:2048 (/dev/sda), offset 1048576

どうしてそうするか?通常、これには以前にひどくうまくいかなかった状況が含まれます。

また、ネームスペース機能が現在メインラインにあるため (unshare を参照)、異なるプロセスは、マウントされているものとマウントされていないものについて異なるビューを持つことができることに注意してください。ここで、物事は少し赤丸になり始めます.


Linux
  1. Linux で仮想ブロック デバイス (ループ デバイス/ファイルシステム) を作成する方法

  2. プログラムがデッドロック状態にあることを検出して見つける方法は?

  3. POSIX シグナルの発信元を見つける方法

  1. Linuxで開いているすべてのポートのリストを見つける方法

  2. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  3. Linux ディスク上の単一の読み取り不能ブロックを簡単に修復するにはどうすればよいですか?

  1. Linuxコマンドが何をするかを知る方法

  2. 特定のデバイスのカーネルモジュールを見つける方法は?

  3. Linux –ブロックデバイスが/sysまたは/procから読み取り専用かどうかをテストする方法は?