From owner-freebsd-virtualization@freebsd.org Thu Jan 28 00:41:57 2021 Return-Path: Delivered-To: freebsd-virtualization@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 599324EEDA5 for ; Thu, 28 Jan 2021 00:41:57 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router10G.digiware.nl (smtp.digiware.nl [176.74.240.9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DR1rN2xyvz3r2b for ; Thu, 28 Jan 2021 00:41:56 +0000 (UTC) (envelope-from wjw@digiware.nl) Received: from router10g.digiware.nl (localhost.digiware.nl [127.0.0.1]) by router10G.digiware.nl (Postfix) with ESMTP id 27BDD35915; Thu, 28 Jan 2021 01:41:55 +0100 (CET) X-Virus-Scanned: amavisd-new at digiware.com Received: from router10G.digiware.nl ([127.0.0.1]) by router10g.digiware.nl (router10g.digiware.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VJjiJ-O9Hlrx; Thu, 28 Jan 2021 01:41:54 +0100 (CET) Received: from [192.168.11.254] (WJW-LAPTOP.digiware.nl [192.168.11.254]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by router10G.digiware.nl (Postfix) with ESMTPSA id 1D3BF35765; Thu, 28 Jan 2021 01:41:54 +0100 (CET) Subject: Re: Warm Migration feature for bhyve - review on Phabricator To: Matt Churchyard , "freebsd-virtualization@freebsd.org" References: <20210125062113.GL31099@funkthat.com> <7769d16522fa49558049f4a6e936982e@SERVER.ad.usd-group.com> <20210125184204.GM31099@funkthat.com> From: Willem Jan Withagen Message-ID: <5c6ff016-e15d-afad-e855-8cfed32276f2@digiware.nl> Date: Thu, 28 Jan 2021 01:42:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0 Thunderbird/68.12.1 MIME-Version: 1.0 In-Reply-To: <20210125184204.GM31099@funkthat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 4DR1rN2xyvz3r2b X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of wjw@digiware.nl designates 176.74.240.9 as permitted sender) smtp.mailfrom=wjw@digiware.nl X-Spamd-Result: default: False [-2.00 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; HFILTER_HELO_IP_A(1.00)[router10g.digiware.nl]; RBL_DBL_DONT_QUERY_IPS(0.00)[176.74.240.9:from]; HFILTER_HELO_NORES_A_OR_MX(0.30)[router10g.digiware.nl]; SPAMHAUS_ZRD(0.00)[176.74.240.9:from:127.0.2.255]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-1.00)[-1.000]; RCPT_COUNT_TWO(0.00)[2]; DMARC_NA(0.00)[digiware.nl]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:28878, ipnet:176.74.224.0/19, country:NL]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-virtualization] X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Jan 2021 00:41:57 -0000 On 25-1-2021 19:42, John-Mark Gurney wrote: > Matt Churchyard wrote this message on Mon, Jan 25, 2021 at 10:46 +0000: >> -----Original Message----- >> From: John-Mark Gurney >> Sent: 25 January 2021 06:21 >> To: Matt Churchyard >> Cc: Elena Mihailescu ; freebsd-virtualization@freebsd.org >> Subject: Re: Warm Migration feature for bhyve - review on Phabricator >> >> Matt Churchyard wrote this message on Fri, Jan 22, 2021 at 10:09 +0000: >>>> Hello, all, >>>> We have recently opened a review on Phabricator for the warm migration code for > bhyve [1]. Please take a look and let us know if it is anything we can improve. >>>> [1] https://reviews.freebsd.org/D28270 >>>> Thank you, >>>> Elena >>> I appreciate that this isn't really related to the current review, and commend the work being put into bhyve - it's an invaluable addition to FreeBSD. I'm just wondering if any thought has been put into the future possibility for transfer of disk data during migration (i.e. the equivalent of "storage vmotion") >>> >>> The current process (from a mile high overview) effectively seems to be the following - >>> >>> * Start guest on host2 pointing at a shared disk, and halt any execution >>> * use bhyvectl to pause and begin migration on host1 >>> * Start the guest on host2 >>> >>> What would be the feasibility of being able to run a process such as the following? Obviously it would likely need to be orchestrated by an external tool, but to me it seems the main requirement is really just to be able to provide separate control over the pause and migrate steps on host1 - >>> >>> * send a ZFS snapshot of the running machine to host2 >>> * start the guest in migrate recv mode on host2 >>> * pause the guest on host1 >>> * send a new snapshot >>> * initiate the migration of memory/device data >>> * start guest on host2 >>> >>> Are there any major complications here I'm not aware of other than the requirement to pause the guest and kick off the state migration as two separate calls? >>> There's also hastd which can aid with this... >> Thanks for the reply. I've always been wary of the additional complexity of HAST and ZFS, as it doesn't seem to have widespread usage or support, and things get ugly fast when storage is involved. > Totally agree... > >> However, the idea of using HAST on top of zvols to provide network mirrored storage for a guest is interesting. It adds a lot of extra complexity, and probably performance impact though if it's just for the ability to move a guest between systems that may only happen every now and then. I'm also not sure it would help (or would at least be even more complex) if I have 4 hosts and want to be able to move guests anywhere. > gmirror + ggate is another option as well... I did try all kinds of these solutions that are based on a 2 system backend storage, and it was relatively easy for me to get the state of the storage in a split-brain situation which is not really repairable without a lot of manual user intervention. So I gave up on HAST and gmirror over ggate. --WjW