利用できるデバイス情報を把握する 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 デバイスの製造元 ````