Go to main content
Oracle® Solaris 11.3 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

ZFS ストレージプールのステータスのクエリー検索を行う

zpool list コマンドでは、いくつかの方法でプールステータスに関する情報を要求できます。主に 3 つのカテゴリの情報を要求できます。 基本的な使用状況の情報、入出力統計、および健全性ステータスです。このセクションでは、3 つのすべてのタイプのストレージプール情報について説明します。

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

zpool list コマンドは、プールに関する基本情報を表示します。このコマンドは、次の方法で使用できます。

  • オプションなし: zpool list [pool]

    プールを指定しない場合は、すべてのプールの情報が表示されます。

  • オプション付き: zpool list options [arguments]

すべてのストレージプールまたは特定のプールについての情報を表示する

zpool list [pool] コマンドは、次のプール情報を表示します。

NAME

プールの名前。

SIZE

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

ALLOC

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

FREE

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

CAP (CAPACITY)

使用されているディスク容量。合計ディスク容量の割合 (%) として表されます。

HEALTH

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

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

ALTROOT

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

代替ルートプールの詳細については、代替ルート場所で ZFS プールを使用するを参照してください。

次の例は、サンプルの zpool list コマンド出力を示しています。

# zpool list
NAME                    SIZE    ALLOC    FREE    CAP  HEALTH     ALTROOT
syspool1                80.0G   22.3G   47.7G    28%  ONLINE     -
syspool2                 1.2T    384G    816G    32%  ONLINE     -

特定のプールの統計を取得するには、このコマンドでプール名を指定します。

特定のストレージプールの統計を表示する

zpool list コマンドでオプションと引数を発行することによって、表示される特定のプール情報を選択できます。

–o オプションを使用すると、どの列が表示されるかをフィルタ処理できます。次の例は、各プールの名前とサイズのみを一覧表示する方法を示しています。

# zpool list -o name,size
NAME                    SIZE
syspool1               80.0G
syspool2                1.2T

組み合わされた –Ho オプションを発行することによって、シェルスクリプトの一部として zpool list コマンドを使用できます。–H オプションは列見出しの表示を抑制し、代わりにタブで区切られたプール情報を表示します。例:

# zpool list -Ho name,size
syspool1   80.0G
syspool2  1.2T

–T オプションを使用すると、プールに関するタイムスタンプ付きの統計を収集できます。構文は次のとおりです。

# zpool list -T d interval [count]
d

日付を表示するときに標準の日付の形式を使用するように指定します。

interval

情報が表示される間隔 (秒単位) を指定します。

count

情報を報告する回数を指定します。count を指定しない場合は、Ctrl - C キーを押すまで、指定された間隔で情報が継続的にリフレッシュされます。

次の例では、報告の間隔を 3 秒にして、プール情報を 2 回表示します。この出力では、標準の形式を使用して日付を表示しています。

# 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 Lab10Rack5disk
# zpool status -l system1
  pool: system1
 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
        system1                                      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
.
.
.
        spares
          /dev/chassis/Lab10Rack5.../DISK_17/disk    AVAIL   
          /dev/chassis/Lab10Rack5.../DISK_12/disk    AVAIL   

errors: No known data errors

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

zfs および zpool コマンドの使用のログを表示するには、zpool history コマンドを使用します。このログは、プール状態情報を変更したり、エラー状態をトラブルシューティングしたりするためにこれらのコマンドが正常に使用されたときに記録されます。

履歴ログに関する次の情報に注意してください。

  • このログを無効にすることはできません。このログはディスク上に永続的に保存され、システムのリブート後も保持されます。

  • ログはリングバッファーとして実装されます。最小サイズは 128K バイトです。最大サイズは 32M バイトです。

  • 小さめのプールの場合、最大サイズはプールサイズの 1% を上限とします。このサイズはプールの作成時に自動的に決定されます。

  • このログには管理が必要ないため、ログのサイズや場所をチューニングする必要はありません。

次の例は、プール system1 に対する zfs および zpool コマンドの履歴を示しています。

# zpool history system1
2012-01-25.16:35:32 zpool create -f system1 mirror c3t1d0 c3t2d0 spare c3t3d0
2012-02-17.13:04:10 zfs create system1/test
2012-02-17.13:05:01 zfs snapshot -r system1/test@snap1

