HAST + ZFS + NFS + CARP

Julien Cigar julien at perdition.city
Wed Aug 17 11:33:45 UTC 2016


On Wed, Aug 17, 2016 at 11:52:22AM +0200, Julien Cigar wrote:
> On Wed, Aug 17, 2016 at 11:05:46AM +0200, InterNetX - Juergen Gotteswinter wrote:
> > 
> > 
> > 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 <julien at perdition.city> 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).
> 
> I've never used "rsf-1" so I can't say much more about it, but I have 
> no doubts about it's ability to handle "complex situations", where 
> multiple nodes / networks are involved.

BTW for simple cases (two nodes, same network, one active node, ...) we
could use both: ZFS + iSCSI + CARP on the two nodes, and 
zfs send|zfs receive on a third one

> 
> > 
> > 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 at freebsd.org mailing list
> > >>> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
> > >>> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
> > >>>
> > >> _______________________________________________
> > >> freebsd-fs at freebsd.org mailing list
> > >> https://lists.freebsd.org/mailman/listinfo/freebsd-fs
> > >> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"
> > > 
> 
> -- 
> Julien Cigar
> Belgian Biodiversity Platform (http://www.biodiversity.be)
> PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
> No trees were killed in the creation of this message.
> However, many electrons were terribly inconvenienced.



-- 
Julien Cigar
Belgian Biodiversity Platform (http://www.biodiversity.be)
PGP fingerprint: EEF9 F697 4B68 D275 7B11  6A25 B2BB 3710 A204 23C0
No trees were killed in the creation of this message.
However, many electrons were terribly inconvenienced.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20160817/187396a4/attachment.sig>


More information about the freebsd-fs mailing list