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

Unix でブロック デバイスのメジャー番号とマイナー番号を識別する方法

質問: ブロック デバイス / パーティション / マウント ポイント / SAN ディスク / ファイル システムのメジャー番号とマイナー番号を調べるにはどうすればよいですか?

デバイスのメジャー番号とマイナー番号を知る必要があるのはなぜですか?

さまざまな理由で、デバイスのメジャー番号とマイナー番号を知る必要がある場合があります。たとえば、sar ユーティリティはファイルシステムの I/O データを devm-n の形式で報告します 以下に示すように。 (m はメジャー番号、n はマイナー番号)

sar の man ページから、次に示す DEV 列の意味は次のとおりです。

-d     Report activity for each block device (kernels  2.4  and  newer
       only).  When data is displayed, the device specification dev m-
       n is generally used ( DEV column).  m is the  major  number  of
       the  device.   With  recent  kernels (post 2.5), n is the minor
       number of the device, but is only a sequence  number  with  pre
       2.5 kernels.


以下の sar の出力を見ると、dev110-1 が示すマウント ポイント (ファイル システム) がわかりません。この場合、このデバイスはメジャー番号 110 とマイナー番号 1 を持つブロック デバイスを表していることがわかります。

$ sar -d
Linux 2.6.9-67.0.0.0.1.ELsmp (webserver)        06/21/2009

12:00:00 AM    DEV              tps    rd_sec/s  wr_sec/s
12:02:00 AM    dev110-1        6.00      0.00      6.00
12:02:00 AM    dev8-1           1.00      1.00      0.00
12:02:00 AM    dev1-1           2.00      1.00      1.00
12:02:00 AM    dev1-2           1.00      0.00      1.00
12:02:00 AM    dev1-3           4.00      2.00      2.00
12:02:00 AM    dev1-4           5.00      3.00      2.00

df -k はメジャー番号とマイナー番号を表示しません

次の例では、df -k を実行すると、ローカル SCSI ハード ドライブ パーティション (/dev/sda1) が / (ルート) としてマウントされ、SAN デバイス パーティション (/dev/san-device1) がマウントされていることが示されます。 /home/mysql として。 SAN デバイスは、EMC、NetApps、またはあらゆる種類の SAN ストレージであることに注意してください。

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             10317828   2353828   7439884  25% /
/dev/sandevice1   50537528  22350656  25619688  47% /home/mysql

デバイスのメジャー番号とマイナー番号を特定する方法

ここで、これらのデバイスのメジャー番号とマイナー番号を知りたい場合は、cd で /dev ディレクトリに移動し、以下に示すように ls -l を実行すると、メジャー番号とマイナー番号の両方が表示されます

$ cd /dev

$ ls -l sd*
brw-rw----  1 root disk 8,  0 Feb  8  2008 sda
brw-rw----  1 root disk 8,  1 Feb  8  2008 sda1

[Note: Major for /dev/sda1 is 8 and minor is 1]

$ ls -l san*
brw-------  1 root root 110,  0 Feb 8 sandevice
brw-------  1 root root 110,  1 Feb 8 sandevice1

[Note: Major for /dev/sandevice1 is 110 and minor is 1]

  • sda1 – メジャー番号は 8、マイナー番号は 1
  • sandevice1 – メジャー番号は 110、マイナー番号は 1


この情報を使用して、sar -d 出力で報告される対応するデバイスを識別できます。

$ sar -d
Linux 2.6.9-67.0.0.0.1.ELsmp (webserver)        06/21/2009

12:00:00 AM    DEV              tps    rd_sec/s  wr_sec/s
12:02:00 AM    dev110-1        6.00      0.00      6.00
12:02:00 AM    dev8-1           1.00      1.00      0.00

[Note: Now, we know dev110-1 is /dev/sandevice1 and
                    dev8-1 is /dev/sda1 ]

SCSI および IDE ドライブのメジャー番号

SCSI と IDE のメジャー番号は変更されず、次のハードコードされた値があります。

  • SCSI (/dev/sd?) メジャー番号は 8 です
  • IDE (/dev/hd?) メジャー番号は 3

Linux
  1. 自動化のためにAnsibleとanacronを使用する方法

  2. コマンド ラインの秘訣:Unix コマンドの実行日時を特定する方法

  3. パーティション上の RAC OCR および投票デバイスの UDEV ルールをセットアップする方法

  1. ディレクトリとサブディレクトリ内のファイル数を見つける方法

  2. Nix –LinuxおよびUnix用の強力なパッケージマネージャー

  3. メジャー、マイナー番号は一意ですか?

  1. Linux – Linuxカーネルはどのようにしてデバイスのメジャー番号とマイナー番号を認識しますか?

  2. 各50行から15行目と25行目を印刷する方法は?

  3. UNIX / Linux:mod_perl を Apache 2 にインストールして構成する方法