From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 407391FF164
	for <inbox@lore.proxmox.com>; Fri, 22 Nov 2024 16:58:20 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id EC2E51704A;
	Fri, 22 Nov 2024 16:58:26 +0100 (CET)
Date: Fri, 22 Nov 2024 17:58:16 +0200
To: Max Carrara <m.carrara@proxmox.com>, pve-devel@lists.proxmox.com
References: <b16012bc-d4a9-42ff-b9ba-523649c6cfa6@storpool.com>
 <D4QD7MV07R0N.2YY4SB8VFU3UO@proxmox.com>
 <de35bf0d-5637-40a5-8286-a391807ab1d9@storpool.com>
 <D5RXUIH451HX.QRJI4MEUZWIK@proxmox.com>
In-Reply-To: <D5RXUIH451HX.QRJI4MEUZWIK@proxmox.com>
MIME-Version: 1.0
Message-ID: <mailman.593.1732291106.391.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: Ivaylo Markov via pve-devel <pve-devel@lists.proxmox.com>
Precedence: list
Cc: Ivaylo Markov <ivaylo.markov@storpool.com>
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
Subject: Re: [pve-devel] Proposal: support for atomic snapshot of all VM
 disks at once
Content-Type: multipart/mixed; boundary="===============5371991445929827693=="
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

--===============5371991445929827693==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <ivaylo.markov@storpool.com>
X-Original-To: pve-devel@lists.proxmox.com
Delivered-To: pve-devel@lists.proxmox.com
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by lists.proxmox.com (Postfix) with ESMTPS id 83D25C8C6B
	for <pve-devel@lists.proxmox.com>; Fri, 22 Nov 2024 16:58:25 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 6940D16FC7
	for <pve-devel@lists.proxmox.com>; Fri, 22 Nov 2024 16:58:25 +0100 (CET)
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by firstgate.proxmox.com (Proxmox) with ESMTPS
	for <pve-devel@lists.proxmox.com>; Fri, 22 Nov 2024 16:58:23 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a9aa8895facso378448366b.2
        for <pve-devel@lists.proxmox.com>; Fri, 22 Nov 2024 07:58:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=storpool.com; s=google; t=1732291097; x=1732895897; darn=lists.proxmox.com;
        h=content-transfer-encoding:in-reply-to:organization:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5SGrkoR6naUqFPhZjiiJvfXn2Z3dyyqULT+48xB4v3I=;
        b=SIkkU78YrEDnrsiOUedimB0k3SjuzAnujXsn8gFvh1Zha9veMeRoKvbnJoEHc4YkHg
         CJdyFdzosfJbe1CNS56KODJIiqNZ34aFrImcmeBujCGzY6XVVz/FHWyfXTIFe0YyLJIQ
         iw8aXiQUw0kxROkfTUlUtyljuJ3kBB0TKFbTTWSgSl4ULcIX+XZsdf9+sJVZVlWnLTCz
         ozywsdAs/MNTacGuiufMFXjOvW3ykKUWfWZCWdFDdk96MAB/RrImCQVV1/xQXsPZ85mp
         XR1FI5/u8Bor13jS6/HIYl1oRZthlJx8sshWjLrXcuutwJ7OXArLUlWA8dGpK6a/En5g
         rduA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1732291097; x=1732895897;
        h=content-transfer-encoding:in-reply-to:organization:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5SGrkoR6naUqFPhZjiiJvfXn2Z3dyyqULT+48xB4v3I=;
        b=A7Nv3hWHuJK6sBsdO1QjCToViGowtRVGaB757mS0hBcXd5rrFsr5I5E9pIC2Qh8AdU
         PLOKbVKYOp3xacfwT25X02PQm2r82MpsAPWh2+Ussjs56MxN9ilWypLXeJHsrAPH1HO8
         SBdcvTXL6KB35vT84VksHZ4nORU95NP5Okxd9dpKADo5Jhcg90C17mu+uNWTWU2dLsxy
         CNb+ynS8Klu2XolSpV5E0Vh5KErNUYOA+By0nHIKyOKf5lDEu8TiRjV8y6c+kReAXu7i
         4C1OjzDdkunrdmdHSq7qrE2PBXibSCFzzkOsc0E52M1sr2WCfRLRR0Jkmln30d15xWn7
         4vfQ==
X-Forwarded-Encrypted: i=1; AJvYcCU89wIVMyyNkEfPVHMqdDN1QpwCPRPh12A4A4SfER+D8A1LSpduhg7tW6DGfFQVy52xKesLw44sHz4=@lists.proxmox.com
X-Gm-Message-State: AOJu0YwDo0nIvjBCr6HoU3K6uUTTkInPqhE1R6j7L2ZpdrievcphLJPR
	139gHjS40Z5qTagAsDmD/DeFzcvhuN2A7eQD71jHmEC24zfS+z+zBVK2Q5ktTJ0tzUTJaS18SSA
	AoBc=
X-Gm-Gg: ASbGncshFS7tqvh1K06qVzGy/9dP6NOBWCsKYLuOmN/bbQA/+OTb6V6EkkfsfopO+FN
	yeWGm4uCHVQgQIPvVEMwpmMj/RXUuBy3Ki7hmHps+ZCp1TFXfWf21REJ+pt68v0xF6qmmzIKYJ0
	kl4DaM29eCEXEDYyxWHiX7GBNtTWZxiU3JN0wYbUkQkuNPvnNFzHCvZFty/4mbSOFbjaXBvSJj5
	aBm9zOERSCfPsNIk3kR+3X4090ixSTd2xF9tmgjWJE9N5MUzKmYoIAcc/JDf6RoJPb9b0O0Y23c
	FAvUNeQuBGmUyuzozgYT
X-Google-Smtp-Source: AGHT+IFGIVdTVsterXHZ7mNagal/wROQ5vTMnDp6NCYbwX4GtfZ8/eJRq09yIdqSImHW6WRkDLC/2A==
X-Received: by 2002:a17:906:3ca2:b0:aa5:1757:bdd6 with SMTP id a640c23a62f3a-aa51757befdmr177320766b.7.1732291097280;
        Fri, 22 Nov 2024 07:58:17 -0800 (PST)
Received: from ?IPV6:2001:67c:21bc:e:b4bb:8bba:c9c4:aeb? ([2001:67c:21bc:e:b4bb:8bba:c9c4:aeb])
        by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa50b2eff9asm114714566b.43.2024.11.22.07.58.16
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Fri, 22 Nov 2024 07:58:16 -0800 (PST)
Message-ID: <8539f93e-a890-4dee-95a6-fe7926ceeb48@storpool.com>
Date: Fri, 22 Nov 2024 17:58:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Proposal: support for atomic snapshot of all VM disks at once
To: Max Carrara <m.carrara@proxmox.com>, pve-devel@lists.proxmox.com
References: <b16012bc-d4a9-42ff-b9ba-523649c6cfa6@storpool.com>
 <D4QD7MV07R0N.2YY4SB8VFU3UO@proxmox.com>
 <de35bf0d-5637-40a5-8286-a391807ab1d9@storpool.com>
 <D5RXUIH451HX.QRJI4MEUZWIK@proxmox.com>
Content-Language: en-US
From: Ivaylo Markov <ivaylo.markov@storpool.com>
Organization: StorPool Storage
In-Reply-To: <D5RXUIH451HX.QRJI4MEUZWIK@proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
	AWL                     0.000 Adjusted score from AWL reputation of From: address
	BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
	DKIM_SIGNED               0.1 Message has a DKIM or DK signature, not necessarily valid
	DKIM_VALID               -0.1 Message has at least one valid DKIM or DK signature
	DKIM_VALID_AU            -0.1 Message has a valid DKIM or DK signature from author's domain
	DKIM_VALID_EF            -0.1 Message has a valid DKIM or DK signature from envelope-from domain
	DMARC_PASS               -0.1 DMARC pass policy
	RCVD_IN_DNSWL_NONE     -0.0001 Sender listed at https://www.dnswl.org/, no trust
	SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
	SPF_PASS               -0.001 SPF: sender matches SPF record

Hi,

It's clear now :) My current implementation allows only for group 
snapshots if the storage supports it, and regular sequential snapshots 
otherwise. Due to the considerations around 
application/crash-consistency, it would be best to let the user pick 
(with a default set by the storage plugin/backend?).

On 21/11/2024 16:49, Max Carrara wrote:
> On Wed Nov 20, 2024 at 5:10 PM CET, Ivaylo Markov wrote:
>> Hello,
>>
>> I've been caught up in other things and it's been a while, but as I was
>> collating and testing my proposed changes, I came across this again and
>> thought I'd clarify something.
>>
>> On 08/10/2024 13:50, Max Carrara wrote:
>>>> I was directed here to discuss this proposal and my implementation idea
>>>> after an initial post in Bugzilla[1]. The goal is to give storage
>>>> plugins the option to perform atomic crash-consistent snapshots of the
>>>> virtual disks associated with a virtual machine where the backend
>>>> supports it  (e.g. Ceph, StorPool, and ZFS) without affecting those
>>>> without such a feature.
>>> Since you mentioned that the backends without such a feature won't be
>>> affected, will the disks of the storage types that *do* support it still
>>> be addressable individually? As in: Would it be possible to run both
>>> group snapshots and individual snapshots on a VM's disks? (I'm assuming
>>> that they will, but still wanted to ask.)
>>>
>> Do you mean this this as "you can snapshot the whole VM (all disks) at
>> once *or* each disk individually" or "when making a snapshot of the
>> entire VM, the user can chose between individual/group snapshot of all
>> drives". What I have so far matches the first description, but I just
>> realized you might have meant the second one, so I thought I'd ask and
>> potentially create more work for myself :)
> Hey!
>
> No worries, always feel free to ask :)
>
> I should have phrased myself better there, so I'll try to be as specific
> as possible here. Let me define some terms first:
>
> - regular snapshots: This is how things work currently; a snapshot of
>    each disk of the VM is made after the previous one finishes. In other
>    words, disk snapshots are made *sequentially*. Works for every storage
>    type.
>
> - group snapshots: What you're implementing -- essentially creating a
>    snapshot of *all* disks of a VM at once, atomically. Snapshots of this
>    type are crash-consistent. Only works for storage types that support
>    it.
>
> What I meant to ask was whether *both* options will remain available to
> users. For example, if I click on a VM, then go to Snapshots -> Take
> Snapshot, will I have the option to say whether the snapshot should be a
> group snapshot or a regular snapshot?
>
> I guess calling it "individual" was a bit ambiguous here; I didn't mean
> that I could e.g. snapshot just one disk only (if that's what confused
> you). When performing a snapshot of a VM, a snapshot for *all* disks of
> the VM is *always* made, regardless of whether a regular snapshot or a
> group snapshot is performed on a VM.
>
> I hope all that isn't too long -- just wanted to make sure everything's
> clear! :)
>
>
-- 
Ivaylo Markov
Quality & Automation Engineer
StorPool Storage
https://www.storpool.com



--===============5371991445929827693==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

--===============5371991445929827693==--