–l オプションを使用して、ユーザー名、ホスト名、および操作が実行されたゾーンを含む長形式を表示します。例:

# zpool history -l system1
History for 'system1':
2012-01-25.16:35:32 zpool create -f system1 mirror c3t1d0 c3t2d0 spare c3t3d0
[user root on host1:global]
2012-02-17.13:04:10 zfs create system1/test [user root on host1:global]
2012-02-17.13:05:01 zfs snapshot -r system1/test@snap1 [user root on host1:global]

–i オプションを使用して、診断に利用できる内部イベント情報を表示します。例:

# zpool history -i system1
History for 'system1':
2012-01-25.16:35:32 zpool create -f system1 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 host1 5.11 11.1 sun4v
2012-02-17.13:04:10 zfs create system1/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 system1/test@snap1
2012-02-17.13:08:00 [internal user hold txg:66102] <.send-4736-1> temp = 1 ...

ZFS ストレージプールの入出力統計を表示する

プールまたは特定の仮想デバイスの入出力統計を要求する場合は、zpool iostat コマンドを使用します。iostat コマンドと同様に、このコマンドでは、発生したすべての入出力アクティビティーの静的なスナップショットと、指定した間隔ごとに更新される統計を表示できます。次の統計情報が報告されます。

alloc capacity

プールまたはデバイスに現在格納されているデータの量。この容量は、実装の内部的な詳細のために、実際のファイルシステムで利用できるディスク容量とわずかに異なります。

free capacity

プールまたはデバイスで使用できるディスク容量。used 統計と同様に、この容量はデータセットで使用できるディスク容量と多少異なります。

read operations

プールまたはデバイスに送信された入出力読み取り操作の数 (メタデータ要求を含む)。

write operations

プールまたはデバイスに送信された入出力書き込み操作の数。

read bandwidth

すべての読み取り操作 (メタデータを含む) の帯域幅。単位/秒として表現されます。

write bandwidth

すべての書き込み操作の帯域幅。単位/秒として表現されます。

プール全体の入出力統計を一覧表示する

オプションなしで発行された場合、zpool iostat コマンドは、システム上のすべてのプールについてブート以降に累積された統計を表示します。例:

# zpool iostat
capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
rpool       6.05G  61.9G      0      0    786    107
system1     31.3G  36.7G      4      1   296K  86.1K
----------  -----  -----  -----  -----  -----  -----

これらの統計はブートしてから累積されたものなので、プールのアイドル状態が相対的に多い場合には、帯域幅が低く表示されることがあります。間隔を指定すれば、帯域幅の現在の使用状況をより正確に表示できます。例:

# zpool iostat system1 2
capacity     operations    bandwidth
pool           alloc   free   read  write   read  write
----------     -----   -----  ----  -----  -----  -----
system1        18.5G  49.5G      0    187      0  23.3M
system1        18.5G  49.5G      0    464      0  57.7M
system1        18.5G  49.5G      0    457      0  56.6M
system1        18.8G  49.2G      0    435      0  51.3M

この例では、Ctrl - C キーを押すまで、このコマンドによってプール system1 の使用統計が 2 秒ごとに表示されます。または、count 引数を追加で指定することもでき、その場合はコマンドが指定した数だけ繰り返されたあとで終了します。

たとえば、zpool iostat 2 3 の場合は、サマリーが 2 秒ごとに 3 回 (計 6 秒間) 出力されます。

仮想デバイスの入出力統計を一覧表示する

zpool iostat –v コマンドは、仮想デバイスの入出力統計を表示できます。異常に低速なデバイスを識別したり、ZFS によって生成された入出力の分布を監視したりするには、このコマンドを使用します。例:

# zpool iostat -v
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
rpool       6.05G  61.9G      0      0    785    107
  mirror    6.05G  61.9G      0      0    785    107
    c1t0d0s0    -      -      0      0    578    109
    c1t1d0s0    -      -      0      0    595    109
----------  -----  -----  -----  -----  -----  -----
system1     36.5G  31.5G      4      1   295K   146K
  mirror    36.5G  31.5G    126     45  8.13M  4.01M
    c1t2d0      -      -      0      3   100K   386K
    c1t3d0      -      -      0      3   104K   386K
----------  -----  -----  -----  -----  -----  -----

仮想デバイスの入出力統計を表示するときは、2 つの重要な点に注意してください。

  • ディスク領域使用に関する統計は、最上位レベルの仮想デバイスに対してのみ使用できます。ミラーおよび RAID-Z 仮想デバイスにディスク領域がどのように割り当てられるかは、実装に固有なので、1 つの数値として表現するのは簡単ではありません。

  • 数値が、期待したほど正確にならないことがあります。特に、RAID-Z デバイスとミラー化されたデバイスの統計は、正確に一致することがありません。この差は、特にプールが作成された直後に顕著です。それは、プール作成の一部として大量の入出力が直接ディスクに対して実行されますが、これがミラーレベルでは数に含まれないためです。時間の経過とともに、これらの数値はしだいに等しくなります。ただし、故障したデバイス、応答しないデバイス、またはオフラインのデバイスも、この対称性に影響する可能性があります。

仮想デバイスの統計を検査するときは、intervalcount を使用できます。

プールの仮想デバイスに関する物理的な場所の情報も表示できます。次の例は、切り捨てられたサンプル出力を示しています。

# zpool iostat -lv
               capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
export      2.39T  2.14T     13     27  42.7K   300K
  mirror     490G   438G      2      5  8.53K  60.3K
    /dev/chassis/lab10rack15/SCSI_Device__2/disk      -   -    1    0  4.47K  60.3K
    /dev/chassis/lab10rack15/SCSI_Device__3/disk      -   -    1    0  4.45K  60.3K
  mirror     490G   438G      2      5  8.62K  59.9K
    /dev/chassis/lab10rack15/SCSI_Device__4/disk      -   -    1    0  4.52K  59.9K
    /dev/chassis/lab10rack15/SCSI_Device__5/disk      -   -    1    0  4.48K  59.9K

ZFS ストレージプールの健全性ステータスを調べる

zpool status コマンドを使用すると、プールとデバイスの健全性を表示できます。さらに、fmd コマンドはまた、プールとデバイスの潜在的な障害もシステムコンソールと /var/adm/messages ファイルに報告します。

このセクションでは、プールとデバイスの健全性を確認する方法についてのみ説明します。正常でないプールからのデータ回復については、Oracle Solaris ZFS のトラブルシューティングとプールの回復を参照してください。

プールの健全性ステータスは、次の 4 つの状態のいずれかで表されます。

DEGRADED

1 つ以上のデバイスで障害が発生しているが、冗長構成のためにデータは引き続き使用可能な状態にあるプール。

ONLINE

すべてのデバイスが正常に動作してるプール。

SUSPENDED

デバイスの接続が復元されるのを待機しているプール。デバイスの問題が解決されるまで、SUSPENDED プールの状態は wait のままです。

UNAVAIL

メタデータが壊れているか、1 つまたは複数のデバイスが使用できず、動作を継続するための複製が不足しているプール。

各プールデバイスは、次のいずれかの状態になることができます。

DEGRADED

仮想デバイスで障害が発生しましたが、デバイスはまだ動作しています。この状態は、ミラーデバイスまたは RAID-Z デバイスを構成するデバイスのうち、1 つ以上のデバイスが失われたときによく発生します。別のデバイスでの以降の障害が回復不可能になることがあるため、プールの耐障害性が危険にさらされる可能性があります。

OFFLINE

管理者がデバイスを明示的にオフラインにしています。

ONLINE

一時的なエラーがいくつか引き続き発生する可能性はありますが、デバイスまたは仮想デバイスは正常な動作状態にあります。

REMOVED

システムの稼働中にデバイスが物理的に取り外されました。デバイスの取り外しの検出はハードウェアに依存しており、一部のプラットフォームではサポートされていない場合があります。

UNAVAIL

デバイスまたは仮想デバイスを開くことができません。場合によっては、デバイスが UNAVAIL であるプールが DEGRADED モードで表示されることがあります。最上位レベルの仮想デバイスが UNAVAIL の場合は、そのプールのデバイスには一切アクセスできません。

