From owner-freebsd-fs@freebsd.org Wed Aug 17 09:05:51 2016 Return-Path: Delivered-To: freebsd-fs@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 7E904BBC258 for ; Wed, 17 Aug 2016 09:05:51 +0000 (UTC) (envelope-from juergen.gotteswinter@internetx.com) Received: from mx1.internetx.com (mx1.internetx.com [62.116.129.39]) by mx1.freebsd.org (Postfix) with ESMTP id 121D21CE0 for ; Wed, 17 Aug 2016 09:05:50 +0000 (UTC) (envelope-from juergen.gotteswinter@internetx.com) Received: from localhost (localhost [127.0.0.1]) by mx1.internetx.com (Postfix) with ESMTP id 0AFB945FC0FB; Wed, 17 Aug 2016 11:05:49 +0200 (CEST) X-Virus-Scanned: InterNetX GmbH amavisd-new at ix-mailer.internetx.de Received: from mx1.internetx.com ([62.116.129.39]) by localhost (ix-mailer.internetx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5tJoAb6RKY8e; Wed, 17 Aug 2016 11:05:46 +0200 (CEST) Received: from [192.168.100.26] (pizza.internetx.de [62.116.129.3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.internetx.com (Postfix) with ESMTPSA id 9E15A4C4C89E; Wed, 17 Aug 2016 11:05:46 +0200 (CEST) Reply-To: juergen.gotteswinter@internetx.com Subject: Re: HAST + ZFS + NFS + CARP References: <65906F84-CFFC-40E9-8236-56AFB6BE2DE1@ixsystems.com> <61283600-A41A-4A8A-92F9-7FAFF54DD175@ixsystems.com> <20160704183643.GI41276@mordor.lan> <20160704193131.GJ41276@mordor.lan> <20160811091016.GI70364@mordor.lan> <1AA52221-9B04-4CF6-97A3-D2C2B330B7F9@sarenet.es> <472bc879-977f-8c4c-c91a-84cc61efcd86@internetx.com> <20160817085413.GE22506@mordor.lan> To: Julien Cigar Cc: Borja Marcos , freebsd-fs@freebsd.org From: InterNetX - Juergen Gotteswinter Organization: InterNetX GmbH Message-ID: <465bdec5-45b7-8a1d-d580-329ab6d4881b@internetx.com> Date: Wed, 17 Aug 2016 11:05:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160817085413.GE22506@mordor.lan> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Aug 2016 09:05:51 -0000 Am 17.08.2016 um 10:54 schrieb Julien Cigar: > On Wed, Aug 17, 2016 at 09:25:30AM +0200, InterNetX - Juergen Gotteswinter wrote: >> >> >> Am 11.08.2016 um 11:24 schrieb Borja Marcos: >>> >>>> On 11 Aug 2016, at 11:10, Julien Cigar wrote: >>>> >>>> As I said in a previous post I tested the zfs send/receive approach (with >>>> zrep) and it works (more or less) perfectly.. so I concur in all what you >>>> said, especially about off-site replicate and synchronous replication. >>>> >>>> Out of curiosity I'm also testing a ZFS + iSCSI + CARP at the moment, >>>> I'm in the early tests, haven't done any heavy writes yet, but ATM it >>>> works as expected, I havent' managed to corrupt the zpool. >>> >>> I must be too old school, but I don’t quite like the idea of using an essentially unreliable transport >>> (Ethernet) for low-level filesystem operations. >>> >>> In case something went wrong, that approach could risk corrupting a pool. Although, frankly, >>> ZFS is extremely resilient. One of mine even survived a SAS HBA problem that caused some >>> silent corruption. >> >> try dual split import :D i mean, zpool -f import on 2 machines hooked up >> to the same disk chassis. > > Yes this is the first thing on the list to avoid .. :) > > I'm still busy to test the whole setup here, including the > MASTER -> BACKUP failover script (CARP), but I think you can prevent > that thanks to: > > - As long as ctld is running on the BACKUP the disks are locked > and you can't import the pool (even with -f) for ex (filer2 is the > BACKUP): > https://gist.github.com/silenius/f9536e081d473ba4fddd50f59c56b58f > > - The shared pool should not be mounted at boot, and you should ensure > that the failover script is not executed during boot time too: this is > to handle the case wherein both machines turn off and/or re-ignite at > the same time. Indeed, the CARP interface can "flip" it's status if both > machines are powered on at the same time, for ex: > https://gist.github.com/silenius/344c3e998a1889f988fdfc3ceba57aaf and > you will have a split-brain scenario > > - Sometimes you'll need to reboot the MASTER for some $reasons > (freebsd-update, etc) and the MASTER -> BACKUP switch should not > happen, this can be handled with a trigger file or something like that > > - I've still have to check if the order is OK, but I think that as long > as you shutdown the replication interface and that you adapt the > advskew (including the config file) of the CARP interface before the > zpool import -f in the failover script you can be relatively confident > that nothing will be written on the iSCSI targets > > - A zpool scrub should be run at regular intervals > > This is my MASTER -> BACKUP CARP script ATM > https://gist.github.com/silenius/7f6ee8030eb6b923affb655a259bfef7 > > Julien > 100€ question without detailed looking at that script. yes from a first view its super simple, but: why are solutions like rsf-1 such more powerful / featurerich. Theres a reason for, which is that they try to cover every possible situation (which makes more than sense for this). That script works for sure, within very limited cases imho >> >> kaboom, really ugly kaboom. thats what is very likely to happen sooner >> or later especially when it comes to homegrown automatism solutions. >> even the commercial parts where much more time/work goes into such >> solutions fail in a regular manner >> >>> >>> The advantage of ZFS send/receive of datasets is, however, that you can consider it >>> essentially atomic. A transport corruption should not cause trouble (apart from a failed >>> "zfs receive") and with snapshot retention you can even roll back. You can’t roll back >>> zpool replications :) >>> >>> ZFS receive does a lot of sanity checks as well. As long as your zfs receive doesn’t involve a rollback >>> to the latest snapshot, it won’t destroy anything by mistake. Just make sure that your replica datasets >>> aren’t mounted and zfs receive won’t complain. >>> >>> >>> Cheers, >>> >>> >>> >>> >>> Borja. >>> >>> >>> >>> _______________________________________________ >>> freebsd-fs@freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs >>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >>> >> _______________________________________________ >> freebsd-fs@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-fs >> To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >