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

印刷ビューの終了

更新: 2014 年 12 月
 
 

見つからないデバイスまたは削除されたデバイスを解決する

デバイスを開けない場合には、zpool status の出力に UNAVAIL ステータスが表示されます。この状態は、プールにはじめてアクセスしたときにデバイスを開けなかったか、またはそのデバイスがそれ以降使用できない状態であることを示しています。このデバイスが原因で、最上位レベルの仮想デバイスが使用できない場合、そのプールの内容にはアクセスできません。または、プールの耐障害性が危殆化している可能性があります。どちらの場合でも、通常の動作に戻すために必要な操作は、そのデバイスをシステムに再接続することだけです。失敗したために UNAVAIL であるデバイスを置き換える必要がある場合は、ZFS ストレージプール内のデバイスを置き換えるを参照してください。

デバイスがルートプールまたはミラー化ルートプール内で UNAVAIL の場合は、次を参照してください。

たとえば、デバイス障害が発生したあとに、fmd から次のようなメッセージが表示される場合があります。

SUNW-MSG-ID: ZFS-8000-QJ, TYPE: Fault, VER: 1, SEVERITY: Minor
EVENT-TIME: Wed Jun 20 13:09:55 MDT 2012
PLATFORM: ORCL,SPARC-T3-4, CSN: 1120BDRCCD, HOSTNAME: tardis
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: e13312e0-be0a-439b-d7d3-cddaefe717b0
DESC: Outstanding dtls on ZFS device 'id1,sd@n5000c500335dc60f/a' in pool 'pond'.
AUTO-RESPONSE: No automated response will occur.
IMPACT: None at this time.
REC-ACTION: Use 'fmadm faulty' to provide a more detailed view of this event.
Run 'zpool status -lx' for more information. Please refer to the associated
reference document at http://support.oracle.com/msg/ZFS-8000-QJ for the latest
service procedures and policies regarding this diagnosis.

デバイスの問題と解決策についてより詳細な情報を表示するには、zpool status –v コマンドを使用します。例:

# zpool status -v
pool: pond
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 13:16:09 2012
config:

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

device details:

c0t5000C500335DC60Fd0    UNAVAIL          cannot open
status: ZFS detected errors on this device.
The device was missing.
see: http://support.oracle.com/msg/ZFS-8000-LR for recovery

この出力から、c0t5000C500335DC60Fd0 デバイスが機能していないことがわかります。デバイスで障害が発生していると判断した場合は、デバイスを置き換えます。

必要に応じて、zpool online コマンドを使用して、交換したデバイスをオンラインにします。例:

# zpool online pond c0t5000C500335DC60Fd0

fmadm faulty の出力でデバイスエラーが特定された場合に、デバイスが交換されていることを FMA に知らせます。例:

# fmadm faulty
--------------- ------------------------------------  -------------- ---------
TIME            EVENT-ID                              MSG-ID         SEVERITY
--------------- ------------------------------------  -------------- ---------
Jun 20 13:15:41 3745f745-371c-c2d3-d940-93acbb881bd8  ZFS-8000-LR    Major

Problem Status    : solved
Diag Engine       : zfs-diagnosis / 1.0
System
Manufacturer  : unknown
Name          : ORCL,SPARC-T3-4
Part_Number   : unknown
Serial_Number : 1120BDRCCD
Host_ID       : 84a02d28

----------------------------------------
Suspect 1 of 1 :
Fault class : fault.fs.zfs.open_failed
Certainty   : 100%
Affects     : zfs://pool=86124fa573cad84e/
  vdev=25d36cd46e0a7f49/pool_name=pond/
  vdev_name=id1,sd@n5000c500335dc60f/a
Status      : faulted and taken out of service

FRU
Name             : "zfs://pool=86124fa573cad84e/
vdev=25d36cd46e0a7f49/pool_name=pond/
vdev_name=id1,sd@n5000c500335dc60f/a"
Status        : faulty

Description : ZFS device 'id1,sd@n5000c500335dc60f/a' 
in pool 'pond' failed to open.

Response    : An attempt will be made to activate a hot spare if available.

Impact      : Fault tolerance of the pool may be compromised.

