Oracle® Solaris 11.2 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2014 年 12 月
 
 

ZFS ストレージプールについての情報を表示する

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     -

このコマンド出力には、次の情報が表示されます。

NAME

プールの名前。

SIZE

プールの合計サイズ。最上位レベルにあるすべての仮想デバイスの合計サイズになります。

ALLOC

すべてのデータセットおよび内部メタデータに割り当てられた物理的容量。この容量は、ファイルシステムレベルで報告されるディスク容量とは異なります。

使用可能なファイルシステムの容量を確認する方法については、ZFS のディスク領域の計上を参照してください。

FREE

プール内で割り当てられていない容量。

CAP (CAPACITY)

使用されているディスク容量。総ディスク容量に対するパーセントで表現されます。

HEALTH

プールの現在の健全性ステータス。

プールの健全性の詳細については、ZFS ストレージプールの健全性ステータスを調べるを参照してください。

ALTROOT

プールの代替ルート (存在する場合)。

代替ルートプールの詳細については、代替ルート場所で 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

列の名前は、すべてのストレージプールまたは特定のプールについての情報を表示するに示されているプロパティーに対応しています。

ZFS ストレージプールの出力をスクリプトで使えるようにする

zpool list コマンドのデフォルト出力は、読みやすいように設計されているため、シェルスクリプトの一部として使いやすい状態ではありません。このコマンドをプログラムで使いやすくするために、–H オプションを使用して、列見出しを非表示にし、空白文字の代わりにタブでフィールドを区切ることができます。たとえば、システム上のすべてのプール名の一覧を要求するには、次の構文を使用します。

# zpool list -Ho name
tank
dozer

別の例です。

# zpool list -H -o name,size
tank   80.0G
dozer  1.2T

ZFS ストレージプールのコマンド履歴を表示する

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 ...