Hi all,
 
As I wrote before, I have a "dpcool" implemented as an iSCSI
device stored in a volume of my physical "pool". When there 
are many operations, such as attempts to destroy a dataset
(which leads to many small IOs in my config), the iSCSI 
device is 100% busy for hours, latencies can grow to seconds 
even with one task in queue max, and I believe this may lead 
to the following problem - the device is considered timed out 
and reportedly faulted:
 
===
# zpool status dcpool
 pool: dcpool
 state: ONLINE
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
   see: http://www.sun.com/msg/ZFS-8000-HC
 scan: resilvered 111M in 0h5m with 0 errors on Wed May 18 04:03:02 2011
config:
        NAME                                     STATE     READ WRITE CKSUM
        dcpool                                   ONLINE       7  129K     0
          c0t600144F09844CF0000004D8376AE0002d0  ONLINE       0  397K     0
        cache
          c4t1d0p7                               ONLINE       0     0     0
errors: 132410 data errors, use '-v' for a list
===
 
As we can see above, there are no devices actually marked as 
FAULTED, except that the status says so. At times I had dmesg 
reporting the failure as well, but not always, like this:
 
===
May 22 12:51:32 bofh-sol scsi: [ID 243001 kern.warning] WARNING: /scsi_vhci 
(scsi_vhci0):
May 22 12:51:32 bofh-sol        
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10): Command Timeout on 
path 
iscsi0/d...@0000iqn.1986-03.com.sun:02:380c2eb8-4a4a-6e78-e304-c8cd5e29a7a40001,0
May 22 12:51:32 bofh-sol iscsi: [ID 431120 kern.warning] WARNING: iscsi 
connection(7/3f) closing connection - target requested reason:0x7
May 22 12:51:32 bofh-sol iscsi: [ID 732673 kern.info] NOTICE: iscsi session(6) 
iqn.1986-03.com.sun:02:380c2eb8-4a4a-6e78-e304-c8cd5e29a7a4 offline
May 22 12:51:39 bofh-sol scsi: [ID 107833 kern.warning] WARNING: 
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10):
May 22 12:51:39 bofh-sol        drive offline
May 22 12:51:54 bofh-sol scsi: [ID 107833 kern.warning] WARNING: 
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10):
May 22 12:51:54 bofh-sol        drive offline
May 22 12:52:00 bofh-sol scsi: [ID 107833 kern.warning] WARNING: 
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10):
...
May 22 13:04:35 bofh-sol scsi: [ID 107833 kern.warning] WARNING: 
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10):
May 22 13:04:35 bofh-sol        drive offline
May 22 13:04:45 bofh-sol iscsi: [ID 559844 kern.info] NOTICE: iscsi session(6) 
iqn.1986-03.com.sun:02:380c2eb8-4a4a-6e78-e304-c8cd5e29a7a4 online
May 22 13:04:45 bofh-sol genunix: [ID 483743 kern.info] 
/scsi_vhci/disk@g600144f09844cf0000004d8376ae0002 (sd10) multipath status: 
degraded: path 1 
iscsi0/d...@0000iqn.1986-03.com.sun:02:380c2eb8-4a4a-6e78-e304-c8cd5e29a7a40001,0
 is online
May 22 13:04:46 bofh-sol fmd: [ID 377184 daemon.error] SUNW-MSG-ID: 
ZFS-8000-HC, TYPE: Error, VER: 1, SEVERITY: Major
May 22 13:04:46 bofh-sol EVENT-TIME: Sun May 22 13:04:46 MSD 2011
May 22 13:04:46 bofh-sol PLATFORM: System-Product-Name, CSN: 
System-Serial-Number, HOSTNAME: bofh-sol
May 22 13:04:46 bofh-sol SOURCE: zfs-diagnosis, REV: 1.0
May 22 13:04:46 bofh-sol EVENT-ID: 435a2ccd-e710-cd37-a18e-a46743002e56
May 22 13:04:46 bofh-sol DESC: The ZFS pool has experienced currently 
unrecoverable I/O
May 22 13:04:46 bofh-sol            failures.  Refer to 
http://sun.com/msg/ZFS-8000-HC for more information.
May 22 13:04:46 bofh-sol AUTO-RESPONSE: No automated response will be taken.
May 22 13:04:46 bofh-sol IMPACT: Read and write I/Os cannot be serviced.
May 22 13:04:46 bofh-sol REC-ACTION: Make sure the affected devices are 
connected, then run
May 22 13:04:46 bofh-sol            'zpool clear'.
===
 
The zillions of errors are in ZFS metadata as seen in "zpool status -v",
and this condition can be cleared by forced reboot (uadmin 1 8) and 
subsequent import of the "dcpool", when after a few hours it comes 
online with deferred-free blocks deleted.
 
Neither "zpool export" nor "zpool clear" help in this situation,
and may instead lead to a hang of the system (no IOs would
succeed, even to other pools).
 
I've tried zpool attributes failmode=wait and =continue, with
same results.
 
I am not sure what to make of the two reports (in dmesg and zpool
status) - possibly when the system bottleneck clears, the iSCSI
device becomes visible again - but IOs are no longer served.
I did not manage to restart iSCSI target and/or initiator SMF services,
because in my case importing/mounting of dcpool is wrapped in a 
service which depends on the iSCSI services, and umounting/exporting
hangs - but I'd keep trying somehow (suggestions welcome, so far
I think of breaking the dependency and/or disabling my dcpool-mount
service).
 
While this particular system is at home and I can afford to reboot it, 
I do wonder what should be properly done in production environments?
 
I.e. is it possible to multipath iSCSI instances on different local IP
addresses (i.e. localhost and NIC IP) - but that would probably fail
at the same bottleneck moment - or to connect to the zvol/rdsk/... 
directly, without iSCSI?
 
Thanks for ideas,
//Jim Klimov
 
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to