标签: zfsonlinux

如何执行 zfs 池的增量/连续备份?

zfs 池如何在异地连续/增量备份?

我认识到send/receive通过 ssh 是一种方法,但是它涉及必须手动管理快照。

我发现了一些工具,但大多数不再受支持。

一个看起来很有希望的工具是https://github.com/jimsalterjrs/sanoid但是我担心非广为人知的工具可能弊大于利,因为它可能会损坏/删除数据。

如何执行连续/增量 zfs 备份?

backup zfs incremental-backup zfsonlinux

30
推荐指数
2
解决办法
4万
查看次数

清除健康池中的永久 ZFS 错误

我今天擦洗了我的游泳池,擦洗完成后,我注意到有一个错误损坏了文件。我不在乎这个文件,所以我删除了它。不幸的是,错误仍然存​​在(现在由十六进制 ID 而不是文件名引用),我不知道如何清除它。

  • 我应该担心吗?我还没有真正摆脱这个错误吗?
  • 我可以清除错误吗?如果文件不见了,我真的不想在以后看到这个错误。

作为参考,这里是我发出的命令和输出,带有注释:

检查状态

kevin@atlas:~$ sudo zpool status -v

pool: zstorage
state: ONLINE
status: One or more devices has experienced an error resulting in data
    corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
    entire pool from backup.
see: zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub repaired 1.81M in 7h19m with 1 errors on Wed Feb 19 10:04:44 2014
config:

    NAME                                          STATE     READ WRITE CKSUM
    zstorage                                      ONLINE       0     0     0
    raidz1-0                                    ONLINE       0     0 …
Run Code Online (Sandbox Code Playgroud)

zfs zfsonlinux

27
推荐指数
2
解决办法
3万
查看次数

如果 RAID5 系统在重建期间遇到 URE,是否会丢失所有数据?

我理解关于更大的驱动器在重建期间遇到 URE 的可能性增加的论点,但是我不确定这的实际影响是什么。这个答案说整个重建失败,但这是否意味着所有数据都无法访问?为什么会这样?当然,来自驱动器上单个扇区的单个 URE 最多只会影响与几个文件相关的数据。阵列不会仍然被重建,只是对一些文件有一些轻微的损坏吗?

(我在这里对 ZFS 的 RAID5 实现特别感兴趣,但对于任何 RAID5 实现,逻辑似乎都相同。)

raid zfs zfsonlinux

25
推荐指数
2
解决办法
3412
查看次数

为什么在 Linux 上的 ZFS 上不支持 arc_max 设置?

我在 Ubuntu 12.04 上从他们的 PPA运行 ZoL 0.6.2 。它位于具有 16GB 内存的主机上,旨在使用 KVM/Libvirt 运行一些 VM。一段时间后,ZoL 使用了大量内存,在某些 VM 运行时达到了 98% 的 RAM 使用率。这导致新进程拒绝启动“无法分配内存”。我什至无法再启动我所有的 VM,在使用 ZFS 之前,它们使用了大约 40-50% 的 RAM。

据我了解,无需调整,一旦系统内存不足,ZoL 应该立即释放内存。好吧,它没有。所以我决定将设置arc_max设置为 1GB。

# echo 1073741824 >> /sys/module/zfs/parameters/zfs_arc_max
Run Code Online (Sandbox Code Playgroud)

尽管如此,它不会释放任何内存。

正如您从下面的 ARC 统计数据中看到的,它使用的内存比配置的要多(比较c=7572030912c_max= 1073741824)。

我在这里做错了什么?

# cat /proc/spl/kstat/zfs/arcstats
4 1 0x01 84 4032 43757119584 392054268420115
name                            type data
hits                            4    28057644
misses                          4    13975282
demand_data_hits                4    19632274
demand_data_misses              4    571809
demand_metadata_hits            4    6333604
demand_metadata_misses …
Run Code Online (Sandbox Code Playgroud)

zfsonlinux

22
推荐指数
2
解决办法
5万
查看次数

哪个文件系统适用于大型 LVM 磁盘 (8 TB)?

我有一个带有许多 2 TB 磁盘的 Linux 服务器,目前都在一个 LVM 中,导致大约 10 TB 的空间。我在 ext4 分区上使用了所有这些空间,目前有大约 8.8 TB 的数据。

问题是,我的磁盘经常出现错误,即使我更换(也就是说,我用 dd 将旧磁盘复制到新磁盘,然后我将新磁盘放入服务器),一旦出现错误,它们,我经常会收到大约 100 MB 的损坏数据。这使得 e2fsck 每次都变得疯狂,并且通常需要一周时间才能让 ext4 文件系统再次处于正常状态。

所以问题是:您建议我将什么用作 LVM 上的文件系统? 或者你会推荐我做什么(我真的不需要 LVM)?

我的文件系统的配置文件:

  • 许多不同总大小的文件夹(有些总计 2 TB,有些总计 100 MB)
  • 近 200,000 个不同大小的文件(其中 3/4 大约为 10 MB,1/4 在 100 MB 和 4 GB 之间;我目前无法获得更多关于文件的统计信息,因为我的 ext4 分区已经完全损坏了几天)
  • 读多但写少
  • 而且我需要容错(我停止使用 mdadm RAID 因为它不喜欢在整个磁盘上出现一个错误,而且我有时会出现故障磁盘,我会尽快更换,但这意味着我可以在我的文件系统)

主要问题是磁盘故障。我可以丢失一些文件,但我不能同时丢失所有文件。

如果我继续使用 ext4,我听说我最好尝试制作更小的文件系统并以某种方式“合并”它们,但我不知道如何。

我听说 btrfs 会很好,但我找不到任何关于它如何在不复制数据(mkfs.btrfs -d single?)时丢失磁盘的一部分(或整个磁盘)的线索。

欢迎任何有关该问题的建议,提前致谢!

filesystems ext4 lvm btrfs zfsonlinux

21
推荐指数
5
解决办法
7114
查看次数

为什么`zfs list` 和`zpool list` 报告我的raidz2 池的大小非常不同?

我有一个带有 8 个 zpools 的 ZFS 服务器。每个池是 12 个 6TB 磁盘,采用 10+2 RAIDZ 配置。因此,每个池的原始存储空间为 12*6=72 TB,可用空间为 10*6=60 TB。但是,当我使用zfs listvs. using查询它时,我看到不同的结果zpool list,如下所示:

# zfs list
NAME     USED  AVAIL  REFER  MOUNTPOINT
intp1    631K  48.0T   219K  /intp1
intp2    631K  48.0T   219K  /intp2
intp3    631K  48.0T   219K  /intp3
jbodp4   631K  48.0T   219K  /jbodp4

# zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
intp1     65T  1.02M  65.0T         -     0%     0%  1.00x  ONLINE  -
intp2     65T  1020K  65.0T …
Run Code Online (Sandbox Code Playgroud)

zfs zfsonlinux

15
推荐指数
1
解决办法
1万
查看次数

为什么我的 ZFS 池没有在 Linux 上使用 ZFS 扩展?

我在内核 2.6.32-431.11.2.el6.x86_64 下的 linux 上有一个 ZFS zpool,它有一个 vdev。vdev 是一个 SAN 设备。我扩展了 SAN 的大小,尽管 zpool 已autoexpand设置为on,即使在重新启动机器、导出/导入池并使用 之后zpool online -e,我也无法扩展池。我确信 vdev 更大,因为fdisk显示它已从 215GiB 增加到 250GiB。这是我所做的示例:

[root@timestandstill ~]# zpool list
NAME          SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
dfbackup      214G   207G  7.49G    96%  1.00x  ONLINE  -
[root@timestandstill ~]# zpool import -d /dev/disk/by-id/
   pool: dfbackup
     id: 12129781223864362535
  state: ONLINE
 action: The pool can be imported using its name or numeric identifier.
 config:

    dfbackup             ONLINE
      virtio-sbs-XLPH83  ONLINE …
Run Code Online (Sandbox Code Playgroud)

linux zfs zfsonlinux

14
推荐指数
2
解决办法
2万
查看次数

ZFS 数据集在重新启动时消失


我已经在 Centos 7 中安装了 ZFS(0.6.5) 并且我还创建了一个 zpool,除了我的数据集在重新启动时消失之外,一切正常。
我一直在尝试借助各种在线资源和博客来调试此问题,但无法获得理想的结果。
重新启动后,当我发出zfs list命令时,我得到"no datasets available",并zpool list给出了"no pools available" 经过大量在线研究,我可以通过使用zpool import -c cachefile手动导入缓存文件来使其工作,但是我仍然必须在重新启动之前运行zpool set cachefile=/etc/zfs/zpool.cache Pool以便在重新启动后稍后导入它。

这是什么systemctl status zfs-import-cache 好像,

zfs-import-cache.service - Import ZFS pools by cache file Loaded: loaded (/usr/lib/systemd/system/zfs-import-cache.service; static) Active: inactive (dead)

cat /etc/sysconfig/zfs

# ZoL userland configuration.

# Run `zfs mount -a` during system start?
ZFS_MOUNT='yes'

# Run `zfs unmount -a` during system stop?
ZFS_UNMOUNT='yes'

# Run `zfs …
Run Code Online (Sandbox Code Playgroud)

linux zfs zfsonlinux centos7

14
推荐指数
2
解决办法
4万
查看次数

为什么重新启动会导致我的 ZFS 镜像的一侧变为 UNAVAIL?

我最近刚刚将批量数据存储池(ZFS On Linux 0.6.2,Debian Wheezy)从单设备 vdev 配置迁移到双向镜像 vdev 配置。

之前的池配置是:

    NAME                     STATE     READ WRITE CKSUM
    akita                    ONLINE       0     0     0
      ST4000NM0033-Z1Z1A0LQ  ONLINE       0     0     0
Run Code Online (Sandbox Code Playgroud)

resilver 完成后一切正常(我在 resilver 完成后启动了清理,只是为了让系统再次检查所有内容并确保一切正常):

  pool: akita
 state: ONLINE
  scan: scrub repaired 0 in 6h26m with 0 errors on Sat May 17 06:16:06 2014
config:

        NAME                       STATE     READ WRITE CKSUM
        akita                      ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            ST4000NM0033-Z1Z1A0LQ  ONLINE       0     0     0
            ST4000NM0033-Z1Z333ZA  ONLINE       0     0     0

errors: No known data errors
Run Code Online (Sandbox Code Playgroud)

然而,在重新启动后,我收到一封电子邮件,通知我游泳池不漂亮而且花花公子。我看了一下,这就是我看到的: …

linux zfs mirror udev zfsonlinux

13
推荐指数
1
解决办法
2796
查看次数

ZFS 校验和错误,何时更换驱动器?

我对 ZFS 还很陌生,我有一个带有 8 个驱动器的简单镜像存储池设置。运行了几周后,一个驱动器似乎产生了很多错误,所以我更换了它。

又过了几个星期,现在我看到池周围出现了小错误(见zpool status下面的输出)。我应该担心这个吗?如何确定错误是否指示需要更换驱动器?

# zpool status
  pool: storage
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE …
Run Code Online (Sandbox Code Playgroud)

zfs hard-drive zfsonlinux

13
推荐指数
2
解决办法
1万
查看次数