I have a test bed S10U5 system running under vmware ESX that has a weird
problem.
I have a single virtual disk, with some slices allocated as UFS filesystem
for the operating system, and s7 as a ZFS pool.
Whenever I reboot, the pool fails to open:
May 8 17:32:30 niblet fmd: [ID 441519 daemon.error] SUNW-MSG-ID: ZFS-8000-CS,
TYPE: Fault, VER: 1, SEVERITY: Major
May 8 17:32:30 niblet EVENT-TIME: Thu May 8 17:32:30 PDT 2008
May 8 17:32:30 niblet PLATFORM: VMware Virtual Platform, CSN: VMware-50 35 75
0b a3 b3 e5 d4-38 3f 00 7a 10 c0 e2 d7, HOSTNAME: niblet
May 8 17:32:30 niblet SOURCE: zfs-diagnosis, REV: 1.0
May 8 17:32:30 niblet EVENT-ID: f163d843-694d-4659-81e8-aa15bb72e2e0
May 8 17:32:30 niblet DESC: A ZFS pool failed to open. Refer to
http://sun.com/msg/ZFS-8000-CS for more information.
May 8 17:32:30 niblet AUTO-RESPONSE: No automated response will occur.
May 8 17:32:30 niblet IMPACT: The pool data is unavailable
May 8 17:32:30 niblet REC-ACTION: Run ''zpool status -x'' and
either attach the missing device or
May 8 17:32:30 niblet restore from backup.
According to ''zpool status'', the device could not be opened:
root at niblet ~ # zpool status
pool: ospool
state: UNAVAIL
status: One or more devices could not be opened. There are insufficient
replicas for the pool to continue functioning.
action: Attach the missing device and online it using ''zpool
online''.
see: http://www.sun.com/msg/ZFS-8000-D3
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
ospool UNAVAIL 0 0 0 insufficient replicas
c1t0d0s7 UNAVAIL 0 0 0 cannot open
However, according to format, the device is perfectly accessible, and
format even indicates that slice 7 is an active pool:
root at niblet ~ # format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c1t0d0 <DEFAULT cyl 4092 alt 2 hd 128 sec 32>
/pci at 0,0/pci1000,30 at 10/sd at 0,0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently used by swap. Please see swap(1M).
/dev/dsk/c1t0d0s3 is currently mounted on /usr. Please see umount(1M).
/dev/dsk/c1t0d0s4 is currently mounted on /var. Please see umount(1M).
/dev/dsk/c1t0d0s5 is currently mounted on /opt. Please see umount(1M).
/dev/dsk/c1t0d0s6 is currently mounted on /home. Please see umount(1M).
/dev/dsk/c1t0d0s7 is part of active ZFS pool ospool. Please see zpool(1M).
Trying to import it does not find it:
root at niblet ~ # zpool import
no pools available to import
Exporting it works fine:
root at niblet ~ # zpool export ospool
But then the import indicates that the pool may still be in use:
root at niblet ~ # zpool import ospool
cannot import ''ospool'': pool may be in use from other system
Adding the -f flag imports successfully:
root at niblet ~ # zpool import -f ospool
root at niblet ~ # zpool status
pool: ospool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
ospool ONLINE 0 0 0
c1t0d0s7 ONLINE 0 0 0
errors: No known data errors
And then everything works perfectly fine, until I reboot again, at which
point the cycle repeats.
I have a similar test bed running on actual x4100 hardware that doesn''t
exhibit this problem.
Any idea what''s going on here?
--
Paul B. Henson | (909) 979-6361 | http://www.csupomona.edu/~henson/
Operating Systems and Network Analyst | henson at csupomona.edu
California State Polytechnic University | Pomona CA 91768