PONCOTSU

インフラ領域を主にあれしてます

利用できるデバイス情報を把握する lsblkコマンド

ハードデバイスについて勉強してみた。

Linuxはデバイスファイルを通してデバイスを利用することができる

すべてをファイルとして扱う思想のLinuxでは、接続されたデバイスもファイルを通して利用することになっている。 そのホストとデバイスの入出力を扱うための特殊なファイルをデバイスファイルとよぶ。 IDEなのかSCSI系なのか、ハードディスクによって多少仕様は変わるが、ここでは割愛する。

ホストからどんなデバイスを利用することができるのか確認してみる

lsblkコマンド を使えば、対象ホストから利用できるデバイスの詳細情報を確認することができる。

root@ip-xxx-xxx-xxx-xxx:/# lsblk -l
NAME  MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda  202:0    0   8G  0 disk
xvda1 202:1    0   8G  0 part /

上記の出力について、少し説明。

項目 説明
NAME バイス
MAJ:MIN バイス番号(メジャー:マイナー)
RM リムーバブルディスクかどうか
SIZE 容量
RO 読み取り(ReadOnly)専用か否か
TYPE バイスの種類
MOUTPOINT マウント先

さらに詳細を説明

気になった項目に絞って調べてみた

TYPE

主なデバイスの種類として以下の3つがあるようです。

バイスの種類 説明
disk 物理ドライブ
part パーティション
lvm Logical Volume Manager。複数のハード・ディスクやパーティションにまたがった記憶領域を一つの論理的なディスクとして扱うことのできるディスク管理機能で作られた論理ボリューム

なぜRMの欄が存在するか?

そもそもRMとは、記録メディアを取り出して交換できる記憶装置のことを指す。 ストレージ運用は、内臓ハードディスクか取り外し可能なハードディスクなのかによって大きく変わるため、表示されるものだと推測される。

結局のところ、lsblkコマンドでどんなことができるのか?

使い方:
 lsblk [オプション] [<デバイス> ...]

オプション:
 -a, --all            すべてのデバイスを表示します
 -b, --bytes          可読性の高い形式ではなく、バイト単位でサイズを表示します
 -d, --nodeps         スレーブデバイスやホルダーを表示しません
 -D, --discard        discard 関連の機能を表示します
 -e, --exclude <一覧> メジャー番号を利用して、除外するデバイスを指定します (既定値: RAM ディスク)
 -f, --fs             ファイルシステムに関する情報を出力します
 -i, --ascii          ASCII 文字のみを使用します
 -I, --include <一覧> 指定したメジャー番号のデバイスのみを表示します
 -l, --list           一覧形式で出力します
 -m, --perms          パーミッションに関する情報を出力します
 -n, --noheadings     ヘッダを表示しないようにします
 -o, --output <list>  出力する列を指定します
 -O, --output-all     output all columns
 -p, --paths          完全なデバイスパスを表示します
 -P, --pairs          キー="値" の出力形式を使用します
 -r, --raw            加工を行なわない出力形式を使用します
 -s, --inverse        依存関係を逆転します
 -S, --scsi           SCSI デバイスに関する情報を出力します
 -t, --topology       トポロジに関する情報を出力します
 -x, --sort <column>  sort output by <column>

 -h, --help     このヘルプを表示して終了します
 -V, --version  バージョン情報を表示して終了します

利用可能な列 (--output で指定します):
        NAME  デバイス名
       KNAME  カーネル内部デバイス名
     MAJ:MIN  メジャー:マイナーデバイス番号
      FSTYPE  ファイルシステムの種類
  MOUNTPOINT  マウントされている場所
       LABEL  ファイルシステムのラベル
        UUID  ファイルシステムの UUID
    PARTTYPE  partition type UUID
   PARTLABEL  パーティションのラベル
    PARTUUID  パーティション UUID
   PARTFLAGS  パーティションフラグ
          RA  デバイスの先読み
          RO  読み込み専用デバイス
          RM  リムーバブルデバイス
       MODEL  デバイス識別子
      SERIAL  ディスクのシリアル番号
        SIZE  デバイスのサイズ
       STATE  デバイスの状態
       OWNER  ユーザ名
       GROUP  グループ名
        MODE  デバイスノードのパーミッション
   ALIGNMENT  アライメントオフセット
      MIN-IO  最小 I/O サイズ
      OPT-IO  最適 I/O サイズ
     PHY-SEC  物理セクタサイズ
     LOG-SEC  論理セクタサイズ
        ROTA  ローテーションデバイス
       SCHED  I/O スケジューラ名
     RQ-SIZE  要求キューサイズ
        TYPE  デバイスの種類
    DISC-ALN  discard アライメントオフセット
   DISC-GRAN  discard 粒度
    DISC-MAX  discard 最大バイト
   DISC-ZERO  discard ゼロデータ
       WSAME  write-same 最大バイト
         WWN  ユニークなストレージ識別子
        RAND  乱数シードへの追加
      PKNAME  親のカーネル内部デバイス名
        HCTL  SCSI 向けのホスト:チャンネル:ターゲット:LUN
        TRAN  デバイス伝送タイプ
         REV  デバイスのリビジョン
      VENDOR  デバイスの製造元
````