プールの健全性は、最上位レベルのすべての仮想デバイスから判断されます。すべての仮想デバイスが ONLINE の場合は、プールも ONLINE になります。仮想デバイスのいずれかが DEGRADED または UNAVAIL の場合は、プールも DEGRADED になります。最上位レベルの仮想デバイスが UNAVAIL または OFFLINE の場合は、プールも UNAVAIL または SUSPENDED になります。UNAVAIL または SUSPENDED 状態のプールには一切アクセスできません。必要なデバイスが接続または修復されるまで、データは回復できません。DEGRADED 状態のプールは引き続き動作しますが、プールがオンラインであった場合と同じレベルのデータ冗長性またはデータスループットを実現できない可能性があります。

zpool status コマンドはまた、次のように、再同期化およびスクラブ操作の状態も表示します。

  • 再同期化またはスクラブ操作が進行中です。

  • 再同期化またはスクラブ操作が完了しました。

    再同期化およびスクラブの完了メッセージはシステムのリブート後も保持されます。

  • 操作が取り消されました。

ストレージプールの健全性ステータス

次のいずれかの zpool status コマンドオプションを使用すると、プールの健全性ステータスを確認できます。

  • zpool status –x [pool] – エラーがあるか、またはそれ以外で使用できないプールのステータスのみを表示します。

  • zpool status –v [pool] – プールとそのデバイスに関する詳細情報を提供する詳細出力を生成します。

    ONLINE 状態にないプールがある場合は、潜在的な問題がないかどうかを調査するようにしてください。

次の例は、プール system1 に関する詳細なステータスレポートを生成する方法を示しています。

# zpool status -v system1
  pool: system1
 state: DEGRADED
status: One or more devices are unavailable in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or 'fmadm repaired', or replace the device
        with 'zpool replace'.
  scan: scrub repaired 0 in 0h0m with 0 errors on Wed Jun 20 15:38:08 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        system1                    DEGRADED     0     0     0
          mirror-0                 DEGRADED     0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  UNAVAIL      0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0

device details:

        c0t5000C500335F907Fd0    UNAVAIL          cannot open
        status: ZFS detected errors on this device.
                The device was missing.
           see: URL to My Oracle Support knowledge article for recovery


errors: No known data errors

READ 列と WRITE 列には、そのデバイスで発生した入出力エラーの数が表示されます。CKSUM 列には、そのデバイスで発生した訂正不可能なチェックサムエラーの数が表示されます。どちらのエラー数も、何らかの修正アクションが必要な潜在的なデバイス障害を示します。最上位レベルの仮想デバイスでエラー数があると報告された場合、データの一部にアクセスできないことがあります。

この出力は、問題だけでなく、このプールの現在の状態の考えられる原因を識別します。この出力にはまた、この問題から回復するための最良の方法に関する最新情報を含むナレッジ記事へのリンクも含まれています。この出力から、どのデバイスが破損しているか、およびプールを修復する方法を特定できます。

UNAVAIL のプールとデータを診断および修復する方法の詳細は、Oracle Solaris ZFS のトラブルシューティングとプールの回復を参照してください。

ZFS ストレージプールのステータス情報を収集する

zpool status の間隔およびカウントオプションを使用して、ある期間にわたっての統計を収集できます。また、–T オプションを使用することによってタイムスタンプを表示できます。例:

# zpool status -T d 3 2
Wed Jun 20 16:10:09 MDT 2012
  pool: pond
 state: ONLINE
  scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        pond                       ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
config:

        NAME                         STATE     READ WRITE CKSUM
        rpool                        ONLINE       0     0     0
          mirror-0                   ONLINE       0     0     0
            c0t5000C500335BA8C3d0s0  ONLINE       0     0     0
            c0t5000C500335FC3E7d0s0  ONLINE       0     0     0

errors: No known data errors
Wed Jun 20 16:10:12 MDT 2012

  pool: pond
 state: ONLINE
  scan: resilvered 9.50K in 0h0m with 0 errors on Wed Jun 20 16:07:34 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        pond                       ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0

errors: No known data errors

  pool: rpool
 state: ONLINE
  scan: scrub repaired 0 in 0h11m with 0 errors on Wed Jun 20 15:08:23 2012
config:

        NAME                         STATE     READ WRITE CKSUM
        rpool                        ONLINE       0     0     0
          mirror-0                   ONLINE       0     0     0
            c0t5000C500335BA8C3d0s0  ONLINE       0     0     0
            c0t5000C500335FC3E7d0s0  ONLINE       0     0     0

errors: No known data errors