From owner-freebsd-questions@freebsd.org Tue Sep 27 08:53:29 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AA005BE9B85 for ; Tue, 27 Sep 2016 08:53:29 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) Received: from relay2.tomsk.ru (mail.sibptus.tomsk.ru [212.73.124.5]) by mx1.freebsd.org (Postfix) with ESMTP id D9A208AD for ; Tue, 27 Sep 2016 08:53:28 +0000 (UTC) (envelope-from vas@mpeks.tomsk.su) X-Virus-Scanned: by clamd daemon 0.98.5_1 for FreeBSD at relay2.tomsk.ru Received: from [212.73.125.240] (HELO admin.sibptus.transneft.ru) by relay2.tomsk.ru (CommuniGate Pro SMTP 5.1.16) with ESMTPS id 39361858; Tue, 27 Sep 2016 14:53:06 +0600 Received: from admin.sibptus.transneft.ru (sudakov@localhost [127.0.0.1]) by admin.sibptus.transneft.ru (8.14.9/8.14.9) with ESMTP id u8R8rPAn097124; Tue, 27 Sep 2016 15:53:25 +0700 (KRAT) (envelope-from vas@mpeks.tomsk.su) Received: (from sudakov@localhost) by admin.sibptus.transneft.ru (8.14.9/8.14.9/Submit) id u8R8rMWY097121; Tue, 27 Sep 2016 15:53:22 +0700 (KRAT) (envelope-from vas@mpeks.tomsk.su) X-Authentication-Warning: admin.sibptus.transneft.ru: sudakov set sender to vas@mpeks.tomsk.su using -f Date: Tue, 27 Sep 2016 15:53:22 +0700 From: Victor Sudakov To: Mike Tancsa Cc: freebsd-questions@freebsd.org Subject: Re: complete clone/restore from a ZFS-based system replication stream Message-ID: <20160927085322.GA96393@admin.sibptus.transneft.ru> References: <20160926154720.GA75556@admin.sibptus.transneft.ru> <688eec35-bc7b-ae05-b765-106933b522d1@sentex.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <688eec35-bc7b-ae05-b765-106933b522d1@sentex.net> Organization: AO "Svyaztransneft", SibPTUS X-PGP-Key: http://www.dreamwidth.org/pubkey?user=victor_sudakov X-PGP-Fingerprint: 10E3 1171 1273 E007 C2E9 3532 0DA4 F259 9B5E C634 User-Agent: Mutt/1.6.1 (2016-04-27) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Sep 2016 08:53:29 -0000 Mike Tancsa wrote: > > > > I have a complete dump of a working system created by > > 'zfs send -Rv zroot@test1 > test1.zfs '. I think it's called a > > replication stream package. I also have a new hard drive. Then I > > create the freebsd-boot, freebsd-swap and freebsd-zfs partitions on > > the new drive, install the bootloader on it. > > > > Now what command exactly do I use to restore the system from > > test1.zfs? I have tried "zfs receive" with different combinations of > > options but each time I and with some error message like "destination > > exists..." > > > > Please refer me to a good howto on restoring a system from a > > replication stream package. > > Here are the steps I used to restore a "level zero" zfs file onto a > new/fresh mirror. [dd] > > #make sure /mnt2 exists > zpool create -f -o altroot=/mnt2 -O canmount=off -m none zroot mirror > /dev/ada0p3 /dev/ada1p3 > > gzcat /mnt/zroot-.0.gz | zfs recv -vF zroot Mike, that's very useful information, thank you very much. However, there are a couple of questions left. 1. When you boot from this pool later on a restored system, don't the "-o altroot=/mnt2 -O canmount=off" options prevent it from working normally? I gather that "altroot" is not persistent across reboots, but "canmount" probably is. 2. If you wanted to check "zfs recv" without actually restoring it, what what you do? I keep getting the "cannot receive incremental stream" error: # zpool create -f -o altroot=/mnt2 -O canmount=off -m none foobar1 /dev/vtbd2 # zfs receive -vFn foobar1 < /mnt/test1.zfs would receive full stream of zroot@test1 into foobar1@test1 would receive full stream of zroot/var@test1 into foobar1/var@test1 would receive full stream of zroot/var/mail@test1 into foobar1/var/mail@test1 would receive full stream of zroot/var/crash@test1 into foobar1/var/crash@test1 would receive full stream of zroot/var/tmp@test1 into foobar1/var/tmp@test1 would receive full stream of zroot/var/audit@test1 into foobar1/var/audit@test1 would receive full stream of zroot/var/log@test1 into foobar1/var/log@test1 would receive full stream of zroot/tmp@test1 into foobar1/tmp@test1 would receive full stream of zroot/ROOT@test1 into foobar1/ROOT@test1 would receive full stream of zroot/ROOT/test1@2016-08-22-21:58:22 into foobar1/ROOT/test1@2016-08-22-21:58:22 cannot receive incremental stream: destination 'foobar1/ROOT/test1' does not exist # > > #import it, but its probably already there so dont worry about the error > zpool import -f -o altroot=/mnt2 zroot > zpool set bootfs=zroot/ROOT/default zroot > > ... You should now be able to boot off the restored mirror. -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru