データ上で実行されるバックグラウンドタスク (データの送信、受信、スクラブ、再同期化など) を開始する ZFS コマンドを発行すると、これらのタスクのステータスと進捗状況をリアルタイムでモニターできます。情報が表示される頻度を指定できます。また、モニタリングが実行される期間を指定することもできます。
プールの操作をモニターするには、zpool monitor コマンドを使用します。このコマンドでは、使用するオプションに応じて、タスクに関する次のような情報が提供されます。この情報は、プールごとに個別に提供されます。
開始時間。
現在のデータ量。
タイムスタンプ (機能単位で該当する場合)。
タスク開始時のデータ量 (該当する)。
個々のプール上のタスク、またはシステムにある既存のすべてのプール上のタスクに関する情報を表示できます。
次のように zpool monitor コマンドを使用します。
zpool monitor -t provider [-T d|u] [pool] [interval [count]]
タスク情報を表示する次のプロバイダのいずれかを指定します。プロバイダには、次のいずれかを指定できます。
send
receive または recv
scrub
resilver
タイムスタンプとその表示形式を指定します。標準の日付形式で表示するには、d を指定します。時間の内部表現の出力表現を表示するには、u を指定します。これらの表示形式の詳細については、date(1) および time(2) のマニュアルページを参照してください。
表示する情報が更新される頻度 (秒単位)。
指定した間隔内に、コマンドがタスクに関する情報を表示する回数。
count が指定されている場合、このコマンドは情報を count で指定された回数更新してから、終了します。count が指定されていない場合、Ctrl-C を押すまで、継続的に情報が更新されます。
コマンドの出力によって、情報が特定のフィールドに従って整理されます。
zpool monitor コマンドが発行されてから、これまでに処理されたデータ量。
指定されたプロバイダに応じた追加情報 (現在処理中の項目や現在のタスク状態など)。
処理されたデータの割合。
情報の取得元であるプール。
情報を提供しているタスク。
1 秒当たりの単位 (通常はバイトですが、プロバイダで使用する単位に依存します)。
表示されたタスクでプロバイダが起動された時間。
操作全体を区別します。TAG 値は常に一意ですが、後続の操作で値を再使用できます。たとえば、両方のタスクが同じデータセット上で動作している場合でも、2 つの同時送信操作は別々の TAG 値を持っています。
特定のタスクが完了する相対時間。
モニター対象のデータのスナップショットが取得される時間。
処理されるデータの合計量を見積もります。
zfs send コマンドは、スナップショットのストリーム表現を作成します。次の例は、このタスクに関する情報を取得する方法を示しています。この情報は、5 秒間隔で 2 回更新されます。
# zpool monitor -t send 5 2 POOL PROVIDER PCTDONE TOTAL SPEED TIMELEFT OTHER poolA send 41.7 10.0G 5.93M 16m49s poolA/fs:1/team3@all poolB send 53.9 10.0G 7.71M 10m13s poolB/fs1/team3@all poolC send 97.9 10.0G 14.4M 14s poolC/fs1/team1@all poolA send 43.5 10.0G 6.17M 15m40s poolA/fs:1/team3@all poolB send 55.8 10.0G 7.95M 9m30s poolB/fs1/team3@all poolC send 99.2 10.0G 14.5M 5s poolC/fs1/team1@all使用例 42 ストリームの受信をモニターする
この例は、受信操作のステータスおよび進捗状況をモニターする方法を示しています。回数が指定されていない場合は、継続的に情報が 5 秒ごとに更新されます。管理者が Ctrl-C を押すと、モニタリングが終了します。
# zpool monitor -t recv 5 pool provider pctdone total speed timeleft other poolA receive 34.0 12.0G 6.01M 22m31s poolA/backup_all/fs2 poolA receive 68.0 6.01G 6.01M 5m28s poolA/backup_fs:1 poolB receive 20.6 10.0G 3.04M 44m39s poolB/backup_all/fs2 poolB receive 100.0 6.01G 9.48M 1s poolB/backup_fs1 poolB receive 16.7 12.0G 4.16M 41m04s poolB/pA-bkup/fs2 poolC receive 26.2 10.0G 3.98M 31m41s poolC/backup_all/fs2 ^C使用例 43 再同期化操作をモニターする
この例は、システム上にある 3 つすべての ZFS プールでの再同期化操作のステータスをチェックする方法を示しています。
# zpool monitor -t resilver 5 4 pool provider pctdone total speed timeleft other poolA resilver 10.7 12.0G 37.7M 4m50s (2/2) poolB resilver 7.1 10.0G 31.5M 5m02s (2/2) poolC resilver 1.8 10.0G 42.9M 3m54s (2/2) poolA resilver 13.9 12.0G 38.0M 4m38s (2/2) poolB resilver 9.0 10.0G 30.4M 5m07s (2/2) poolC resilver 5.3 10.0G 41.7M 3m52s (2/2) poolA resilver 14.7 12.0G 36.1M 4m50s (2/2) poolB resilver 10.8 10.0G 29.2M 5m12s (2/2) poolC resilver 7.2 10.0G 41.0M 3m51s (2/2) poolA resilver 14.7 12.0G 32.8M 5m19s (2/2) poolB resilver 10.8 10.0G 29.6M 5m08s (2/2) poolC resilver 7.2 10.0G 40.7M 3m53s (2/2)使用例 44 スクラブ操作をモニターする
この例は、poolB でのスクラブ操作の進捗状況をモニターする方法を示しています。
# zpool monitor -t scrub 5 poolB pool provider pctdone total speed timeleft poolB scrub 16.3 14.0G 35.3M 5m39s poolB scrub 16.4 14.0G 33.2M 6m00s poolB scrub 16.5 14.0G 31.1M 6m25s poolB scrub 16.5 14.0G 29.3M 6m48s ^C