zpool list コマンドを使用して、プールに関する基本的な情報を表示できます。
引数を指定しないで zpool list コマンドを実行すると、システム上のすべてのプールについて次の情報が表示されます。
# zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE - dozer 1.2T 384G 816G 32% ONLINE -
このコマンド出力には、次の情報が表示されます。
プールの名前。
プールの合計サイズ。最上位レベルにあるすべての仮想デバイスの合計サイズになります。
すべてのデータセットおよび内部メタデータに割り当てられた物理的容量。この容量は、ファイルシステムレベルで報告されるディスク容量とは異なります。
使用可能なファイルシステムの容量を確認する方法については、ZFS のディスク領域の計上を参照してください。
プール内で割り当てられていない容量。
使用されているディスク容量。総ディスク容量に対するパーセントで表現されます。
プールの現在の健全性ステータス。
プールの健全性の詳細については、ZFS ストレージプールの健全性ステータスを調べるを参照してください。
プールの代替ルート (存在する場合)。
代替ルートプールの詳細については、代替ルート場所で ZFS プールを使用するを参照してください。
プール名を指定して、特定のプールの統計を収集することもできます。例:
# zpool list tank NAME SIZE ALLOC FREE CAP HEALTH ALTROOT tank 80.0G 22.3G 47.7G 28% ONLINE -
zpool list の間隔およびカウントオプションを使用して、ある期間にわたっての統計を収集できます。また、–T オプションを使用することによってタイムスタンプを表示できます。例:
# zpool list -T d 3 2 Tue Nov 2 10:36:11 MDT 2010 NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT pool 33.8G 83.5K 33.7G 0% 1.00x ONLINE - rpool 33.8G 12.2G 21.5G 36% 1.00x ONLINE - Tue Nov 2 10:36:14 MDT 2010 pool 33.8G 83.5K 33.7G 0% 1.00x ONLINE - rpool 33.8G 12.2G 21.5G 36% 1.00x ONLINE -
zpool status –l オプションを使用して、プールデバイスの物理的な場所に関する情報を表示します。物理的な場所の情報を確認しておけば、ディスクを物理的に除去または交換する必要があるときに役立ちます。
さらに、fmadm add-alias コマンドを使って、環境内でディスクの物理的な位置を特定するのに役立つディスクの別名を含めることもできます。例:
# fmadm add-alias SUN-Storage-J4400.1002QCQ015 Lab10Rack5...
# zpool status -l tank pool: tank state: ONLINE scan: scrub repaired 0 in 0h0m with 0 errors on Fri Aug 3 16:00:35 2012 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_02/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_20/disk ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_22/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_14/disk ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_10/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_16/disk ONLINE 0 0 0 mirror-3 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_01/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_21/disk ONLINE 0 0 0 mirror-4 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_23/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_15/disk ONLINE 0 0 0 mirror-5 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_09/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_04/disk ONLINE 0 0 0 mirror-6 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_08/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_05/disk ONLINE 0 0 0 mirror-7 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_07/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_11/disk ONLINE 0 0 0 mirror-8 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_06/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_19/disk ONLINE 0 0 0 mirror-9 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_00/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_13/disk ONLINE 0 0 0 mirror-10 ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_03/disk ONLINE 0 0 0 /dev/chassis/Lab10Rack5.../DISK_18/disk ONLINE 0 0 0 spares /dev/chassis/Lab10Rack5.../DISK_17/disk AVAIL /dev/chassis/Lab10Rack5.../DISK_12/disk AVAIL errors: No known data errors
–o オプションを使用して、特定の統計を要求することができます。このオプションを使用して、カスタムレポートを出力したり、必要な情報をすばやく表示したりできます。たとえば、各プールの名前とサイズだけを表示する場合は、次の構文を使用します。
# zpool list -o name,size NAME SIZE tank 80.0G dozer 1.2T
列の名前は、すべてのストレージプールまたは特定のプールについての情報を表示するに示されているプロパティーに対応しています。
zpool list コマンドのデフォルト出力は、読みやすいように設計されているため、シェルスクリプトの一部として使いやすい状態ではありません。このコマンドをプログラムで使いやすくするために、–H オプションを使用して、列見出しを非表示にし、空白文字の代わりにタブでフィールドを区切ることができます。たとえば、システム上のすべてのプール名の一覧を要求するには、次の構文を使用します。
# zpool list -Ho name tank dozer
別の例です。
# zpool list -H -o name,size tank 80.0G dozer 1.2T
ZFS は、プールの状態に関する情報を変更する zfs コマンドと zpool コマンドが正常に実行された場合にだけ自動的にログを記録します。この情報は、zpool history コマンドを使用して表示することができます。
例えば、ルートプールに関するコマンド出力を表示する場合は、次の構文を使用します。
# zpool history History for 'rpool': 2012-04-06.14:02:55 zpool create -f rpool c3t0d0s0 2012-04-06.14:02:56 zfs create -p -o mountpoint=/export rpool/export 2012-04-06.14:02:58 zfs set mountpoint=/export rpool/export 2012-04-06.14:02:58 zfs create -p rpool/export/home 2012-04-06.14:03:03 zfs create -p -V 2048m rpool/swap 2012-04-06.14:03:08 zfs set primarycache=metadata rpool/swap 2012-04-06.14:03:09 zfs create -p -V 4094m rpool/dump 2012-04-06.14:26:47 zpool set bootfs=rpool/ROOT/s11u1 rpool 2012-04-06.14:31:15 zfs set primarycache=metadata rpool/swap 2012-04-06.14:31:46 zfs create -o canmount=noauto -o mountpoint=/var/share rpool/VARSHARE 2012-04-06.15:22:33 zfs set primarycache=metadata rpool/swap 2012-04-06.16:42:48 zfs set primarycache=metadata rpool/swap 2012-04-09.16:17:24 zfs snapshot -r rpool/ROOT@yesterday 2012-04-09.16:17:54 zfs snapshot -r rpool/ROOT@now
システムでこれと同じような出力を利用して、エラー状況のトラブルシューティングのために実行された「実際の」ZFS コマンドセットを特定することができます。
履歴ログの特徴を次に示します。
ログを無効にすることはできません。
ログは永続的にディスクに保存されます。つまり、ログはシステムのリブート後も保持されます。
ログはリングバッファーとして実装されます。最小サイズは 128K バイトです。最大サイズは 32M バイトです。
小さめのプールの場合、最大サイズはプールサイズの 1% を上限とします。このサイズはプールの作成時に自動的に決定されます。
ログの管理は不要です。つまり、ログのサイズを調整したり、ログの場所を変更したりする必要はありません。
特定のストレージプールのコマンド履歴を確認するには、次のような構文を使用します。
# zpool history tank 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 2012-02-17.13:04:10 zfs create tank/test 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1
–l オプションを使用して、ユーザー名、ホスト名、および操作が実行されたゾーンを含む長形式を表示します。例:
# zpool history -l tank History for 'tank': 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 [user root on tardis:global] 2012-02-17.13:04:10 zfs create tank/test [user root on tardis:global] 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1 [user root on tardis:global]
–i オプションを使用して、診断に利用できる内部イベント情報を表示します。例:
# zpool history -i tank History for 'tank': 2012-01-25.16:35:32 zpool create -f tank mirror c3t1d0 c3t2d0 spare c3t3d0 2012-01-25.16:35:32 [internal pool create txg:5] pool spa 33; zfs spa 33; zpl 5; uts tardis 5.11 11.1 sun4v 2012-02-17.13:04:10 zfs create tank/test 2012-02-17.13:04:10 [internal property set txg:66094] $share2=2 dataset = 34 2012-02-17.13:04:31 [internal snapshot txg:66095] dataset = 56 2012-02-17.13:05:01 zfs snapshot -r tank/test@snap1 2012-02-17.13:08:00 [internal user hold txg:66102] <.send-4736-1> temp = 1 ...