Repairing a Missing Device
If a device cannot be opened, it displays as UNAVAILABLE in the zpool status
output. This status means that ZFS was unable to open the device when
the pool was first accessed, or the device has since become unavailable. If
the device causes a top-level virtual device to be unavailable, then nothing in
the pool can be accessed. Otherwise, the fault tolerance of the pool might
be compromised. In either case, the device simply needs to be reattached to
the system to restore normal operation.
For example, you might see a message similar to the following from
fmd after a device failure:
SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Thu Aug 31 11:40:59 MDT 2006
PLATFORM: SUNW,Sun-Blade-1000, CSN: -, HOSTNAME: tank
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: e11d8245-d76a-e152-80c6-e63763ed7e4e
DESC: A ZFS device failed. Refer to https://sun.com/msg/ZFS-8000-D3 for more information.
AUTO-RESPONSE: No automated response will occur.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Run 'zpool status -x' and replace the bad device.
The next step is to use the zpool status -x command to view more
detailed information about the device problem and the resolution. For example:
# zpool status -x
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: https://www.sun.com/msg/ZFS-8000-D3
scrub: resilver completed with 0 errors on Thu Aug 31 11:45:59 MDT 2006
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
mirror DEGRADED 0 0 0
c0t1d0 UNAVAIL 0 0 0 cannot open
c1t1d0 ONLINE 0 0 0
You can see from this output that the missing device c0t1d0 is not
functioning. If you determine that the drive is faulty, replace the device.
Then, use the zpool online command to online the replaced device. For example:
# zpool online tank c0t1d0
Confirm that the pool with the replaced device is healthy.
# zpool status -x tank
pool 'tank' is healthy
Physically Reattaching the Device
Exactly how a missing device is reattached depends on the device in question.
If the device is a network-attached drive, connectivity should be restored. If the
device is a USB or other removable media, it should be reattached to
the system. If the device is a local disk, a controller might
have failed such that the device is no longer visible to the system.
In this case, the controller should be replaced at which point the disks
will again be available. Other pathologies can exist and depend on the type
of hardware and its configuration. If a drive fails and it is no
longer visible to the system (an unlikely event), the device should be treated
as a damaged device. Follow the procedures outlined in Repairing a Damaged Device.
Notifying ZFS of Device Availability
Once a device is reattached to the system, ZFS might or might
not automatically detect its availability. If the pool was previously faulted, or the
system was rebooted as part of the attach procedure, then ZFS automatically rescans all
devices when it tries to open the pool. If the pool was
degraded and the device was replaced while the system was up, you must
notify ZFS that the device is now available and ready to be reopened
by using the zpool online command. For example:
# zpool online tank c0t1d0
For more information about bringing devices online, see Bringing a Device Online.