From owner-freebsd-fs@FreeBSD.ORG Wed Dec 17 18:25:54 2008 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4559C1065674 for ; Wed, 17 Dec 2008 18:25:54 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from itchy.rabson.org (unknown [IPv6:2002:50b1:e8f2:1::143]) by mx1.freebsd.org (Postfix) with ESMTP id 024D78FC1C for ; Wed, 17 Dec 2008 18:25:54 +0000 (UTC) (envelope-from dfr@rabson.org) Received: from [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc] (unknown [IPv6:2001:470:909f:1:21b:63ff:feb8:5abc]) by itchy.rabson.org (Postfix) with ESMTP id 8E7A93FB7 for ; Wed, 17 Dec 2008 18:25:25 +0000 (GMT) Message-Id: <9461581F-F354-486D-961D-3FD5B1EF007C@rabson.org> From: Doug Rabson To: freebsd-fs@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.3) Date: Wed, 17 Dec 2008 18:25:51 +0000 X-Mailer: Apple Mail (2.930.3) Subject: Booting from ZFS raidz X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Dec 2008 18:25:54 -0000 I've been working on adding raidz and raidz2 support to the boot code and I have a patch which could use some testing if anyone here is interested. This http://people.freebsd.org/~dfr/ raidzboot-17122008.diff adds support for raidz and raidz2. The easiest way to prepare a bootable pool is to put a GPT boot partition on each disk that will make up the raidz pool and install gptzfsboot on the boot partition of every drive. You can boot from any of the drives and as long as the BIOS can see enough drives you should be able to boot. The boot code supports booting from degraded pools and pools where some of the data is corrupt (as long as it has enough data available to repair the problem). Currently the ZFS kernel code refuses to allow you to set the bootfs pool property on raidz pools (because Solaris can't boot from them). This means that you are limited to booting from the root filesystem of the pool for now (it shouldn't be hard to relax this restriction). The root filesystem of the pool should contain a directory /boot with the usual contents which must include a /boot/loader which was built with the 'LOADER_ZFS_SUPPORT' make option.