标签: zfs

LVM 快照与文件系统快照

据我所知,LVM 可以拍摄卷的快照。还有许多支持快照的文件系统(ZFS、Btrfs、reiserfs 等)。

但是,我一直不明白 LVM 快照和文件系统快照之间的区别。如果可以使用 LVM 拍摄快照,为什么有人要花时间在文件系统中实现它?

编辑:在某些情况下,他们中的任何一个是首选吗?为什么?

zfs lvm snapshot btrfs

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

ZFS 无限重同步

我在 Debian 上有一个大型(> 100TB)ZFS (FUSE) 池,它丢失了两个驱动器。由于驱动器出现故障,我用备件替换它们,直到我可以安排停机并物理更换坏磁盘。

当我关闭系统并更换驱动器时,池开始按预期重新同步,但是当它完成大约 80% 时(这通常需要大约 100 小时),它再次重新启动。

我不确定一次更换两个驱动器是否会造成竞争条件,或者由于池的大小,重新同步器花费的时间太长以至于其他系统进程正在中断它并导致它重新启动,但是在“zpool status”的结果或指向问题的系统日志。

从那以后,我修改了我如何布置这些池以提高重新同步性能,但对让此系统重新投入生产的任何线索或建议表示赞赏。

zpool 状态输出(自上次检查以来,这些错误是新的):

  pool: pod
 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: http://www.sun.com/msg/ZFS-8000-8A
 scrub: resilver in progress for 85h47m, 62.41% done, 51h40m to go
config:

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

zfs debian

30
推荐指数
1
解决办法
6457
查看次数

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

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

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

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

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

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

backup zfs incremental-backup zfsonlinux

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

与 ext4 结合使用的透明压缩文件系统

我正在尝试使用 ext4 文件系统测试需要压缩存储的项目,因为我使用的应用程序依赖于 ext4 功能。

是否有任何用于在 ext4 上进行透明压缩的生产/稳定解决方案?

我尝试过的:

启用压缩的ZFS 卷上的Ext4。这实际上产生了不利影响。我尝试创建一个启用 lz4 压缩的 ZFS 卷,并在 /dev/zvol/... 上创建一个 ext4 文件系统,但 zfs 卷显示实际使用量翻了一番,压缩似乎没有任何效果。

# du -hs /mnt/test
**1.1T**    /mnt/test
# zfs list
NAME        USED  AVAIL  REFER  MOUNTPOINT
pool       15.2T  2.70G   290K  /pool
pool/test  15.2T  13.1T  **2.14T**  -
Run Code Online (Sandbox Code Playgroud)

ZFS 创建命令

zpool create pool raidz2 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde2 /dev/sdf1 /dev/sdg1 /dev/sdh2 /dev/sdi1
zfs set recordsize=128k pool
zfs create -p -V15100GB pool/test
zfs set compression=lz4 pool/test
mkfs.ext4 -m1 -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink …
Run Code Online (Sandbox Code Playgroud)

linux zfs filesystems compression ext4

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

写入速度要求:1.1GB/s 的可能性?

我们将有一台机器在工作,在最佳性能下,每小时应该能够推送50(“写磁头”)x 75GB的数据。这是约 1100MB/s 写入速度的峰值性能。为了从机器上得到它,它需要两条 10GBi 线。我的问题是什么样的服务器+技术可以处理/存储这样的数据流?

目前对于数据存储,我们使用 ZFS,尽管写入速度从来都不是问题。(我们甚至还没有接近这些速度)ZFS(Linux 上的 zfs)会是一个选择吗?我们还需要存储大量数据,“IT 指南”建议总共存储 50-75 TB 之间的数据。因此,除非我们想提供我们的第一个孩子,否则它可能不能全部是 SSD。

基于优秀回复的一些补充:

  • 峰值期间的最大值为 50x75GB/小时,小于 24 小时(很可能 <6 小时)
  • 我们预计这不会很快发生,我们很可能会以 5-10x75GB/小时的速度运行
  • 这是一个 pre-alpha 机器,但是应该满足要求(即使有很多问号在起作用)
  • 我们将使用NFS作为从机器到服务器的连接
  • 布局:生成机 -> 存储(这个) ->(安全突袭 6) -> 计算集群
  • 所以读取速度不是必需的,但是从计算集群中使用它会很好(但这完全是可选的)
  • 很可能是大数据文件(不是很多小文件)

performance zfs storage write

29
推荐指数
2
解决办法
8838
查看次数

Linux 中的 ZFS RAID 和 LUKS 加密

我计划在 Linux 中设置一组 3x 2TB 7200rpm 驱动器作为 LUKS 加密的 Z-RAID 池(用于 NAS 解决方案)。

我对手头问题的理解是,实现这一目标的唯一方法是在luksFormat每个物理设备上,然后从未锁定的 LUKS 容器中组装一个 zpool。

我对此有以下担忧:

  • 它不会显着阻碍写入性能吗?在这种设置中,冗余数据被多次加密,因为 LUKS 不“知道”Z-RAID。在 LUKS-on-mdadm 解决方案中,数据被加密一次,只是多次写入磁盘。我的 CPU 支持 Intel AES-NI。

  • 在设备映射器 LUKS 容器而不是物理设备上运行时,ZFS 会意识到磁盘故障吗?重复数据删除和其他 ZFS 功能怎么样?

linux zfs network-attached-storage encryption luks

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

清除健康池中的永久 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万
查看次数

ZFS 数据丢失情况

我正在考虑构建一个更大的 ZFS 池(150TB+),我想听听人们关于由于硬件故障导致数据丢失情况的经验,特别是区分仅丢失一些数据的实例与整个文件系统(如果在 ZFS 中甚至有这样的区别)。

例如:假设 vdev 由于外部驱动器机箱断电或控制器卡故障等故障而丢失。从我读到的池应该进入故障模式,但如果返回 vdev 池应该恢复?或不?或者如果 vdev 部分损坏,是否会丢失整个池、某些文件等?

如果 ZIL 设备出现故障会怎样?或者只是几个 ZIL 之一?

真正感谢以深厚的技术知识为后盾的所有轶事或假设场景!

谢谢!

更新:

由于我们是一家小型企业(大约 9 人),因此我们以低廉的价格执行此操作,但我们生成了大量成像数据。

数据主要是小文件,据我统计,每 TB 大约有 50 万个文件。

数据很重要,但不是超级关键。我们计划使用 ZFS 池来镜像 48TB 的“实时”数据阵列(使用了 3 年左右),并将其余存储用于“归档”数据。

该池将使用 NFS 共享。

机架应该在建筑物备用发电机线上,我们有两个 APC UPS,能够在满载时为机架供电 5 分钟左右。

backup zfs storage filesystems

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

对于 L2ARC 和 ZIL:为两者配备一个大型 SSD 还是两个较小的 SSD 更好?

主要参考资料

ZFS L2ARC (Brendan Gregg) (2008-07-22) 和ZFS and the Hybrid Storage Concept (Anatol Studler's Blog) (2008-11-11) 包括下图:

ARC、L2ARC、ZIL 和磁盘存储池的 ZFS 金字塔视图

我是否应该将 SSD 层的垂直白线解释为偏好使用单独的SSD?

  • 偏向于单个磁盘上混合L2ARC和ZIL?

背景(回复评论)

就个人而言,在家里,我不太可能在任何可用的计算机上使用 L2ARC 或 ZIL。(我的日常电脑是 MacBookPro5,2 8 GB 内存和混合希捷 ST750LX003-1AC154。没有计划用 SSD 替换光驱。)

其他地方:在工作中会有一些套件的重新利用,但我没有日期或完整的细节。(混合使用 Xserve RAID x2 ......此时我不认为将它们提供给 ZFS,但我保持开放的心态。)

L2ARC 和 ZIL 的SSD 最佳实践的好奇心始于 ZEVO 领域中与性能相关的讨论——特别是下面提到的主题,其中用户在单个磁盘上同时拥有 L2ARC 和 ZIL。

其他参考资料和讨论

L2ARC 截图 (Brendan Gregg) (2009-01-30)

SLOG 截图 (Brendan Gregg) (2009-06-26)

[zfs-discuss] ZFS 根备份/“灾难”恢复和移动根池(2011-01-10) 建议不要在单个磁盘上混合使用三种东西(根池、ZIL 和 L2ARC) – …

zfs ssd cache

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

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

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

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

raid zfs zfsonlinux

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