From owner-freebsd-stable@FreeBSD.ORG Tue Jun 28 19:01:46 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 26CE9106566C for ; Tue, 28 Jun 2011 19:01:46 +0000 (UTC) (envelope-from tsw5@duke.edu) Received: from mail-gw-01.oit.duke.edu (lb-mx-gateway-pat.oit.duke.edu [152.3.68.136]) by mx1.freebsd.org (Postfix) with ESMTP id F01F08FC14 for ; Tue, 28 Jun 2011 19:01:45 +0000 (UTC) Received: from mail-gw-01.oit.duke.edu (localhost.localdomain [127.0.0.1]) by localhost (Email Security Appliance) with SMTP id C83F02FF51FC_E0A229EB for ; Tue, 28 Jun 2011 18:51:10 +0000 (GMT) X-Sophos-ESA-SMTPD-Auth-On: authentication enabled X-Sophos-ESA-External-Sender: external sender Received: from mail.skylab.org (mail.skylab.org [174.140.162.3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mail-gw-01.oit.duke.edu (Sophos Email Appliance) with ESMTP id 4E8072FF51EA_E0A229EF for ; Tue, 28 Jun 2011 18:51:10 +0000 (GMT) Date: Tue, 28 Jun 2011 11:45:06 -0700 (PDT) From: Todd Wasson X-X-Sender: todd@skylab.org To: freebsd-stable@freebsd.org Message-ID: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Subject: zfs on geli vs. geli on zfs (via zvol) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jun 2011 19:01:46 -0000 I've been thinking about how to best combine encryption and zfs on freebsd, and though I've seen some discussion about each individual option, I haven't found an explicit compare/contrast. I'm thinking of either encryption the devices directly via geli and then making a zfs pool of the foo.eli devices once they're "geli attach"ed (zfs on geli) or making a zfs pool of the unencrypted devices and providing a zvol from the pool as a raw device which I can then use geli to encrypt, and lay a ufs (or even another zfs) filesystem down on this (geli on zfs). While zfs on geli is less complex (in the sense that geli on zfs involves two layers of filesystems), I'm concerned as to whether encrypting the device will somehow affect zfs' ability to detect silent corruption, self-heal, or in any other way adversely affect zfs' functionality. In my mind, if I use geli on zfs, then I've got zfs directly on a device and the zvol it's providing will be transparently gaining the benefits of zfs' various features, providing a "safety layer" against device failure and silent corruption that I'm not sure if geli would detect. In a simpler sense, the question is this: if there is some damage to the device that zfs could putatively work around, if I were to have geli directly on that device, is it the case that geli would _not_ provide this protection and the device would be less robust than if it had had zfs directly on it? If this is not the case, then it seems clear to me that the less complicated zfs on geli route is the way to go, but I'm curious if anyone has any input on this. Thanks! Todd