From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id cPA3F9Y02mSIjgAASxT56A (envelope-from ) for ; Mon, 14 Aug 2023 16:06:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id gCQhF9Y02mSPVAAAauVa8A (envelope-from ) for ; Mon, 14 Aug 2023 16:06:14 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E5B775EE09 for ; Mon, 14 Aug 2023 16:06:13 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1692021974; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=yRHZ58DTX1XvoxE9Oz507SGXjtWLTBWXJAy+n2wMDmc=; b=uOT9+WHCLziDfzeUxUw1/ktQNFNJJwjIIkUeultf0dsO615atFvDcA4x6WHMtoTGnzozzC 602d2uVCdJcbhQx6X25oya4QRH2gzvDYTuTdiQyxGxccFtB9VDgtQo1DcJg9LPKqwezGmn Wt8F4OGBQRpJ/SeO5AuZkw2bPDYCVXpBMI90wbJRW0YWiAEnIfW5bWBNN3ny5PtKy5pB/a 0pI1S/i1qdCmh9ZAAT3G9KcPcobvKSCi9zc6urtWbdpqusAl+aVI4feCLZcuATIGhj7F+0 May4zWtXHiaYG7o/Bur56gk9mAVqXlBuxMUfVidejCrHkuetgpvjgoX0bmzJbg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1692021974; a=rsa-sha256; cv=none; b=CzcIdyJ1x+yjlBnc3+D4X60qZfjgnvbqIOCqb8uzhcHIYKf3F0bE5vl62/jryJz0zyqZHH eJfdrh/Y0rQyPQ1ZLR1Jsouqu6djmYOmD2+AGxTUUdsaJWHSGxj8gHnnPep5hAxVRh7R3F e0PK00vBltZVfKi7+2eVYJe+9NdT63+CWXn/13czo/mNwUPJ+4ZEU7bnPEmZjGDvuQh0pW ZMYn8uUaNwBgGNd5NbuY1bG2nH0Hxp90nD5Bv+d/xUEdJco3Tlb1hOWhwrg+iNv5chmBqJ 05ojzSumH2AX1YYOq4hov+QwCm+AY+o190uUiWW7UUdPL00wKRzUb+tpyYAXZA== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qVYCZ-0007aR-O1; Mon, 14 Aug 2023 10:05:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVYCV-0007a6-JL for guix-devel@gnu.org; Mon, 14 Aug 2023 10:05:44 -0400 Received: from 12.mo581.mail-out.ovh.net ([178.33.107.167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qVYCT-0000at-DD for guix-devel@gnu.org; Mon, 14 Aug 2023 10:05:42 -0400 Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.20.144]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 97CFB230AE for ; Mon, 14 Aug 2023 14:05:36 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-wtxlt (unknown [10.110.115.179]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 4E5C71FE0F for ; Mon, 14 Aug 2023 14:05:36 +0000 (UTC) Received: from ngraves.fr ([37.59.142.95]) by ghost-submission-6684bf9d7b-wtxlt with ESMTPSA id sPg+D7A02mTzBgAARu865Q (envelope-from ) for ; Mon, 14 Aug 2023 14:05:36 +0000 X-OVh-ClientIp: 81.67.140.142 To: guix-devel@gnu.org Subject: btrfs recommended layout for snapshots? Date: Mon, 14 Aug 2023 16:05:35 +0200 Message-ID: <87jztxn2hc.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: text/plain X-Ovh-Tracer-Id: 3796534486894699061 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedruddtgedgjedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvffufffkgggtsehttdertddttddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepuedtuddttdefgfefteelfedufeegvdeggfeugeegvdeuuddvkeffkeelvdeivdegnecuffhomhgrihhnpehsuhhsvgdrtghomhenucfkphepuddvjedrtddrtddruddpkedurdeijedrudegtddrudegvddpfeejrdehledrudegvddrleehnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehguhhigidquggvvhgvlhesghhnuhdrohhrghdpoffvtefjohhsthepmhhoheekuddpmhhouggvpehsmhhtphhouhht Received-SPF: pass client-ip=178.33.107.167; envelope-from=ngraves@ngraves.fr; helo=12.mo581.mail-out.ovh.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves From: Nicolas Graves via "Development of GNU Guix and the GNU System distribution." Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: E5B775EE09 X-Migadu-Scanner: mx1.migadu.com X-Spam-Score: -3.19 X-Migadu-Spam-Score: -3.19 X-TUID: OHuNicRW19zo Hi! I've installed a guix system with btrfs for some time, but I now want to configure it to properly handle snapshots, and there doesn't seem to be a lot of resources about the way to do it properly. What I mean is that by having a simple /root/boot/home/store/log layout doesn't seem to really be adapted to snapshotting regurlarly. The most comprehensive documentation I've found yet about how to do it properly is here : https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-snapper.html#snapper-dir-excludes It explains quite clearly why some subvolumes are better be left alone / not snapshotted. Although this is quite clear, I'm wondering about the implications for a guix system, where basically most of what would be useful to store in a btrfs snapshot is already handled by guix. I guess there are two ways to consider the issue : - either going for a simple layout with / snapshots, with a snapshot of the store and exclusion of the directories listed in the previous link. But that would mean we are regularly snapshotting the store, which is not really useful if we suppose that we can get back what we need with a system / home reconfigure. - either not snapshotting the rootfs / at all, with the hypothesis that we get it back entirely from config files. Is that possible ? Is there information in / (I think of /etc in particular) that is saved, not temporary and not managed by guix system that would justify that we want to snapshot / at all? This would allow to simply care about only a few "user data" directories, and be sure to not miss anything when there's a need to restore the state. I can't find easily a case of successful use of the second configuration, but would be glad to find one, as well as some discussion about what would be a recommended way to secure the state beyond dotfiles. -- Best regards, Nicolas Graves