From owner-freebsd-fs@freebsd.org Wed Aug 17 21:14:38 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 D109CBBDD43 for ; Wed, 17 Aug 2016 21:14:38 +0000 (UTC) (envelope-from ben.rubson@gmail.com) Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5E3DC1BFD for ; Wed, 17 Aug 2016 21:14:38 +0000 (UTC) (envelope-from ben.rubson@gmail.com) Received: by mail-wm0-x22d.google.com with SMTP id q128so332750wma.1 for ; Wed, 17 Aug 2016 14:14:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=iRwMJh7xj9RZqVd/43NQql03DdsVtfxdT39eMpReWfQ=; b=S0mt3nR4YsAdeBuBq2W6ZdhRmCCQb9ooZ3IEx7DTMs0Fwa6GB4lAY6GpakaFPsLLxw ZVaJE7zx60eThmKeTjzVQwVL5E4XK5nsPm5DOrz5FaqRjYZZkoDvi/RnCfEz8cqprWgN HeXPdJhBmORZkyZkrOm4OxJJLNh5Mo7q2ImvepBI7DE/JzmTxsNX+F2GQfqeoEsvF/k2 1yGSyHUEow7Cn+mkZ2Qpg5a2soLvVARIXoMBm56jbYpvY6o2RZVDHluhkrvbxG5HKoyR jrQ1b7OZdUXllXyi6Fb/Zqq1V6HUV2LdOGyIXgeZ41k6+HFoq6i/F2agG5GRWe0+Jg5a 33Pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=iRwMJh7xj9RZqVd/43NQql03DdsVtfxdT39eMpReWfQ=; b=RyLmWGaJCDV0qtu5VonIxVqDDCRgje6/IgolOQeieJ9kxRGTTLaksGCO0lL2DnVjM9 DOFbWgp9t+xu7DG++CW2G499eVjBq7YIcc6BTosNYM9IecNjGooU5tRDjXwpJIcZRhJx uj5HbgPCj3RLoWghYBcl5zm5lD1c+aDzIDGXLb3Xn0JtW3i5J6AXzvi2/ZM51mOnGwGE P1Q3KaJBSK570bwtcBcRctJbr22YbMxwHjrPR4Kyf+0wGO9jyOeedzWIN9MSmHjDda0R OPYZkZjQsf72N1hMfhsZ1Gg9pbN7sT4N/mffv9sJTvDKdLfVEA8/2UEz0yujRPB35OdX RlrQ== X-Gm-Message-State: AEkoouvkPPofkyRyWZDEJ1yJYPcRnnYA5sZ3j9s3nvJ1mHn4PNY8Fei8ONPHAu3OUdBpKA== X-Received: by 10.194.221.134 with SMTP id qe6mr45663864wjc.165.1471468476428; Wed, 17 Aug 2016 14:14:36 -0700 (PDT) Received: from macbook-air-de-benjamin.home (LFbn-1-7077-85.w90-116.abo.wanadoo.fr. [90.116.246.85]) by smtp.gmail.com with ESMTPSA id a9sm240189wjf.16.2016.08.17.14.14.35 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 17 Aug 2016 14:14:35 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: HAST + ZFS + NFS + CARP From: Ben RUBSON In-Reply-To: <6b866b6e-1ab3-bcc5-151b-653e401742bd@kateley.com> Date: Wed, 17 Aug 2016 23:14:34 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <02F2828E-AB88-4F25-AB73-5EF041BAD36E@gmail.com> References: <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> <465bdec5-45b7-8a1d-d580-329ab6d4881b@internetx.com> <20160817095222.GG22506@mordor.lan> <52d5b687-1351-9ec5-7b67-bfa0be1c8415@kateley.com> <92F4BE3D-E4C1-4E5C-B631-D8F124988A83@gmail.com> <6b866b6e-1ab3-bcc5-151b-653e401742bd@kateley.com> To: freebsd-fs@freebsd.org X-Mailer: Apple Mail (2.3124) 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 21:14:38 -0000 > On 17 Aug 2016, at 20:03, Linda Kateley wrote: >=20 > RSF-1 runs in the zfs stack and send the writes to the second system. Linda, do you have any link to a documentation about this RSF-1 = operation mode ? According to what I red about RSF-1, storage is shared between nodes, = and RSF-1 manages the failover, we do not have 2 different storages. (so I don't really understand how writes are sent to the "second = system") In addition, RSF-1 does not seem to help with long-distance replication = to a different storage. But I may be wrong ? This is where ZFS send/receive helps. Or even a nicer solution I proposed a few weeks ago : = https://www.illumos.org/issues/7166 (but a lot of work to achieve). Ben > On 8/17/16 11:55 AM, Chris Watson wrote: >> Of course, if you are willing to accept some amount of data loss that = opens up a lot more options. :) >>=20 >> Some may find that acceptable though. Like turning off fsync with = PostgreSQL to get much higher throughput. As little no as you are made = *very* aware of the risks. >>=20 >> It's good to have input in this thread from one with more experience = with RSF-1 than the rest of us. You confirm what others have that said = about RSF-1, that it's stable and works well. What were you deploying it = on? >>=20 >> Chris >>=20 >> Sent from my iPhone 5 >>=20 >> On Aug 17, 2016, at 11:18 AM, Linda Kateley > wrote: >>=20 >>> The question I always ask, as an architect, is "can you lose 1 = minute worth of data?" If you can, then batched replication is perfect. = If you can't.. then HA. Every place I have positioned it, rsf-1 has = worked extremely well. If i remember right, it works at the dmu. I would = suggest try it. They have been trying to have a full freebsd solution, I = have several customers running it well. >>>=20 >>> linda >>>=20 >>>=20 >>> On 8/17/16 4:52 AM, Julien Cigar wrote: >>>> On Wed, Aug 17, 2016 at 11:05:46AM +0200, InterNetX - Juergen = Gotteswinter wrote: >>>>>=20 >>>>> Am 17.08.2016 um 10:54 schrieb Julien Cigar: >>>>>> On Wed, Aug 17, 2016 at 09:25:30AM +0200, InterNetX - Juergen = Gotteswinter wrote: >>>>>>>=20 >>>>>>> Am 11.08.2016 um 11:24 schrieb Borja Marcos: >>>>>>>>> On 11 Aug 2016, at 11:10, Julien Cigar > wrote: >>>>>>>>>=20 >>>>>>>>> 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. >>>>>>>>>=20 >>>>>>>>> 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=E2=80=99t quite like the = idea of using an essentially unreliable transport >>>>>>>> (Ethernet) for low-level filesystem operations. >>>>>>>>=20 >>>>>>>> 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 .. :) >>>>>>=20 >>>>>> 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: >>>>>>=20 >>>>>> - 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 >>>>>>=20 >>>>>> - 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 >>>>>>=20 >>>>>> - 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 >>>>>>=20 >>>>>> - 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 >>>>>>=20 >>>>>> - A zpool scrub should be run at regular intervals >>>>>>=20 >>>>>> This is my MASTER -> BACKUP CARP script ATM >>>>>> https://gist.github.com/silenius/7f6ee8030eb6b923affb655a259bfef7 >>>>>>=20 >>>>>> Julien >>>>>>=20 >>>>> 100=E2=82=AC 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. >>>>=20 >>>>> That script works for sure, within very limited cases imho >>>>>=20 >>>>>>> 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 >>>>>>>=20 >>>>>>>> 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=E2=80=99t roll back >>>>>>>> zpool replications :) >>>>>>>>=20 >>>>>>>> ZFS receive does a lot of sanity checks as well. As long as = your zfs receive doesn=E2=80=99t involve a rollback >>>>>>>> to the latest snapshot, it won=E2=80=99t destroy anything by = mistake. Just make sure that your replica datasets >>>>>>>> aren=E2=80=99t mounted and zfs receive won=E2=80=99t complain. >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> Cheers, >>>>>>>>=20 >>>>>>>>=20 >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> Borja. >>>>>>>>=20 >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> _______________________________________________ >>>>>>>> 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 = " >>>>>>>>=20 >>>>>>> _______________________________________________ >>>>>>> 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 = " >>>=20 >>> _______________________________________________ >>> 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 = " >=20 > _______________________________________________ > 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"