JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
マニュアルページセクション 1M: システム管理コマンド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

紹介

System Administration Commands - パート 1

System Administration Commands - パート 2

System Administration Commands - パート 3

umount_smbfs(1M)

unlink(1M)

unshare(1M)

unshareall(1M)

unshare_nfs(1M)

update_drv(1M)

useradd(1M)

userdel(1M)

usermod(1M)

utmp2wtmp(1M)

utmpd(1M)

uucheck(1M)

uucico(1M)

uucleanup(1M)

uucpd(1M)

uusched(1M)

Uutry(1M)

uutry(1M)

uuxqt(1M)

vbiosd(1M)

vdiskadm(1M)

vdpd(1M)

virt-convert(1M)

virtinfo(1M)

vmstat(1M)

vmtasks(1M)

vntsd(1M)

volcopy(1M)

volcopy_ufs(1M)

vrrpadm(1M)

vrrpd(1M)

vscanadm(1M)

vscand(1M)

vtdaemon(1M)

wall(1M)

wanboot_keygen(1M)

wanboot_keymgmt(1M)

wanboot_p12split(1M)

wanbootutil(1M)

wbemadmin(1M)

wbemconfig(1M)

wbemlogviewer(1M)

wcadmin(1M)

whodo(1M)

wpad(1M)

wracct(1M)

wtmpfix(1M)

wusbadm(1M)

ypbind(1M)

ypinit(1M)

ypmake(1M)

ypmap2src(1M)

yppasswdd(1M)

yppoll(1M)

yppush(1M)

ypserv(1M)

ypserv_resolv(1M)

ypset(1M)

ypstart(1M)

ypstop(1M)

ypupdated(1M)

ypxfr(1M)

ypxfr_1perday(1M)

ypxfr_1perhour(1M)

ypxfr_2perday(1M)

ypxfrd(1M)

zdb(1M)

zdump(1M)

zfs(1M)

zfs_allow(1M)

zfs_encrypt(1M)

zfs_share(1M)

zic(1M)

zoneadm(1M)

zoneadmd(1M)

zonecfg(1M)

zonep2vchk(1M)

zonestatd(1M)

zpool(1M)

zstreamdump(1M)

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

zpool

- ZFS ストレージプールの構成

形式

zpool [-?]
zpool help command | help | property property-name
zpool help -l properties
zpool add [-f] [-n [-l]] pool vdev ...
zpool attach [-f] pool device new_device
zpool clear [-nF [-f]] pool [device]
zpool create [-f] [-n [-l]] [-B] [-o property=value] ...
     [-O file-system-property=value] ... [-m mountpoint]
     [-R root] pool vdev ...
