From owner-freebsd-geom@FreeBSD.ORG Sun Sep 7 16:37:53 2008 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC4BB1065674 for ; Sun, 7 Sep 2008 16:37:53 +0000 (UTC) (envelope-from daniel.scheibli@edelbyte.org) Received: from m61s16.vlinux.de (m61s16.vlinux.de [83.151.21.178]) by mx1.freebsd.org (Postfix) with ESMTP id B93C18FC17 for ; Sun, 7 Sep 2008 16:37:53 +0000 (UTC) (envelope-from daniel.scheibli@edelbyte.org) Received: from [127.0.0.1] (localhost [127.0.0.1]) by m61s16.vlinux.de (Postfix) with ESMTP id EEE73288F1 for ; Sun, 7 Sep 2008 16:08:45 +0000 (UTC) Message-ID: <48C47AD0.50905@edelbyte.org> Date: Sun, 07 Sep 2008 18:07:28 -0700 From: Daniel Scheibli User-Agent: Thunderbird 2.0.0.16 (X11/20080707) MIME-Version: 1.0 To: freebsd-geom@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Interaction of geom_vinum & geom_eli X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Sep 2008 16:37:54 -0000 Hi all, I'am currently considering setting up a FreeBSD based file server using geom_vinum and geom_eli. The stackable approach of GEOM sounds very powerful, so I would like to better understand (a) if the planned setup is sound and (b) how the classes would interact in case of an error. The configuration I'am looking for is the following stack: o UFS2 on top of the crypted RAID volume o geom_eli on top of the RAID volume (encrytion only, no data authentication) o geom_vinum on top - spanning all 4 disks (RAID5 setup) o geom_eli on top - separate for each disk (no encryption, only data authentication) o 4x 750 GB HDD (2x PATA, 2x SATA) So the intention is to use geom_eli on the device level to detect bit rot like errors. On the SW RAID level it is used to encrypt all data. Reading geli(8), the data authentication section at the end states that "When data corruption/modification is detected, geli will not return any data, but instead will return an error (EINVAL)." My question is how does geom_vinum react on this? I suspect it will reconstruct the data from the parity written to the other disks to service the request. But how is the disk - with the corrupt block - handled? Is the entire disk marked as bad? Or does it only mark that single block? Does it attempt to rewrite the corrupt data with the reconstructed data? Thank you very much Daniel