我正在运行带有 ZFS 的 Linux Mint 20.3(包括/
)。直到最近,每当我安装或删除软件包时,它都会创建一个快照,以便我在启动时选择它来恢复可能破坏系统的更改。
但该系统似乎存在一个限制,无法处理大量(1200+)快照。我再也找不到这个问题了,但它建议运行for dataset in $(zfs list -t snapshot -o name | grep @autozsys); do sudo zfs destroy "$dataset"; done
以删除大多数快照。
由于我不需要这些旧快照,所以我尝试了一下。我无法删除一些快照,因为它们是其他快照的克隆,而且我不知道这是否会让我丢失实时数据,所以我就这么决定了。
后来我了解了zsysctl
管理快照的命令......而且似乎我没有使用该命令而是zfs destroy
直接使用,从而破坏了我的系统。
现在,每当我apt install
或时apt remove
,我都会收到此错误(暂停 30 秒后):ERROR Service took too long to respond. Disconnecting client.
我认为zsysctl
部分原因在于运行zsysctl show
结果列表中的最后一个条目bpool
并且rpool
其日期0001-01-01 00:00:00
明显是错误的:
$ zsysctl show
Name: rpool/ROOT/ubuntu_uyv8gh
ZSys: true
Last Used: current
History:
- Name: rpool/ROOT/ubuntu_uyv8gh@autozsys_nma9lm
Created on: 2022-11-17 17:43:38
- Name: rpool/ROOT/ubuntu_uyv8gh@autozsys_1ayzvs
Created on: 2022-11-14 13:22:37
- Name: rpool/ROOT/ubuntu_uyv8gh@autozsys_yv8nrd
Created on: 2022-11-11 17:13:10
- Name: rpool/ROOT/ubuntu_uyv8gh@autozsys_yu0btn
Created on: 2022-02-15 15:58:44
- Name: rpool/ROOT/ubuntu_6xf31g
Created on: 2021-10-22 17:13:50
Users:
- Name: pierre
History:
- rpool/USERDATA/pierre_gg46xm@autozsys_nma9lm (2022-11-17 17:43:40)
- rpool/USERDATA/pierre_gg46xm@autozsys_m6wubi (2022-11-17 14:29:58)
- rpool/USERDATA/pierre_gg46xm@autozsys_17okng (2022-11-17 11:29:23)
- rpool/USERDATA/pierre_gg46xm@autozsys_dgvgfz (2022-11-17 10:29:19)
- rpool/USERDATA/pierre_gg46xm@autozsys_5mk4hd (2022-11-16 15:55:03)
- rpool/USERDATA/pierre_gg46xm@autozsys_z90d2e (2022-11-16 14:54:03)
- rpool/USERDATA/pierre_gg46xm@autozsys_pfutl5 (2022-11-16 13:54:03)
- rpool/USERDATA/pierre_gg46xm@autozsys_5dfwde (2022-11-16 12:42:58)
- rpool/USERDATA/pierre_gg46xm@autozsys_iuusno (2022-11-16 11:42:54)
- rpool/USERDATA/pierre_gg46xm@autozsys_zzrd7w (2022-11-16 10:41:57)
- rpool/USERDATA/pierre_gg46xm@autozsys_d4kkrw (2022-11-16 09:41:55)
- rpool/USERDATA/pierre_gg46xm@autozsys_2ws9fj (2022-11-15 16:06:23)
- rpool/USERDATA/pierre_gg46xm@autozsys_cfb7iu (2022-11-15 15:06:23)
- rpool/USERDATA/pierre_gg46xm@autozsys_3rcqfi (2022-11-15 13:35:17)
- rpool/USERDATA/pierre_gg46xm@autozsys_56mb7s (2022-11-15 12:07:32)
- rpool/USERDATA/pierre_gg46xm@autozsys_9b068o (2022-11-15 11:06:38)
- rpool/USERDATA/pierre_gg46xm@autozsys_o610qz (2022-11-15 10:06:35)
- rpool/USERDATA/pierre_gg46xm@autozsys_fw4jbj (2022-11-15 08:38:21)
- rpool/USERDATA/pierre_gg46xm@autozsys_j9ow55 (2022-11-14 17:00:43)
- rpool/USERDATA/pierre_gg46xm@autozsys_mfc8hk (2022-11-14 15:59:43)
- rpool/USERDATA/pierre_gg46xm@autozsys_1ayzvs (2022-11-14 13:22:39)
- rpool/USERDATA/pierre_gg46xm@autozsys_y6xypr (2022-11-14 12:57:47)
- rpool/USERDATA/pierre_gg46xm@autozsys_o0aj49 (2022-11-14 11:57:46)
- rpool/USERDATA/pierre_gg46xm@autozsys_iljt6z (2022-11-14 10:57:43)
- rpool/USERDATA/pierre_gg46xm@autozsys_2fmmg5 (2022-11-14 09:56:43)
- rpool/USERDATA/pierre_gg46xm@autozsys_lxkohx (2022-11-14 08:55:51)
- rpool/USERDATA/pierre_gg46xm@autozsys_czv8zx (2022-11-13 16:58:50)
- rpool/USERDATA/pierre_gg46xm@autozsys_8kl96y (2022-11-13 15:57:50)
- rpool/USERDATA/pierre_gg46xm@autozsys_5ks5h8 (2022-11-13 14:56:50)
- rpool/USERDATA/pierre_gg46xm@autozsys_5m7wwk (2022-11-13 13:56:50)
- rpool/USERDATA/pierre_gg46xm@autozsys_40udn4 (2022-11-13 12:28:40)
- rpool/USERDATA/pierre_gg46xm@autozsys_uagprp (2022-11-13 11:28:39)
- rpool/USERDATA/pierre_gg46xm@autozsys_4vbncy (2022-11-13 10:28:39)
- rpool/USERDATA/pierre_gg46xm@autozsys_9buhaa (2022-11-13 09:26:59)
- rpool/USERDATA/pierre_gg46xm@autozsys_92de9m (2022-11-12 14:48:45)
- rpool/USERDATA/pierre_gg46xm@autozsys_x5vgcm (2022-11-12 12:00:12)
- rpool/USERDATA/pierre_gg46xm@autozsys_pm05qo (2022-11-12 10:43:35)
- rpool/USERDATA/pierre_gg46xm@autozsys_kxd0z1 (2022-11-12 09:43:32)
- rpool/USERDATA/pierre_gg46xm@autozsys_welapl (2022-11-11 17:18:27)
- rpool/USERDATA/pierre_gg46xm@autozsys_yv8nrd (2022-11-11 17:13:11)
- rpool/USERDATA/pierre_gg46xm-rpool.ROOT.ubuntu-6xf31g (2022-11-09 07:17:16)
- rpool/USERDATA/pierre_gg46xm@autozsys_yu0btn (2022-02-15 15:58:45)
- rpool/USERDATA/pierre_hntkn5 (0001-01-01 00:00:00)
- Name: root
History:
- rpool/USERDATA/root_gg46xm@autozsys_nma9lm (2022-11-17 17:43:40)
- rpool/USERDATA/root_gg46xm@autozsys_1ayzvs (2022-11-14 13:22:39)
- rpool/USERDATA/root_gg46xm@autozsys_yv8nrd (2022-11-11 17:13:11)
- rpool/USERDATA/root_gg46xm-rpool.ROOT.ubuntu-6xf31g (2022-11-09 07:17:16)
- rpool/USERDATA/root_gg46xm@autozsys_yu0btn (2022-02-15 15:58:45)
- rpool/USERDATA/root_hntkn5 (0001-01-01 00:00:00)
运行zsysctl save -vv
不会提供更多信息:
$ zsysctl save -vv
DEBUG /zsys.Zsys/SaveUserState() call logged as [e560ff96:3c3c6ace]
DEBUG Check if grpc request peer is authorized
DEBUG Polkit call result, authorized: true
DEBUG Didn't receive any information from service in 30s
ERROR Service took too long to respond. Disconnecting client.
我该如何从这种部分损坏的状态中恢复过来?
答案1
您可以使用 删除多个快照%
。
例子:
zfs destroy rpool/USERDATA/pierre_gg46xm@autozsys_nma9lm%autozsys_yv8nrd
这将删除autozsys_nma9lm通过autozsys_yv8nrd。
如果您在 1200 多个快照中混杂了克隆,那么可能值得重新评估设置或将数据分离到特定数据池中。
我看到您使用了zsysctl
。我不熟悉它,但 ZFS 已经精简了两个主要命令;zfs
和zpool
。
这里似乎没有太多用处,zsysctl
因为它肯定会使你的设置复杂化。它可能是一个不必要的抽象,在平台上没有未来.考虑将其删除。
(对于 ZFS 根和大量快照,我想说的是同样的事情)