From owner-freebsd-fs@FreeBSD.ORG Mon Sep 9 17:23:26 2013 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 5FB0AC00 for ; Mon, 9 Sep 2013 17:23:26 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: from mail-qc0-x22b.google.com (mail-qc0-x22b.google.com [IPv6:2607:f8b0:400d:c01::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 1F83E26BE for ; Mon, 9 Sep 2013 17:23:26 +0000 (UTC) Received: by mail-qc0-f171.google.com with SMTP id x19so2954423qcw.16 for ; Mon, 09 Sep 2013 10:23:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=f/FGVYnJ3VoEigs3A615MmhQN15BSvx+wr9vt3qbl28=; b=HDahdIWr85mgQL0x+93V8BX8kWjfcOAcbrrltEruEGRWGJZ8u6++A4AgaJkzWTLrQV c/2caq7oQrux/j3I7r0jP6mkrmDI8PSI5eT3WPUDmupmvrp3is6W5clb6zzQiyv2O6Eb j2sBJxX1INkkvD4zPorVsaQBollJagRh0X5qpoaReSVJhrUdIIBneZU5B2VLexFDAMID 5YAnhqMVo0+s90+6BcfAjFzPHOAuBLXD6qn00TD0JGzF9SHGrzLzUmAuvQEvjMIkfR4Q iH/aRp351ajKNHPDrX7OqdfR6bCFHq/iJZ87zoWfZnkaDjEnGVEw6GGngqPPF5dGo/HI EHPQ== MIME-Version: 1.0 X-Received: by 10.49.109.170 with SMTP id ht10mr25394014qeb.27.1378747405021; Mon, 09 Sep 2013 10:23:25 -0700 (PDT) Received: by 10.49.39.33 with HTTP; Mon, 9 Sep 2013 10:23:24 -0700 (PDT) In-Reply-To: References: <522D67DB.7060404@infracaninophile.co.uk> Date: Mon, 9 Sep 2013 10:23:24 -0700 Message-ID: Subject: Re: zfs_enable vs zfs_load in loader.conf (but neither works) From: Freddie Cash To: J David Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: FreeBSD FS X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Sep 2013 17:23:26 -0000 On Mon, Sep 9, 2013 at 10:15 AM, J David wrote: > On Mon, Sep 9, 2013 at 8:55 AM, krad wrote: > > you will find without 'zfs_enable="YES" ' set a lot of the zfs datasets > > might not get mounted > > Matthew has the same understanding of this that I do: zfs_load goes in > loader.conf and zfs_enable goes in rc.conf. > > zfs_load causes the loader to load zfs.ko and opensolaris.ko so that > the kernel can access the zpool (e.g. to mount the root filesystem) > after /boot/zfsloader finishes. > > zfs_enable in rc.conf activates the /etc/rc.d/zfs and /etc/rc.d/zvol > scripts. (And tweaks mountd on nfs servers.) > > There are several online ZFS-root recipies that say differently > (mainly that using zfs_load has been replaced by zfs_enable in > loader.conf), but I haven't found any authoritative references that > support that. Have you? (Also, it doesn't work in testing; the two > .ko's aren't loaded if zfs_load is not present.) > > In the absence of new info, that seems like the right way to do it. > > Things get sticky when it comes to establishing the ZFS root > filesystem. There are at least four ways to go about it: > > 1) Set vfs.root.mountfrom="zfs:data/root" in loader.conf. > 2) Run "zpool set bootfs=data/root data" on the pool. > 3) Run "zfs set mountpoint=/ data/root" on the root filesystem. > 4) Run "zfs set mountpoint=legacy data/root" on the root filesystem > and an /etc/fstab entry. > > Unfortunately, some of these are not sufficient by themselves, or they > don't work at all. So the question is, for 9.2, which (combination > of?) these is the authoritatively correct way to identify the ZFS root > filesystem? > > And, for the sake of release engineering, how does 9.2 differ from 9.1 > in this regard? > The following works on my 9.2-STABLE system (upgraded from 9.1 without any changes): /boot/loader.conf: zfs_load="YES" vfs.root.mountfrom="zfs:pool/ROOT/default" /etc/rc.conf: zfs_enable="YES" zpool get bootfs pool: NAME PROPERTY VALUE SOURCE pool bootfs pool/ROOT/default local zfs get mountpoint pool/ROOT/default: NAME PROPERTY VALUE SOURCE pool/ROOT/default mountpoint legacy local /etc/fstab is completely empty. The above works with or without beadm installed from ports, but is fully supported by beadm making upgrades much simpler. With gptzfsloader installed as the boot loader, due to using GPT to partition the disks in the pool. There are 4x harddrives in the pool, configured as two mirror vdevs (no log or cache devices). -- Freddie Cash fjwcash@gmail.com