Action      : Use 'fmadm faulty' to provide a more detailed view of this event.
Run 'zpool status -lx' for more information. Please refer to the
associated reference document at
http://support.oracle.com/msg/ZFS-8000-LR for the latest service
procedures and policies regarding this diagnosis.

fmadm faulty の出力から Affects: セクション内の文字列を取り出し、次のコマンドでそれを含めてデバイスが交換されたことを FMA に知らせます。

# fmadm repaired zfs://pool=86124fa573cad84e/ \
   vdev=25d36cd46e0a7f49/pool_name=pond/ \
   vdev_name=id1,sd@n5000c500335dc60f/a
fmadm: recorded repair to of zfs://pool=86124fa573cad84e/
   vdev=25d36cd46e0a7f49/pool_name=pond/vdev_
name=id1,sd@n5000c500335dc60f/a

最後のステップでは、デバイスを置き換えたプールの健全性を確認します。例:

# zpool status -x tank
pool 'tank' is healthy

削除されたデバイスを解決する

デバイスがシステムから完全に削除されると、ZFS はそのデバイスを開けないことを検出し、REMOVED 状態にします。この削除が原因でプール全体が使用できない状態になるかどうかは、そのプールのデータ複製レベルによって決まります。ミラー化されたデバイスまたは RAID-Z デバイスにあるディスクが取り外されても、そのプールには引き続きアクセスできます。次の状況では、プールは UNAVAIL になる場合があります。つまり、デバイスが再接続されるまでデータにはアクセスできません。

冗長ストレージプールデバイスが間違って取り外されて挿入し直された場合は、ほとんどの場合、デバイスエラーを単にクリアできます。例:

# zpool clear tank c1t1d0

デバイスを物理的に再接続する

見つからないデバイスを再接続するための正確な手順は、そのデバイスごとに異なります。デバイスがネットワークに接続されているドライブの場合は、ネットワークへの接続を復元するべきです。デバイスが USB デバイスなどのリムーバブルメディアである場合は、システムに再接続するべきです。デバイスがローカルディスクである場合は、コントローラに障害が発生していたために、デバイスがシステムから見えない状態になっていた可能性があります。この場合は、コントローラを置き換えれば、ディスクが再び使用できる状態になるはずです。ハードウェアの種類と構成によっては、ほかの問題が存在する可能性もあります。ドライブに障害が発生してシステムから認識されなくなった場合には、デバイスが損傷していると見なすべきです。破損したデバイスを交換または修復するの手順に従ってください。

デバイスの接続が危殆化している場合、プールは SUSPENDED になる可能性があります。デバイスの問題が解決されるまで、SUSPENDED プールの状態は wait のままです。例:

# zpool status cybermen
pool: cybermen
state: SUSPENDED
status: One or more devices are unavailable in response to IO failures.
The pool is suspended.
action: Make sure the affected devices are connected, then run 'zpool clear' or
'fmadm repaired'.
Run 'zpool status -v' to see device specific details.
see: http://support.oracle.com/msg/ZFS-8000-HC
scan: none requested
config:

NAME       STATE     READ WRITE CKSUM
cybermen   UNAVAIL      0    16     0
c8t3d0     UNAVAIL      0     0     0
c8t1d0     UNAVAIL      0     0     0

デバイスの接続が復元されたあとで、プールまたはデバイスのエラーを解消します。

# zpool clear cybermen
# fmadm repaired zfs://pool=name/vdev=guid

デバイスが使用できることを ZFS に通知する

デバイスをシステムに再接続したあとも、デバイスが使用できるようになったことが自動的に検出されないこともあります。プールが以前 UNAVAIL または SUSPENDED だった場合、または attach 手順の一環としてシステムがリブートされた場合、ZFS は、プールを開くときにすべてのデバイスを自動的に再スキャンします。システムの稼働中にプールの機能が低下したのでデバイスを置き換えた場合には、デバイスが使用できるようになって再度開ける状態になったことを、zpool online コマンドを使って ZFS に通知する必要があります。例:

# zpool online tank c0t1d0

デバイスをオンラインする方法の詳細については、デバイスをオンラインにするを参照してください。