ZFS 快照 zd0 块设备

ZFS 快照 zd0 块设备

我正在尝试利用 zfs 快照的功能。稍微解释一下我是如何配置的:

zpool create vol0 mirror /dev/sda /dev/sdb
zfs create -o volblocksize=128K -V 15T vol0/pprovol

我获得了我的 ZFS 卷:

NAME           USED  AVAIL  REFER  MOUNTPOINT
vol0          15.0T  16.6T   100K  /vol0
vol0/pprovol  15.0T  31.6T  1.99G  -

我有一个块设备:

Disk /dev/zd0: 15 TiB, 16492674416640 bytes, 32212254720 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 131072 bytes
I/O size (minimum/optimal): 131072 bytes / 131072 bytes

我将其格式化为 xfs:mkfs.xfs /dev/zd0,并将其安装在我的挂载点上

现在我想为这个 zd0 设备创建快照。这样我就可以回滚对 xfs 文件系统所做的更改。

这可能吗?我该怎么做?

它确实适用于我的 /vol0,但这不是我需要的。希望在这里得到一些帮助!谢谢。

答案1

以下是如何在 ZFS 设置上管理 XFS 上的快照。
(免责声明:在 ZFS 上存储(ppro)数据有更安全、更智能的方法)

  • 拍摄快照。
  • 识别快照。
  • 克隆快照。
  • 挂载克隆的块设备。

当您运行 ZFS 快照时,快照将出现在您的快照列表中:

在此处输入图片描述

从那里,您必须克隆快照以使其可见为块设备。

zfs clone vol1/pprovol2@snap_daily-2016-12-23-2359 vol1/recovery

这将创建一个名为 的新 zfs 文件系统vol1/recovery,并同时创建一个新/dev/zdX设备。dmesg | tail将显示实际的设备名称。它很可能是/dev/zd16

这是你的克隆。如果你想挂载它,只需运行:

mount -t xfs -o nouuid /dev/zd16 /mountpoint

nouuid是必需的,因为克隆的设备具有与原始 XFS 文件系统相同的名称 UUID。

答案2

您可以像对任何其他数据集一样对 ZFS 卷进行快照。不过,您可能需要先冻结文件系统,以确保其处于一致状态。幸运的是,XFS 是少数几个可以轻松实现此操作的文件系统之一

# xfs_freeze -f /mount
# zfs snapshot vol0/pprovol@snap1
# xfs_freeze -u /mount

在大多数 ZFS 系统上,您最终会得到一个...@snapshot设备/dev,尽管我从未在 Linux 上尝试过。您应该能够以只读方式挂载该设备以恢复文件。

如果您只是想完全回滚,您可以卸载实时文件系统,运行zfs rollback,然后再次挂载它。

相关内容