zpool failmode in ZEVO Community Edition 1.1.1

Moderators: jhartley, MSR734, nola

zpool failmode in ZEVO Community Edition 1.1.1

Post by grahamperrin » Tue Nov 20, 2012 3:33 pm

At https://hg.openindiana.org/upstream/ill ... ol.1m#l765 for failmode there are three settings:

  • wait
  • continue
  • panic

– with a default to wait.

In the man page for zpool(8) with ZEVO community Edition 1.1.1 I find fewer settings for failmode, with no default:

  • wait
  • continue

For a pool that was created with ZEVO (maybe a beta), running zpool get … shows a default to continue.
grahamperrin Offline

User avatar
 
Posts: 1596
Joined: Fri Sep 14, 2012 10:21 pm
Location: Brighton and Hove, United Kingdom

Re: zpool failmode in ZEVO Community Edition 1.1.1

Post by dbrady » Thu Nov 22, 2012 12:00 am

In the ZEVO implementation, the failmode has only 2 settings: wait and continue. The default at pool creation is continue. If ZEVO detects the removal of all the vdev devices (like during a hot unplug) it tries its best to tear down the pool without waiting for I/O (the reasoning behind the default being continue).
dbrady Offline


 
Posts: 67
Joined: Wed Sep 12, 2012 12:43 am

zpool failmode default to continue, and hot unplugging

Post by grahamperrin » Thu Nov 22, 2012 2:59 am

Thanks, that makes sense. For a majority of Mac users continue is certainly the most user-friendly default …

Hot unplugging

… although with OS X as I know it (files open by mds run by root et cetera), I doubt that any hot unplug can be as graceful as we'd like – unless the end user takes special action beforehand, but then it's not really hot.

man page for zfs

Back to the failmode property. Addition to the man page would be neat.

Is it timely to think about wording? Or are there other things to thrash out, over time?

For hot unplugging, might a separate topic be useful? FWIW there is at least viewtopic.php?p=895#p895 around improper eject, which (for end user perception purposes) I might throw in the same think-bucket.
grahamperrin Offline

User avatar
 
Posts: 1596
Joined: Fri Sep 14, 2012 10:21 pm
Location: Brighton and Hove, United Kingdom

Experiments with failmode=wait

Post by grahamperrin » Fri Mar 29, 2013 5:55 am

At viewtopic.php?p=4406#p4406

raattgift wrote:… tradeoffs, but ZEVO's choice may be the right one for its port. However, as this causes the zfs subsystem to report IO errors, it is fully understandable that the diskmanagement subsystem would unmount the affected filesystems when it concludes they are unreachable.

… consider experimenting with the failmode setting to see whether stalling apps (and other subsystems) is better for you than returning errors to them.

… I personally prefer the failmode=wait semantics and have consequently now set that on all the pools hanging off Macs I control …


My pool named tall

In connection with Finder eject, reconnect, panic, type 14=page fault, zpool I set failmode=wait for that pool then reproduced a kernel panic.

For the record:

Code: Select all
macbookpro08-centrim:~ gjp22$ zpool history tall | grep failmode=
2013-03-28.19:13:58 zpool set failmode=wait tall


My pool named gjp22

Yesterday … at http://www.wuala.com/grahamperrin/publi ... allery&id= in the following file –

  • zpool iostat -v 60.txt

– for the cache vdev, there's an apparent leap from 773Mi to 7.13Gi allocated. For the product combination (Kingston DataTraveler 400 in a USB 2.0 hub, not ideal) I doubt that so much was truly written within that sixty second interval. As far as I can tell, the doubtful measurement broadly coincided with what I treat as an inexplicable disconnect/detachment and critically:

> let's assume that I'm overstepping the boundaries of what's worthwhile with USB 2.0.

The storage vdev for this pool is part of the internal disk of the MacBookPro5,2, which can't be physically unplugged, so now it's failmode=wait for this pool. For the record:

Code: Select all
macbookpro08-centrim:~ gjp22$ zpool history gjp22 | grep failmode=
2012-11-20.07:24:08 zpool set failmode=continue gjp22
2012-11-20.07:24:25 zpool set failmode=wait gjp22
2012-11-20.07:24:57 zpool set failmode=continue gjp22
2013-03-29.08:02:04 zpool set failmode=wait gjp22


My pool named zhandy

Following a cookied kernel panic I decided to experiment with change to this pool, too. For the record:

Code: Select all
macbookpro08-centrim:~ gjp22$ zpool history zhandy | grep failmode=
2013-03-29.08:02:15 zpool set failmode=wait zhandy
grahamperrin Offline

User avatar
 
Posts: 1596
Joined: Fri Sep 14, 2012 10:21 pm
Location: Brighton and Hove, United Kingdom


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron