第12章 XFS エラー動作の設定

異なる I/O エラーが発生すると、XFS ファイルシステムの動作を設定できます。

12.1. XFS で設定可能なエラー処理

XFS ファイルシステムは、I/O 操作中にエラーが発生すると、以下のいずれかの方法で応答します。

  • XFS は、操作が成功するまで、または XFS が設定制限に到達するまで I/O 操作を繰り返し再試行します。

    この制限は、再試行の最大数または再試行の最大時間を基にしています。

  • XFS は、エラーを永続的に考慮し、ファイルシステムで操作を停止します。

XFS が以下のエラー条件に反応する方法を設定できます。

EIO
読み取りまたは書き込み時のエラー
ENOSPC
デバイスに空き容量がない
ENODEV
デバイスが見つからない

最大再試行回数と、XFS がエラーを永続的と見なすまでの最大時間を秒単位で設定できます。XFS は、いずれかの制限に達すると操作の再試行を停止します。

また、ファイルシステムのマウントを解除するときに、他の設定に関係なく XFS が再試行を即座にキャンセルするように XFS を設定することもできます。この設定により、永続的なエラーを出しても、マウント解除操作は成功します。

デフォルトの動作

各 XFS エラー条件のデフォルトの動作は、エラーコンテキストによって異なります。ENODEV などの XFS エラーは、リトライ回数に関係なく致命的で回復不能とみなされます。デフォルトの再試行制限は 0 です。

12.2. 特定の、未定義の XFS エラー条件の設定ファイル

以下のディレクトリーは、さまざまなエラー状態に対して XFS エラー動作を制御する設定ファイルを保存します。

/sys/fs/xfs/device/error/metadata/EIO/
EIO エラー条件の場合
/sys/fs/xfs/device/error/metadata/ENODEV/
ENODEV エラー条件の場合
/sys/fs/xfs/device/error/metadata/ENOSPC/
ENOSPC エラー条件の場合
/sys/fs/xfs/device/error/default/
その他のすべての未定義エラー条件の共通設定

各ディレクトリーには、再試行制限を設定するために以下の設定ファイルが含まれています。

max_retries
XFS が操作を再試行する最大回数を制御します。
retry_timeout_seconds
XFS が操作の再試行を停止するまでの時間制限を秒単位で指定します。

12.3. 特定の条件に対する XFS 動作の設定

この手順では、XFS が特定のエラー条件にどのように反応するかを設定します。

手順

  • 再試行の最大数、再試行時間制限、またはその両方を設定します。

    • 再試行の最大数を設定するには、必要な数を max_retries ファイルに書き込みます。

      # echo value > /sys/fs/xfs/device/error/metadata/condition/max_retries
    • 時間制限を設定するには、希望する秒数を retry_timeout_seconds ファイルに書き込みます。

      # echo value > /sys/fs/xfs/device/error/metadata/condition/retry_timeout_second

    value は、-1 から C 符号付き整数型の可能な最大値です。これは、64 ビットの Linux では 2147483647 です。

    いずれの制限も、-1 の値は継続的な再試行に使用され、0 は即座に停止するために使用されます。

    device は、/dev/ ディレクトリーにあるデバイス名です。たとえば、sda です。

12.4. 未定義の条件に対する XFS 動作の設定

この手順では、XFS が、共通の設定を共有するすべての未定義のエラー条件に反応する方法を設定します。

手順

  • 再試行の最大数、再試行時間制限、またはその両方を設定します。

    • 再試行の最大数を設定するには、必要な数を max_retries ファイルに書き込みます。

      # echo value > /sys/fs/xfs/device/error/metadata/default/max_retries
    • 時間制限を設定するには、希望する秒数を retry_timeout_seconds ファイルに書き込みます。

      # echo value > /sys/fs/xfs/device/error/metadata/default/retry_timeout_seconds

    value は、-1 から C 符号付き整数型の可能な最大値です。これは、64 ビットの Linux では 2147483647 です。

    いずれの制限も、-1 の値は継続的な再試行に使用され、0 は即座に停止するために使用されます。

    device は、/dev/ ディレクトリーにあるデバイス名です。たとえば、sda です。

12.5. XFS アンマウント動作の設定

この手順では、ファイルシステムのアンマウント時に XFS がエラー状態に対応するように設定します。

ファイルシステムに fail_at_unmount オプションを設定すると、マウント解除時にその他すべてのエラー設定が上書きされ、I/O 操作を再試行せずにすぐにファイルシステムをマウント解除します。これにより、永続的なエラーが発生した場合でも、マウント解除操作を成功できます。

警告

マウント解除プロセスの開始後に fail_at_unmount の値を変更することはできません。アンマウントプロセスにより、設定ファイルが各ファイルシステムの sysfs インターフェースから削除されます。ファイルシステムのマウント解除を開始する前に、マウント解除動作を設定する必要があります。

手順

  • fail_at_unmount オプションを有効または無効にします。

    • ファイルシステムのマウント解除時にすべての操作を再試行する場合は、オプションを有効にします。

      # echo 1 > /sys/fs/xfs/device/error/fail_at_unmount
    • ファイルシステムのマウント解除時に、再試行制限の max_retries および retry_timeout_seconds を回避するには、オプションを無効にします。

      # echo 0 > /sys/fs/xfs/device/error/fail_at_unmount

    device は、/dev/ ディレクトリーにあるデバイス名です。たとえば、sda です。


このページには機械翻訳が使用されている場合があります (詳細はこちら)。