zpool destroy [-f] pool
zpool detach pool device
zpool export [-f] pool ...
zpool get all | property[,...] pool ...
zpool history [-il] [pool] ...
zpool import [-d path ...] [-D]
zpool import [-d path ... | -c cachefile][-F [-n <pool | id>
zpool import [-o mntopts] [-o property=value] ... [-d path ... |
     -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n [-l]]] -a
     pool | id [newpool]
zpool import [-o mntopts] [-o property=value] ... [-d path ... |
     -c cachefile] [-D] [-f] [-m] [-N] [-R root] [-F [-n [-l]]] 
     pool | id [newpool]
zpool iostat [-T d|u ] [-v [-l]] [pool] ... [interval[count]]
zpool list [-H] [-o property[,...]] [-T d|u ] [pool] ... [interval[count]]
zpool offline [-t] pool device ...
zpool online [-e] pool device ...
zpool remove pool device ...
zpool replace [-f] pool device [new_device]
zpool scrub [-s] pool ...
zpool set property=value pool
zpool split [-n [-l]] [-R altroot]  [-o mntopts] [-o property=value] pool
     newpool [device ...]
zpool status [-l] [-v] [-x] [-T d|u ] [pool] ... [interval[count]]
zpool upgrade 
zpool upgrade -v
zpool upgrade [-V version] -a | pool ...

機能説明

zpool コマンドは、ZFS ストレージプールを構成します。ストレージプールは、ZFS データセット用の物理ストレージおよびデータ複製を提供するデバイスの集合体です。

ストレージプール内部のすべてのデータセットは、同一の領域を共有します。データセットの管理については、zfs(1M) を参照してください。

仮想デバイス (vdevs)

仮想デバイスは、特定のパフォーマンスおよび障害特性に従って編成された単一のデバイスまたはデバイスの集合体を指します。次の仮想デバイスがサポートされています。

disk

ブロックデバイス。通常は /dev/dsk 内に存在します。ZFS では、個別のスライスまたはパーティションを使用することが可能です。ただし、推奨されているのは、ディスク全体を使用する操作モードです。ディスクは、フルパスで指定することも、短縮名 (/dev/dsk 以下のパスの相対部分) を使用することもできます。スライスやパーティションの指定を省略すると、ディスク全体を指定できます。また、ディスクの現在の場所を指定する /dev/chassis/.../disk パスを使って、ディスク全体を指定することもできます。ディスク全体を指定すると、ZFS によりディスクのラベルが必要に応じて自動的に設定されます。

file

通常のファイル。ファイルをバッキングストアとして使用することは決してお勧めできません。ファイルのフォルトトレランスは、それが存在するファイルシステムと同程度に過ぎません。これは、主に実験用途を念頭に置いて設計されています。ファイルは、フルパスで指定する必要があります。

mirror

2 つ以上のデバイスのミラー。データの複製方法は、ミラーのすべてのコンポーネントで同じです。サイズ X のディスク N 台で構成されるミラーは、X バイトの格納が可能であり、(N-1) 台のデバイスで障害が発生してもデータの整合性が保たれます。

raidz
raidz1
raidz2
raidz3

RAID-5 の一種。これを使用すると、パリティー分配の向上、および「RAID-5 書き込みホール」(電力喪失によりデータおよびパリティーに矛盾が発生する) の除去が可能になります。データおよびパリティーは、raidz グループ内の全ディスク間でストライプ化されます。

raidz グループは、シングルパリティー、ダブルパリティー、トリプルパリティーのいずれかを持つことができます。これはそれぞれ、raidz グループがデータを一切失うことなく、1 つ、2 つ、または 3 つの障害に耐えられることを意味します。raidz1 vdev タイプはシングルパリティー raidz グループを、raidz2 vdev タイプはダブルパリティー raidz グループを、raidz3 vdev タイプはトリプルパリティー raidz グループを指定します。raidz vdev タイプは raidz1 の別名です。

サイズ X のディスク N 台 (パリティーディスク P 台を含む) で構成される raidz グループには、約 (N-P)*X バイトを格納可能です。また、P 台のデバイスに障害が発生してもデータの整合性は損なわれません。raidz グループ内のデバイスの最小数は、パリティーディスクの数に 1 を加えたものです。パフォーマンス向上のために推奨される数は、3 から 9 までです。

spare

特定のプールで使用可能なホットスペアを追跡する特殊な擬似 vdev。詳細は、「ホットスペア」セクションを参照してください。

log

別個のインテントログデバイス。複数のログデバイスを指定すると、書き込みの負荷がデバイス間で分散されます。ログデバイスはミラー化できます。ただし、インテントログで raidz vdev タイプはサポートされていません。詳細は、「インテントログ」のセクションを参照してください。

cache

ストレージプールのデータをキャッシュするために使用するデバイス。キャッシュデバイスをミラーまたは raidz グループとして構成することはできません。詳細は、「キャッシュデバイス」のセクションを参照してください。

仮想デバイスを入れ子にすることはできません。このため、ミラーまたは raidz 仮想デバイスに含めることができるのは、ファイルまたはディスクだけです。ミラーをミラー (またはその他の組み合わせを使用) することはできません。

プールでは、構成の最上位に任意の数の仮想デバイス (ルート vdevs と呼ばれる) を含めることができます。最上位の全デバイス間でデータが動的に配分されることで、デバイス間のデータ均衡が保たれます。新しい仮想デバイスが追加されると、ZFS は使用可能になった新規デバイスにデータを自動的に格納します。

コマンド行で、複数の仮想デバイスを 1 つずつスペースで区切って指定できます。キーワード mirrorraidz は、グループが終了し、別のグループが開始することを示す場合に使用します。たとえば、次のコマンドは、それぞれが 2 台のディスクのミラーである 2 つのルート vdevs を作成します。

# zpool create mypool mirror c0t0d0 c0t1d0 mirror c1t0d0 c1t1d0

また、次のコマンドも使用可能です。

# zpool create tank \
mirror \
    /dev/chassis/RACK29.U01-04/DISK_00/disk \
    /dev/chassis/RACK29.U05-08/DISK_00/disk \
mirror \
    /dev/chassis/RACK29.U01-04/DISK_01/disk \
    /dev/chassis/RACK29.U05-08/DISK_01/disk

プールまたはデバイスの障害と復旧

ZFS では、デバイス障害およびデータ破壊を処理するための豊富なメカニズムがサポートされています。すべてのメタデータおよびデータのチェックサムが実行され、破壊が検出されると、ZFS により不正なデータが正常なコピーを使って自動的に修復されます。

これらの機能を活用するため、プールでミラー化グループまたは raidz グループを使って、なんらかの形式の冗長性を利用する必要があります。ZFS では、非冗長構成 (各ルート vdev は単なるディスクまたはファイル) での実行がサポートされていますが、この方法は決してお勧めできません。ビット破壊が 1 回発生するだけで、データの一部またはすべてが使用不可になる可能性があるためです。

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

DEGRADED

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

ONLINE

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

SUSPENDED

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

UNAVAIL

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

ミラーや raidz デバイスなどの最上位 vdev の健全性は、それに関連付けられた vdev (コンポーネントデバイス) の状態に影響される可能性があります。最上位 vdev とコンポーネントデバイスの状態は、次のいずれかになります。

DEGRADED

1 つ以上のコンポーネントデバイスがオフラインであるため、1 つ以上の最上位 vdev が機能低下状態になっています。動作を継続するための十分な複製が存在します。

1 つ以上のコンポーネントデバイスが機能低下または障害状態になっていますが、動作を継続するための十分な複製が存在します。その元となる条件は次のとおりです。

  • チェックサムエラーの数が許容レベルを超え、デバイスの機能低下が発生してなんらかの障害の可能性を示しています。必要に応じて、ZFS はそのデバイスを引き続き使用します。

  • 入出力エラーの数が許容レベルを超えています。動作を継続するための複製が不足しているため、デバイスを障害状態としてマークできませんでした。

OFFLINE

デバイスは zpool offline コマンドによって明示的にオフラインになりました。

ONLINE

デバイスはオンライン状態で動作しています。

REMOVED

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

UNAVAIL

デバイスがオープンできませんでした。デバイスが使用不可状態のときにプールをインポートすると、デバイスのパスは最初から間違っているため、デバイスはパスの代わりに一意の識別子によって識別されます。

デバイスを削除したあとでシステムに再度接続すると、ZFS は自動的にデバイスをオンラインにしようと試みます。デバイスの接続の検出はハードウェアに依存しており、一部のプラットフォームではサポートされていない場合があります。

ホットスペア

ZFS では、デバイスをホットスペアとしてプールに関連付けることができます。これらのデバイスはプール内でアクティブには使用されませんが、特定のアクティブデバイスで障害が発生すると、そのデバイスは特定のホットスペアで自動的に置き換えられます。ホットスペアを含むプールを作成するには、spare vdev と任意の数のデバイスを指定します。たとえば、

# zpool create pool mirror c0d0 c1d0 spare c2d0 c3d0

スペアは zpool add コマンドで追加し、zpool remove コマンドで削除することができます。スペアの置き換えが開始されると、新しいスペアvdevが構成内に作成され、このスペアは、元のデバイスが置き換えられるまでそこに残ります。この時点で、別のデバイスで障害が発生すると、そのホットスペアは再度使用可能となります。

処理中のスペア置換を取り消すには、そのホットスペアを切り離します。障害の発生した元のデバイスが切り離されると、そのデバイスが構成内で占めていた位置にホットスペアが配置され、そのホットスペアがすべてのアクティブプールのスペアリストから削除されます。

障害が発生した元のデバイスが物理的に置き換えられてオンラインに戻るか、またはエラーが FMA イベントを通して、あるいは zpool online コマンドまたは zpool clear コマンドを使用してクリアーされ、かつ元のデバイスの状態が正常になった場合は、INUSE スペアデバイスが再度 AVAIL になります。

ログデバイスをスペアで置き換えることはできません。

インテントログ

ZFS インテントログ (ZIL) は、同期トランザクションの POSIX 要件を満たしています。たとえば、多くの場合、データベースがシステムコールから戻るときは、そのトランザクションが安定したストレージデバイス上に置かれている必要があります。NFS やその他のアプリケーションでは、データの安定性を確保するために fsync() も使用できます。デフォルトでは、インテントログはメインプール内のブロックから割り当てられます。ただし、NVRAM や専用ディスクなどの別個のインテントログデバイスを使用することにより、パフォーマンスを向上できる可能性があります。例:

# zpool create pool c0d0 c1d0 log c2d0

複数のログデバイスを指定することもでき、それらをミラー化することもできます。複数のログデバイスをミラー化する例については、「使用例」のセクションを参照してください。

ログデバイスは、より大規模なプールの一部として、追加、置き換え、接続、切り離し、インポート、およびエクスポートできます。ミラー化されたログデバイスは、ログの最上位レベルのミラーを指定することによって削除できます。

キャッシュデバイス

ストレージプールにキャッシュデバイスとしてデバイスを追加できます。これらのデバイスにより、メインメモリーとディスクの間にキャッシュレイヤーが追加されます。集中的に読み取りを行う作業負荷の場合、作業セットのサイズがメインメモリーにキャッシュできるサイズを大きく超えますが、キャッシュデバイスを使用すると、この作業セットの大部分を低遅延メディアから提供できるようになります。キャッシュデバイスを使用すると、ほぼ静的なコンテンツをランダムに読み込む作業負荷のパフォーマンスが大幅に向上します。

キャッシュデバイスを含むプールを作成するには、cache vdev と任意の数のデバイスを指定します。例:

# zpool create pool c0d0 c1d0 cache c2d0 c3d0

キャッシュデバイスは、ミラー化することも、raidz 構成に含めることもできません。キャッシュデバイスで読み取りエラーが検出されると、ミラー化構成または raidz 構成に含まれている可能性があるオリジナルのストレージプールデバイスに対して、その読み取り I/O が再発行されます。

キャッシュデバイスの内容は、他のシステムキャッシュによるキャッシュと同様、揮発性であるとみなされます。

プロセス数

インポートされたそれぞれのプールには、zpool-poolname という名の関連プロセスがあります。このプロセスのスレッドはプールの入出力処理スレッドで、プールに関連付けられたすべての入出力に対して、圧縮、チェックサム、およびそのほかのタスクを処理します。このプロセスは、システムのストレージプールの CPU 使用状況を確認するために用意されています。このプロセスがあるため、インタフェースは不安定になっています。

プロパティー

各プールには、いくつかのプロパティーが関連付けられています。一部のプロパティーは読み取り専用の統計ですが、その他はプールの動作を変更する構成可能なプロパティーです。次のプロパティーは読み取り専用です。

allocated

物理的に割り当てられているプール内のストレージ容量。このプロパティーは、列の短縮名 alloc で参照することもできます。

capacity

プール内で使用されている領域の割合。このプロパティーは、列名の短縮形 cap を使用しても参照できます。

dedupratio

プールに対して指定された複製解除率。乗数で表記されます。この値は単一の 10 進数として表記されます。たとえば、dedupratio 値が 1.76 の場合、1.76 単位のデータが格納されていたものの、実際には 1 単位のディスク容量だけが消費されていたことを示します。このプロパティーは、列の短縮名 dedup を使用して参照することもできます。

複製解除を有効にするには、次のように指定します。

# zfs set dedup=on pool/dataset

デフォルト値は off です。

複製解除機能についての詳細は、zfs(1M) を参照してください。

free

プール内の割り当てられないブロック数。

guid

プールの一意の識別子。

health

プールの現在の健全性。健全性は、ONLINEDEGRADEDUNAVAILSUSPENDED のいずれかです。

size

ストレージプールの合計サイズ。

これらの領域使用状況プロパティーでは、ストレージプールで使用可能な実際の物理容量が報告されます。物理容量は、内部の全データセットが実際に使用可能な総容量とは異なる場合があります。raidz 構成で使用される容量は、書き込まれるデータの特性により異なります。また、ZFS は、zfs(1M) コマンドが考慮に入れる内部アカウンティングのための容量を確保します。しかし、zpool コマンドでは内部アカウンティングを考慮しません。容量に余裕のある適切なサイズのプールの場合、これらの影響は見えません。小さなプールまたは容量全体がほぼ使用されているプールの場合、これらの相違はより目立つようになります。

次のプロパティーは、作成時およびインポート時に設定できます。

altroot

代替ルートディレクトリ。設定されている場合、プール内のすべてのマウントポイントの先頭にこのディレクトリが付加されます。このプロパティーは、マウントポイントが信頼できない不明なプールを調べるときや、通常のパスが有効でない代替ブート環境で使用できます。altroot は永続的プロパティーではありません。システムが稼働しているときにのみ有効です。altroot を設定すると、デフォルトで cachefile=none が使用されますが、これは明示的な設定を使用してオーバーライドできます。

次のプロパティーは、インポート時に設定できます。

readonly=on | off

このプールを変更できるかどうかを制御します。有効になっている場合は、そのプールが読み取り/書き込みモードでインポートされるまで、インテントログ内にのみ存在するどの同期データにもアクセスできません。

読み取り専用モードでのプールのインポートには、次の制限事項があります。

  • インポート中に追加のプールプロパティーを設定しようとしても無視されます。

  • ファイルシステムのマウントはすべて、読み取り専用 (ro) マウントオプションを含むように変換されます。

読み取り専用モードでインポートされたプールは、そのプールをエクスポートおよびインポートすることによって読み取り/書き込みモードに戻すことができます。

次のプロパティーは、zpool set コマンドで作成時およびインポート時に設定でき、あとで変更できます。

autoexpand=on | off

基本となる LUN が増えたときに、自動プール拡張を制御します。on に設定すると、拡張されたデバイスのサイズに応じてプールのサイズが変更されます。デバイスがミラーまたは raidz に含まれている場合、プールで新しい容量を使用できるようにするには、そのミラー/raidz グループ内のすべてのデバイスを拡張する必要があります。デフォルトの動作は「オフ」です。このプロパティーは、列の短縮名 expand を使用して参照することもできます。

autoreplace=on | off

自動デバイス交換を制御します。off に設定されている場合、管理者が zpool replace コマンドを使用してデバイス交換を開始する必要があります。on に設定されている場合、そのプールに以前属していたデバイスと物理的に同じ位置にある新しいデバイスは、いずれも自動的にフォーマットされ、置き換えられます。デフォルトの動作は「オフ」です。このプロパティーは、列名の短縮形 replace を使用しても参照できます。

bootfs=pool/dataset

ルートプールのデフォルトのブート可能データセットを示します。このプロパティーは、主にインストールプログラムとアップグレードプログラムによって設定されるものと想定されています。

cachefile=path | none

プール構成をキャッシュする場所を制御します。システムの起動時にすべてのプールを見つけるには、ルートファイルシステムに保存されている構成データのキャッシュされたコピーが必要です。システムのブート時に、このキャッシュ内のすべてのプールが自動的にインポートされます。インストール環境やクラスタ化環境などの一部の環境では、プールが自動的にインポートされないようにするために、この情報を別の場所にキャッシュする必要があります。このプロパティーを設定すると、プール構成を別の場所にキャッシュし、あとで zpool import -c コマンドを使用してインポートできます。特殊な値 none に設定すると、キャッシュされることのない一時プールが作成され、特殊な値 '' (空の文字列) に設定すると、デフォルトの場所が使用されます。

同じキャッシュファイルを複数のプールで共有できます。プールの追加時と削除時に、このファイルはカーネルによって破棄され再作成されるため、このファイルにアクセスしようとするときは注意が必要です。キャッシュファイルを使用している最後のプールがエクスポートまたは破棄されると、そのファイルは削除されます。

dedupditto=number

コピー数のしきい値を設定します。複製解除されたブロックの参照数がこのしきい値を超えると、そのブロックの別の複製コピーが自動的に格納されます。デフォルト値は 0 です。

delegation=on | off

データセットに定義されているデータセットのアクセス権に基づいて非特権ユーザーにアクセス権を付与するかどうかを制御します。デフォルト値は on です。ZFS 委任管理の詳細については、zfs(1M) を参照してください。

failmode=wait | continue | panic

壊滅的なプール障害が発生した場合のシステムの動作を制御します。通常は、配下のストレージデバイスへの接続が失われた場合や、プール内のすべてのデバイスに障害が発生した場合に、このような状況になります。このような場合の動作は、次のように決定されます。

wait

デバイスへの接続が復元され、エラーがクリアされるまで、プールに対するすべての入出力アクセスをブロックします。デバイスの問題が解決されるまで、プールの状態は wait のままです。これはデフォルトの動作です。

continue

新しい書き込み入出力要求には EIO を返しますが、正常な残りのデバイスに対する読み取りは許可します。まだディスクにコミットされていない書き込み要求はブロックされます。

panic

コンソールにメッセージを出力し、システムクラッシュダンプを生成します。

listshares=on | off

このプール内の共有情報を zfs list コマンドによって表示されるようにするかどうかを制御します。デフォルト値は off です。

listsnaps=on | off

-t オプションを指定せずに zfs list を実行しているときに、このプールに関連付けられたスナップショットに関する情報を出力するかどうかを制御します。デフォルト値は off です。

version=version

プールの現在のディスク上バージョン。この値を増やすことはできても、減らすことはできません。プールを更新する方法としては zpool upgrade コマンドをお勧めしますが、下位互換性のために特定のバージョンが必要な場合には、このプロパティーを使用できます。このプロパティーには、1 から zpool upgrade -v で報告される現在のバージョンまでの任意の数値を設定できます。

サブコマンド

状態を変更するサブコマンドはすべて、元の形式でプールに永続的に記録されます。

zpool コマンドの提供するサブコマンドを使用すると、ストレージプールの作成と破棄、ストレージプールへの容量の追加、およびストレージプールに関する情報提供を行えます。サポートされているサブコマンドは次のとおりです。

zpool -?

ヘルプメッセージを表示します。

zpool help command | help | property property-name

zpool コマンドの使用法を表示します。 特定のコマンドまたはプロパティーのヘルプを表示できます。 特定のコマンドまたはプロパティーのヘルプを表示すると、コマンドの構文または使用可能なプロパティー値が表示されます。引数を指定しないで zpool help を使用すると、zpool コマンドの完全なリストが表示されます。

zpool help -l properties

zpool プロパティーに関する情報 (プロパティー値が編集可能かどうか、指定可能な値など) が表示されます。特定のサブコマンドまたはプロパティーのヘルプを表示すると、コマンド構文またはプロパティー値が表示されます。引数を指定しないで zpool help を使用すると、zpool サブコマンドの完全なリストが表示されます。

zpool add [-f] [-n [-l]]pool vdev ...

指定された仮想デバイスを指定したプールに追加します。vdev の仕様については、「仮想デバイス」のセクションを参照してください。-f オプションの動作、および実行されるデバイス検査については、zpool create サブコマンドで説明します。

-f

使用中と表示されていたり、競合する複製レベルが指定されていたとしても、vdev の使用を強制します。この方法で、すべてのデバイスを上書きできるわけではありません。

-n

vdev を実際に追加することなく、使用される構成を表示します。実際のプール作成は、特権の不足またはデバイス共有のために失敗する可能性があります。

-l

可能な場合、-n は現在の /dev/chassis の場所の形式で構成を表示します。

現在構成されているディスクは、定足数デバイスとして ZFS ストレージプールに追加しないでください。ディスクをプールに追加したあとで、そのディスクを定足数デバイスとして構成できます。

zpool attach [-f] pool device new_device

new_device を既存の zpool デバイスに接続します。既存のデバイスを、raidz 構成の一部にすることはできません。device が現在ミラー構成の一部ではない場合、devicedevice および new_device の 2 方向のミラーに自動的に変換されます。device が 2 方向ミラーの一部である場合、new_device を接続すると 3 方向ミラーが作成され、以下同様に作成されます。どの場合でも、new_device の再同期化がすぐに開始されます。

-f

new_device が使用中と表示されている場合でも、これを強制的に使用します。この方法で、すべてのデバイスを上書きできるわけではありません。

zpool clear [-nF [-f]] pool [device] ...

プール内のデバイスエラーをクリアします。引数を指定しない場合、プール内のすべてのデバイスエラーがクリアされます。1 つ以上のデバイスを指定すると、指定したデバイスに関連するエラーだけがクリアされます。

-F

開くことのできないプールに対して回復モードを開始します。プール内にある最後のいくつかのトランザクションを破棄して、開くことのできる状態に戻そうと試みます。このオプションを使用しても、損傷を受けたすべてのプールを回復できるわけではありません。成功した場合、破棄されたトランザクションのデータは回復されずに失われます。

-n

-F フラグと組み合わせて使用します。トランザクションの破棄によってプールが開くことのできる状態になるかどうかを調べますが、実際にトランザクションを破棄することはありません。

-f

fmadm acquit または fmadm repair コマンドでプールの障害の解決に失敗した場合に使用できる特別なプール回復オプションです。システムがリブートすると、FMA でプールの障害が再現されるため、プールの回復後に、FMA の障害を解決する必要があります。

zpool create [-f] [-n [-l]] [-B] [-o property=value] ... [-O file-system-property=value] ... [-m mountpoint] [-R root] pool vdev ...

コマンド行で指定した仮想デバイスを含む新規ストレージプールを作成します。プール名の先頭は文字である必要があり、含めることができるのは、英数字、下線 (_)、ダッシュ (-)、コロン (:)、スペース ( )、およびピリオド (.) です。mirrorraidzsparelog の各プール名、およびパターン c[0-9] で始まる名前は予約されています。vdev の仕様については、「仮想デバイス」のセクションを参照してください。

このコマンドは、指定された各デバイスがアクセス可能であり、現在別のサブシステムにより使用されていないことを確認します。ある種の用法 (現在マウントされている、専用のダンプデバイスとして指定されているなど) では、ZFS によるデバイスの使用が妨げられます。-f オプションを使用すると、その他の用法 (既存の UFS ファイルシステムの使用など) を上書きできます。

このコマンドは、プールの複製方法が一貫しているかどうかもチェックします。-f を指定せずに、単一のプール内で冗長ストレージと非冗長ストレージの結合を試みたり、ディスクとファイルの混在を試みると、エラーが発生します。-f を指定せずに、単一の raidz またはミラーグループ内でサイズの異なるデバイスを使用しても、エラーのフラグが付けられます。

-R オプションを指定しない場合の、デフォルトのマウントポイントは /pool です。このマウントポイントは存在しないか、空でなければなりません。さもないと、ルートデータセットをマウントすることはできません。これは、-m オプションを使って上書きできます。

-B

ディスクデバイス全体での操作時に、プラットフォーム上の EFI (GPT) ラベル付きディスクからのブートにブートパーティションが必要な場合は作成します。-B オプションは、ディスク全体ではないデバイスには影響を与えません。

-f

使用中と表示されていたり、競合する複製レベルが指定されていたとしても、vdev の使用を強制します。この方法で、すべてのデバイスをオーバーライドできるわけではありません。

-l

可能な場合、-n は現在の /dev/chassis の場所の形式で構成を表示します。

-n

使用する構成を、実際にプールを作成せずに表示します。実際のプール作成は、特権不足やデバイスが現在使用中などのために、まだ失敗する可能性があります。

-o property=value [-o property=value] ...

指定されたプールのプロパティーを設定します。設定できる有効なプロパティーのリストについては、「プロパティー」のセクションを参照してください。

-O file-system-property=value
[-O file-system-property=value] ...

プールの最上位レベルのファイルシステムの指定されたプロパティーを設定します。設定できる有効なプロパティーのリストについては、zfs(1M) の「プロパティー」のセクションを参照してください。

-R root

-o cachefile=none,altroot=root と同等です。

-m mountpoint

プールの最上位レベルのファイルシステムのマウントポイントを設定します。デフォルトのマウントポイントは /pool で、または、altroot が指定されている場合は altroot/pool です。このマウントポイントは絶対パス、legacy または none である必要があります。データセットマウントポイントの詳細は、zfs(1M)を参照してください。

zpool destroy [-f] pool

指定したプールを破棄し、すべてのデバイスを解放してほかの用途で使用できるようにします。このコマンドは、プールを破棄する前に、アクティブなデータセットすべてのマウント解除を試みます。

-f

プール内に含まれるアクティブなデータセットすべてのマウント解除を強制的に行います。

zpool detach pool device

ミラー化されたストレージプールからデバイスまたはスペアを切り離します。既存のデバイスが物理的に置き換えられた場合は、RAID-Z ストレージプールからスペアを切り離すこともできます。また、スペアで置き換えられた場合は、RAID-Z ストレージプールの既存デバイスを切り離すこともできます。データの有効な複製がほかに存在しない場合、この操作は拒否されます。

zpool export [-f] pool ...

指定したプールをシステムからエクスポートします。すべてのデバイスにエクスポート済みのマークが付けられますが、別のサブシステムからは引き続き使用中と見なされます。十分な数のデバイスが存在するかぎり、このデバイスをシステム間 (エンディアンの異なるシステムを含む) で移動またはインポートすることが可能です。

プールをエクスポートする前に、プール内のすべてのデータセットがマウント解除されます。

プールを可搬性のあるものにするため、zpool コマンドに単なるスライスではなく、ディスク全体を指定する必要があります。これにより、ZFS は可搬性のある EFI ラベルをディスクに設定します。そうしなければ、エンディアンの異なるプラットフォーム上のディスクドライバは、ディスクを認識しません。

-f

unmount -f コマンドを使用して、すべてのデータセットを強制的にマウント解除します。

このコマンドは強制的にプールをエクスポートします。

zpool get all | property[,...] pool ...

指定されたストレージプールについて、指定されたプロパティー (all が使用されている場合はすべてのプロパティー) のリストを取得します。これらのプロパティーは、次のフィールドで表示されます。

       name          Name of storage pool
        property      Property name
        value         Property value
        source        Property source, either 'default' or 'local'.

使用可能なプールプロパティーの詳細については、「プロパティー」のセクションを参照してください。

zpool history [-il] [pool] ...

指定したプール (プールを指定しない場合はすべてのプール) のコマンド履歴を表示します。

-i

ユーザーによって開始されたイベントに加え、内部で記録された ZFS イベントを表示します。

-l

ログレコードを長形式で表示します。これには、標準形式のほかに、ユーザー名、ホスト名、および操作が実行されたゾーンが含まれます。

zpool import [-d path ... ] [-D]
zpool import [-d path ... | -c cachefile] [-F [- n]]pool | id

インポートに使用可能なプールを一覧表示します。-d オプションを指定しない場合、このコマンドは /dev/dsk 内のデバイスを検索します。-d オプションは、複数回指定できます。このオプションを指定すると、すべてのディレクトリおよびデバイスパスが検索されます。デバイスがエクスポートされたプールの一部として表示される場合、このコマンドは、プールの名前、数値識別子、および各デバイスやファイルの vdev レイアウトと現在の健全性を含むプールのサマリーを表示します。-D オプションを指定しないかぎり、zpool destroy コマンドで以前に破棄されたプールは表示されません。

数値識別子は一意であり、エクスポートされた同名のプールを複数利用可能な場合にプール名の代わりに使用できます。

-c cachefile

cachefile」プールプロパティーで作成された指定の cachefile から構成を読み取ります。デバイスを検索する代わりに、この cachefile が使用されます。

-d path

path 内のデバイスまたはファイルを検索します。ここで、path にはディレクトリまたはデバイスパスを指定できます。-d オプションは複数回指定できます。

-D

破棄されたプールだけを一覧表示します。

zpool import [-o mntopts] [ -o property=value] ... [-d path ... | -c cachefile ] [-D] [-f] [-m] [-N] [-R root] [-F [-n [-l]]] -a

検索ディレクトリまたはデバイスパスで見つかったすべてのプールをインポートします。十分な数のデバイスを使用可能なプールがすべてインポートされることを除き、前のコマンドと同じです。-D オプションを指定しないかぎり、zpool destroy コマンドで以前に破棄されたプールはインポートされません。

-o mntopts

プール内のデータセットのマウント時に使用するマウントオプションのコンマ区切りのリスト。データセットのプロパティーとマウントオプションの説明については、zfs(1M) を参照してください。

-o property=value

インポートされたプールに、指定されたプロパティーを設定します。使用可能なプールプロパティーの詳細については、「プロパティー」のセクションを参照してください。

-c cachefile

cachefile」プールプロパティーで作成された指定の cachefile から構成を読み取ります。デバイスを検索する代わりに、この cachefile が使用されます。

-d path

デバイスまたはファイルを path 内で検索します。-d オプションは複数回指定できます。このオプションは -c オプションと同時には使用できません。

-D

破棄されたプールだけをインポートします。-f オプションも指定する必要があります。

-f

プールが潜在的にアクティブであると表示されている場合でも、インポートを強制的に実行します。

-F

インポート不可能なプールの回復モード。最後のいくつかのトランザクションを破棄することによって、プールをインポート可能な状態に戻そうとします。このオプションを使用しても、損傷を受けたすべてのプールを回復できるわけではありません。成功した場合、破棄されたトランザクションのデータは回復されずに失われます。このオプションは、プールがインポート可能であるか、すでにインポートされている場合には無視されます。

-a

プールを検索し、見つかったすべてのプールをインポートします。

-m

ログデバイスがない場合のプールのインポートを許可します。

-R root

cachefile プロパティーを nonealtroot プロパティーを root に設定します。

-N

ファイルシステムをマウントせずにプールをインポートします。

-n

-F 回復オプションとともに使用します。インポート不可能なプールを再度インポート可能にできるかどうかを判断しますが、実際にはプール回復を実行することはありません。プール回復モードの詳細については、前述の -F オプションを参照してください。

-l

可能な場合、-n は現在の /dev/chassis の場所の形式で情報を表示します。

zpool import [-o mntopts] [ -o property=value] ... [-d path ... | -c cachefile ] [-D] [-f] [-m] [-N] [-R root] [-F [-n [-l]]] pool | id [newpool ]

特定のプールをインポートします。プールは、名前または数値識別子を使って識別できます。newpool が指定されている場合、プールは永続的な名前 newpool を使用してインポートされます。それ以外の場合は、エクスポートされた名前と同じ名前を使ってインポートが行われます。ルートプールを新しい名前でインポートしないでください。そうでないと、システムがブートしなくなる可能性があります。

zpool export を最初に実行せずにシステムからデバイスを削除すると、そのデバイスは潜在的にアクティブな状態として表示されます。これがエクスポートの失敗を示すのか、デバイスが別のホストにより実際に使用されていることを示すのかを見分けることはできません。この状態のプールをインポートするには、-f オプションを指定する必要があります。

-o mntopts

プール内のデータセットのマウント時に使用するマウントオプションのコンマ区切りのリスト。データセットのプロパティーとマウントオプションの説明については、zfs(1M) を参照してください。

-o property=value

インポートされたプールに、指定されたプロパティーを設定します。使用可能なプールプロパティーの詳細については、「プロパティー」のセクションを参照してください。

-c cachefile

cachefile プールプロパティーで作成された指定の cachefile から構成を読み取ります。デバイスを検索する代わりに、この cachefile が使用されます。

-d path

デバイスまたはファイルを path 内で検索します。-d オプションは複数回指定できます。このオプションは -c オプションと同時には使用できません。

-D

破棄されたプールをインポートします。-f オプションも指定する必要があります。

-f

プールが潜在的にアクティブであると表示されている場合でも、インポートを強制的に実行します。

-F

インポート不可能なプールの回復モード。最後のいくつかのトランザクションを破棄することによって、プールをインポート可能な状態に戻そうとします。このオプションを使用しても、損傷を受けたすべてのプールを回復できるわけではありません。成功した場合、破棄されたトランザクションのデータは回復されずに失われます。このオプションは、プールがインポート可能であるか、すでにインポートされている場合には無視されます。

-R root

cachefile プロパティーを nonealtroot プロパティーを root に設定します。

-N

ファイルシステムをマウントせずにプールをインポートします。

-n

-F 回復オプションとともに使用します。インポート不可能なプールを再度インポート可能にできるかどうかを判断しますが、実際にはプール回復を実行することはありません。プール回復モードの詳細については、前述の -F オプションを参照してください。

-l

可能な場合、-n は現在の /dev/chassis の場所の形式で情報を表示します。

-m

ログデバイスがない場合のプールのインポートを許可します。

zpool iostat [-T d|u] [-v [-l]] [pool] ... [interval[count]]

指定したプールの I/O 統計を表示します。間隔を指定した場合、Ctrl-C キーを押すまで、統計が interval 秒ごとに出力されます。pools を指定しない場合、システム内のすべてのプールの統計が表示されます。count を指定した場合、このコマンドは count レポートの出力後に配置されます。

-T d|u

タイムスタンプを表示します。

標準の日付フォーマットに d を指定します。date(1) を参照してください。時間の内部表現の出力表現に u を指定します。time(2) を参照してください。

-v

詳細な統計。プール全体の統計とともに、プール内の各 vdevs の使用状況統計をレポートします。

-l

可能な場合、-v は現在の /dev/chassis の場所の形式で vdev 統計を表示します。

zpool list [-H] [-o props[,...]] [-T d|u] [pool] ...

指定したプールについて、健全性ステータスおよび領域使用状況を一覧表示します。引数を指定しない場合、システム内のすべてのプールが表示されます。

間隔を指定した場合、Ctrl-C キーを押すまで、ステータスおよび領域使用状況が interval 秒ごとに表示されます。count を指定した場合、このコマンドは count レポートの表示後に終了します。

-H

スクリプトモード。ヘッダーを表示せず、フィールドを任意のスペース文字ではなく単一のタブで区切ります。

-o props

表示するプロパティーのコンマ区切りのリスト。有効なプロパティーのリストについては、「プロパティー」のセクションを参照してください。デフォルトのリストは、namesizeallocatedfreecapacityhealthaltroot です。

-T d|u

タイムスタンプを表示します。

標準の日付フォーマットに d を指定します。date(1) を参照してください。時間の内部表現の出力表現に u を指定します。time(2) を参照してください。

zpool offline [-t] pool device ...

指定した物理デバイスをオフラインにします。オフライン状態にある device に対して、読み取りや書き込みは行われません。

このコマンドは、スペアまたはキャッシュデバイスには使用できません。

-t

一時的に使用する場合に指定します。リブートすると、指定した物理デバイスは以前の状態に戻ります。

zpool online [-e] pool device...

指定した物理デバイスをオンラインにします。

このコマンドは、スペアまたはキャッシュデバイスには使用できません。

-e

使用可能なすべての容量を使用するようにデバイスを拡張します。デバイスがミラーまたは raidz に含まれている場合、プールで新しい容量を使用できるようにするには、すべてのデバイスを拡張する必要があります。

zpool remove pool device ...

指定されたデバイスをプールから削除します。現在、このコマンドでは、ホットスペア、キャッシュ、およびログデバイスの削除のみをサポートしています。ミラー化されたログデバイスは、ログの最上位レベルのミラーを指定することによって削除できます。ミラー構成の一部となっている非ログデバイスは、zpool detach コマンドを使用すると削除できます。非冗長デバイスおよび raidz デバイスはプールから削除することはできません。

zpool replace [-f] pool old_device [new_device]

old_devicenew_device で置き換えます。これは、new_device を接続し、再同期化の実行まで待機してから old_device を切り離す操作と同等です。

new_device のサイズは、ミラーまたは raidz 構成内の全デバイスの最小サイズ以上でなければなりません。

new_device は、プールに冗長性がない場合に必要です。new_device を指定しない場合、デフォルトの old_device が使用されます。この置換形式は、既存のディスクで障害が発生したためにディスクを物理的に交換したあとで実行する場合に役立ちます。この場合、実際には別のディスクであっても、新規ディスクには以前のデバイスと同じ /dev/dsk パスが使用されます。これは、ZFS により認識されます。

zpool status 出力では、old_device はワード replacing の下に表示され、文字列 /old が付加されます。再同期化が完了すると、replacingold_device の両方が自動的に削除されます。再同期化が完了する前に新しいデバイスに障害が発生し、第 3 のデバイスが代わりに取り付けられると、障害が発生した両方のデバイスは /old が付加された状態で表示され、再同期化がもう一度開始されます。再同期化が完了すると、両方の /old デバイスは、ワード replacing とともに削除されます。

-f

new_device が使用中と表示されている場合でも、これを強制的に使用します。この方法で、すべてのデバイスを上書きできるわけではありません。

zpool scrub [-s] pool ...

消し込みを開始します。消し込みにより、指定したプール内のすべてのデータが検査され、チェックサムが適正に検証されます。複製された (ミラーまたは raidz) デバイスの場合、消し込み中に検出されたすべての損傷は、ZFS により自動的に修復されます。zpool status コマンドは、消し込みの進捗状況をレポートし、完了時には消し込み結果のサマリーを出力します。

消し込みおよび再同期化は、非常に類似した操作です。相違点は、再同期化では ZFS が期限切れであることを認識しているデータだけが検査されますが (新規デバイスをミラーに接続する場合や、既存のデバイスを置換する場合など)、消し込みではすべてのデータが検査されるため、ハードウェア障害やディスク障害に起因する非表示のエラーも検出されます。

消し込みと再同期化は、I/O 集約的な操作であるため、ZFS では一度に 1 つの操作だけが許可されます。消し込みがすでに進行している場合、以降の zpool scrub はエラーを返し、zpool scrub -s を使用して現在の消し込みを取り消すことを勧めるアドバイスが表示されます。進行中の再同期化が存在する場合、ZFS は、再同期化が完了するまで書き込みの開始を許可しません。

-s

消し込みを停止します。

zpool set property=value pool

指定されたプールに、特定のプロパティーを設定します。設定可能なプロパティーおよび有効な値については、「プロパティー」のセクションを参照してください。

zpool split [-n [-l]] [-R altroot] [-o mntopts] [-o property=value] pool newpool [device ...]

プール内のミラー化された各最上位 vdev から 1 つのディスクを分割し、分割したディスクから新しいプールを作成します。元のプールは 1 つ以上のミラーから構成されている必要があり、再同期化のプロセスが進行中であってはいけません。split サブコマンドは、コマンド行でのデバイス指定によって上書きされないかぎり、各ミラー vdev の最後のデバイスを選択します。

device 引数を使用した場合、split は指定されたデバイスを新しいプールに含め、どのデバイスも指定されないままであれば、通常どおり、各ミラー vdev 内の最後のデバイスをそのプールに割り当てます。split コマンドの結果が不明な場合は、-n (「予行演習」) オプションを使用して、コマンドが意図した結果をもたらすことを確認します。

-n

作成される構成を、実際にプールを分割せずに表示します。実際のプール分割は、特権の不足やデバイスのステータスのために失敗する可能性があります。

-l

可能な場合、-n は現在の /dev/chassis の場所の形式で構成を表示します。

-R altroot

指定された altroot パラメータを新しいプールの代替ルートに使用して、分割後に新しく作成されたプールを自動的にインポートします。前述の「プロパティー」セクションの altroot の説明を参照してください。

-o mntopts

プール内のデータセットのマウント時に使用するマウントオプションのコンマ区切りのリスト。データセットのプロパティーとマウントオプションの説明については、zfs(1M) を参照してください。-R オプションと組み合わせた場合にのみ有効です。

-o property=value

新しいプールに、指定されたプロパティーを設定します。使用可能なプールプロパティーの詳細については、前述の「プロパティー」のセクションを参照してください。

zpool status [-l] [-v] [-x] [-T d|u] [pool] ... [interval[count]]

指定したプールの詳細な健全性ステータスを表示します。pool を指定しない場合、システムの各プールのステータスが表示されます。プールおよびデバイスの健全性の詳細については、「デバイスの障害と復旧」のセクションを参照してください。

間隔を指定した場合、Ctrl-C キーを押すまで、ステータスおよび領域使用状況が interval 秒ごとに表示されます。count を指定した場合、このコマンドは count レポートの表示後に終了します。

消し込みまたは再同期化が進行中の場合、このコマンドは、実行済みの割合 (パーセント) および推定完了時間をレポートします。プール内のデータ量およびシステムのその他のワークロードは変化する場合があるため、これらはどちらも概算値に過ぎません。

-l

可能な場合、現在の /dev/chassis の場所の形式で vdev 統計を表示します。

-x

エラーが発生しているか、使用不可能なプールのステータスだけを表示します。

-v

詳細なデータエラー情報を表示し、前回のプール消し込みが完了して以降のデータエラーすべての完全なリストを出力します。

-T d|u

タイムスタンプを表示します。

標準の日付フォーマットに d を指定します。date(1) を参照してください。時間の内部表現の出力表現に u を指定します。time(2) を参照してください。

zpool upgrade

プールのディスク上バージョンを指定します。このバージョンによって、現在実行中のソフトウェアリリースで使用可能なプール機能が決まります。古いプールバージョンを使用し続けることはできますが、一部の機能が使用できなくなる可能性があります。プールは、zpool upgrade - a コマンドを使用するとアップグレードできます。以前のソフトウェアバージョンを実行しているシステムで、以降のバージョンのプールにアクセスすることはできません。

zpool upgrade -v

現在のソフトウェアでサポートされている ZFS プールバージョンを表示します。現在の ZFS プールバージョンおよびサポートされる以前のバージョンすべてが、各バージョンで提供される機能に関する説明とともに表示されます。

zpool upgrade [-V version] -a | pool ...

指定したプールを最新のディスク上バージョンにアップグレードします。このコマンドでプールが古いバージョンであることがわかった場合、続けて zpool upgrade -a コマンドを使用すると、そのプールをアップグレードできます。アップグレードされたプールは、以前のソフトウェアリリースを実行するシステムではアクセスできなくなります。

-a

すべてのプールをアップグレードします。

-V version

指定されたバージョンにアップグレードします。現在のバージョンよりも高いバージョンを指定する必要があります。-V フラグが指定されていない場合、プールは最新のバージョンにアップグレードされます。

使用例

例 1 RAID-Z ストレージプールを作成する

次のコマンドは、6 台のディスクで構成される単一の raidz ルート vdev を含むプールを作成します。

# zpool create tank raidz c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0

例 2 ミラー化されたストレージプールを作成する

次のコマンドは、2 つのミラーを持つプールを作成します。各ミラーには 2 台のディスクが含まれます。

# zpool create tank mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0

また、ディスクの現在の場所を指定する /dev/chassis パスを使って、ディスク全体を指定することもできます。

# zpool create tank \
    mirror \
        /dev/chassis/RACK29.U01-04/DISK_00/disk \
        /dev/chassis/RACK29.U05-08/DISK_00/disk \
    mirror \
        /dev/chassis/RACK29.U01-04/DISK_01/disk \
        /dev/chassis/RACK29.U05-08/DISK_01/disk

例 3 ミラーを ZFS ストレージプールに追加する

次のコマンドは、2 つのミラー化ディスクをプール tank に追加しますが、プールは 2 方向ミラーで構成済みであるものとします。プール内のすべてのデータセットは、追加された領域をすぐに利用できます。

# zpool add tank mirror c1t0d0 c1t1d0

例 4 使用可能な ZFS ストレージプールを一覧表示する

次のコマンドは、システムで使用可能なすべてのプールを一覧表示します。

# zpool list
NAME   SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
pool   278G  4.19G  274G   1%  1.00x  ONLINE  -
rpool  278G  78.2G  200G  28%  1.00x  ONLINE  -

例 5 プールのすべてのプロパティーを一覧表示する

次のコマンドは、プールのプロパティーをすべて一覧表示します。

% zpool get all pool
NAME  PROPERTY       VALUE                SOURCE
pool  allocated      4.19G                -
pool  altroot        -                    default
pool  autoexpand     off                  default
pool  autoreplace    off                  default
pool  bootfs         -                    default
pool  cachefile      -                    default
pool  capacity       1%                   -
pool  dedupditto     0                    default
pool  dedupratio     1.00x                -
pool  delegation     on                   default
pool  failmode       wait                 default
pool  free           274G                 -
pool  guid           1907687796174423256  -
pool  health         ONLINE               -
pool  listshares     off                  local
pool  listsnapshots  off                  default
pool  readonly       off                  -
pool  size           278G                 -
pool  version        34                   default

例 6 ZFS ストレージプールを破棄する

次のコマンドは、プール「tank」およびその内部のデータセットをすべて破棄します。

# zpool destroy -f tank

例 7 ZFS ストレージプールをエクスポートする

次のコマンドは、プール tank 内のデバイスをエクスポートします。エクスポートされたデバイスは、再配置したり、あとでインポートしたりすることが可能です。

# zpool export tank

例 8 ZFS ストレージプールをインポートする

次のコマンドは、使用可能なプールを表示してから、プール「tank」をインポートしてシステムで使用できるようにします。

このコマンドを実行すると、次のような結果が表示されます。

# zpool import
  pool: tank
    id: 7678868315469843843
 state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:

              tank  ONLINE
          mirror-0  ONLINE
            c1t2d0  ONLINE
            c1t3d0  ONLINE

# zpool import tank

例 9 すべての ZFS ストレージプールを最新のバージョンにアップグレードする

次のコマンドは、すべての ZFS ストレージプールを最新バージョンのソフトウェアにアップグレードします。

# zpool upgrade -a
This system is currently running ZFS pool version 22.

All pools are formatted using this version.

例 10 ホットスペアを管理する

次のコマンドは、使用可能なホットスペアを 1 つ含む新しいプールを作成します。

# zpool create tank mirror c0t0d0 c0t1d0 spare c0t2d0

いずれかのディスクで障害が発生すると、このプールは機能低下状態に陥ります。障害が発生したデバイスを交換するには、次のコマンドを使用します。

# zpool replace tank c0t0d0 c0t3d0

デバイスが回復されると、スペアは自動的に切り離され、障害が発生した別のデバイスで使用可能となります。ホットスペアをプールから完全に削除するには、次のコマンドを使用します。

# zpool remove tank c0t2d0

例 11 個別のミラー化されたログデバイスによる ZFS プールの作成

次のコマンドは、2 つの 2 方向ミラーとミラー化されたログデバイスから構成される ZFS ストレージプールを作成します。

# zpool create pool mirror c0d0 c1d0 mirror c2d0 c3d0 log mirror \
   c4d0 c5d0

例 12 ZFS プールにキャッシュデバイスを追加する

次のコマンドは、キャッシュデバイスとして使用する 2 つのディスクを ZFS ストレージプールに追加します。

# zpool add pool cache c2d0 c3d0

キャッシュデバイスを追加すると、そのキャッシュデバイスにメインメモリーの内容が徐々に書き込まれていきます。キャッシュデバイスのサイズによっては、キャッシュがいっぱいになるまでに 1 時間以上かかる場合もあります。iostat オプションを次のように使用して、容量と読み込みを監視できます。

# zpool iostat -v pool 5

例 13 ミラー化されたログデバイスを削除する

すぐ下で示す構成を想定した場合、次のコマンドはプール tank 内のミラー化されたログデバイス mirror-2 を削除します。

   pool: tank
  state: ONLINE
  scrub: none requested
config:

         NAME        STATE     READ WRITE CKSUM
         tank        ONLINE       0     0     0
           mirror-0  ONLINE       0     0     0
             c6t0d0  ONLINE       0     0     0
             c6t1d0  ONLINE       0     0     0
           mirror-1  ONLINE       0     0     0
             c6t2d0  ONLINE       0     0     0
             c6t3d0  ONLINE       0     0     0
         logs
           mirror-2  ONLINE       0     0     0
             c4t0d0  ONLINE       0     0     0
             c4t1d0  ONLINE       0     0     0
# zpool remove tank mirror-2

例 14 障害が発生した ZFS プールを回復する

プールに障害が発生したが回復可能である場合、このステータスを示すメッセージは、そのプールがキャッシュされていた場合 (前述の cachefile を参照) には zpool status によって表示され、キャッシュされていなかった場合にはそのプールで失敗した zpool import のエラー出力の一部として表示されます。

zpool clear コマンドを使用して、キャッシュされたプールを回復します。

# zpool clear -F data
Pool data returned to its state as of Thu Jun 07 10:50:35 2012.
Discarded approximately 29 seconds of transactions.

プール構成がキャッシュされていなかった場合、zpool import を回復モードフラグとともに使用します。

# zpool import -F data
Pool data returned to its state as of Thu Jun 07 10:50:35 2012.
Discarded approximately 29 seconds of transactions.

例 15 ログデバイスがない場合の ZFS プールのインポート

次の例は、ログデバイスがない場合にプールのインポートを試みる方法を示しています。-m オプションは、インポート操作を完了するために使用されます。

追加デバイスは、その正確な構成が判別できなくても、このプールの一部であることがわかっています。

# zpool import tank
The devices below are missing, use '-m' to import the pool anyway:
             c5t0d0 [log]

cannot import 'tank': one or more devices is currently unavailable

# zpool import -m tank
# zpool status tank
   pool: tank
  state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas
exist for
         the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
    see: http://www.support.oracle.com/msg/ZFS-8000-2Q
   scan: none requested
config:

         NAME                   STATE     READ WRITE CKSUM
         tank                   DEGRADED     0     0     0
           c7t0d0               ONLINE       0     0     0
         logs
           1693927398582730352  UNAVAIL      0     0     0  was 
/dev/dsk/c5t0d0

errors: No known data errors

次の例は、ミラー化されたログデバイスがない場合にプールをインポートする方法を示しています。

# zpool import tank
The devices below are missing, use ?-m? to import the pool anyway:
mirror-1 [log]
c5t0d0
c5t1d0

# zpool import -m tank

# zpool status tank
   pool: tank
  state: DEGRADED
status: One or more devices could not be opened.  Sufficient replicas
exist for the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
    see: http://www.support.oracle.com/msg/ZFS-8000-2Q
    scan: none requested
config:

         NAME                      STATE     READ WRITE CKSUM
         tank                      DEGRADED     0     0     0
           c7t0d0                  ONLINE       0     0     0
         logs
           mirror-1                UNAVAIL      0     0     0
insufficient replicas
             46385995713041169     UNAVAIL      0     0     0  was
/dev/dsk/c5t0d0
             13821442324672734438  UNAVAIL      0     0     0  was
/dev/dsk/c5t1d0

errors: No known data errors

例 16 特定のパスを使用してプールをインポートする

次のコマンドは、プールの特定のデバイスパス (この例では、/dev/dsk/c9t9d9/dev/dsk/c9t9d8) を指定することによってプール tank をインポートします。

# zpool import -d /dev/dsk/c9t9d9s0 /dev/dsk/c9t9d8s0 tank

このプールがディスク全体から構成されている場合でも、特定のデバイスのスライス識別子をコマンドに含める必要があるという既存の制限があります。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

1

エラーが発生した。

2

無効なコマンド行オプションが指定された。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/file-system/zfs
インタフェースの安定性
確実

関連項目

ps(1), zfs(1M), attributes(5), SDC(7)

注意事項

各 ZFS ストレージプールには、ps(1) などのツールで表示される、関連するプロセス zpool-poolname があります。ユーザーは、これらのプロセスとの対話を持ちません。SDC(7) を参照してください。