标签: zfs

有哪些不同的广泛使用的 RAID 级别,我应该何时考虑?

这是一个关于 RAID 级别的规范问题

什么是:

  • 通常使用的 RAID 级别(包括 RAID-Z 系列)?
  • 它们常见于部署中吗?
  • 各自的优缺点?

raid zfs storage hard-drive

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

ZFS 与 XFS

我们正在考虑构建一个约 16TB 的存储服务器。目前,我们正在考虑将 ZFS 和 XFS 作为文件系统。有什么优点、缺点?我们需要寻找什么?还有第三种更好的选择吗?

xfs zfs storage filesystems

68
推荐指数
8
解决办法
6万
查看次数

FreeBSD 上的 ZFS:从数据损坏中恢复

我在 zpool 中有几 TB 的非常有价值的个人数据,由于数据损坏,我无法访问这些数据。该池最初是在 2009 年左右在 FreeBSD 7.2 系统上建立的,该系统在 Ubuntu 8.04 系统之上的 VMWare 虚拟机内运行。FreeBSD VM 仍然可用并且运行良好,只有主机操作系统现在已更改为 Debian 6。通过 VMWare 通用 SCSI 设备,来宾 VM 可以访问硬盘驱动器,总共 12 个。

有2个游泳池:

  • zpool01:2x 4x 500GB
  • zpool02:1x 4x 160GB

有效的那个是空的,破碎的保存着所有重要的数据:

[user@host~]$ uname -a
FreeBSD host.domain 7.2-RELEASE FreeBSD 7.2-RELEASE #0: \
  Fri May  1 07:18:07 UTC 2009                          \
  root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

[user@host ~]$ dmesg | grep ZFS
WARNING: ZFS is considered to be an experimental feature in FreeBSD.
ZFS filesystem version 6
ZFS storage pool version 6 …
Run Code Online (Sandbox Code Playgroud)

freebsd zfs data-recovery

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

我将把 FreeBSD 自动挂载器切成小块,然后在油中煮沸

我试图将主目录的层次结构暴露给许多 FreeBSD 监狱。主目录的配置使得每个目录都是唯一的 ZFS 数据集。监狱用于开发工作,因此会定期创建和销毁。

我的第一个想法是简单地使用nullfs挂载/home到 jail,但nullfs不提供任何访问从属文件系统的方法。

我的第二个想法是通过 NFS 导出目录,然后在每个 jail 中运行自动挂载程序守护程序 (amd)。如果可以在监狱内执行 NFS 挂载,这将是有效的。但事实并非如此。

我的第三个想法是在主机上运行 amd 并将nullfs挂载到监狱中……但是 amd 对nullfs 的支持不存在。

我的第四个想法是回到使用 NFS 导出目录,因为 amd 当然可以与 NFS 一起使用,对吗?不幸的是,amd 不是在目标挂载点上挂载目录,而是喜欢在临时位置 ( /.amd_mnt/...)挂载东西,然后创建符号链接……当然,这在 jail 环境中是无用的。

那么也许您可以使用nullfs将 的子目录暴露/.amd_mnt给监狱?不!这让我们回到了我的第一次尝试,我们发现无法使用nullfs访问从属文件系统。

然后我的头爆炸了。

我正在尝试做的事情有没有好的解决方案?一个糟糕的解决方案是在启动 jail 之后运行一个脚本,该脚本将为每个主目录创建多个nullfs挂载点,但这非常笨拙——它需要定期运行以考虑新目录或删除的目录。所以基本上我将不得不编写一个糟糕的自动挂载程序。

一定会有更好的办法。帮助我,Serverfault,你是我唯一的希望!

更新 1:我突然想到我可以用 解决部分问题pam_mount,尽管这充其量是不完整的。此外,文档中不清楚是否pam_mount可以自动创建目标挂载点。如果它需要先验存在挂载点,那么这个解决方案不会比我已经提出的坏自动挂载器更好。

更新 2:如下面的答案中所讨论的,VFCF_JAILNFS 文件系统上的设置确实允许 jails 执行 NFS 挂载。不幸的是,自动挂载程序继续无用的行为,并且当在监狱中运行时,它似乎非常擅长以这样的方式陷入困境,以至于需要重新启动系统才能删除进程条目。

freebsd zfs central-processing-unit jail automount

41
推荐指数
1
解决办法
2345
查看次数

为什么所有的 zpool 都被命名为“tank”?

在我在网上看到的几乎每个 ZFS 使用示例(包括这里的几个问题)中,zpool 都被命名为“tank”。为什么?这个名字是否有某种意义,或者只是原始文档使用了“tank”,所以其他人也使用“tank”?如果您在一个系统上有多个 zpool,将其中一个命名为“tank”是很常见的,还是“tank”只是单池系统的约定?

zfs

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

Ext4 vs. XFS vs. Btrfs vs. ZFS for NAS

我的用例:我在 M.2 SSD 上安装了 Ubuntu Server 18.04。我有一个 4TB 硬盘,我想添加为存储。由于它主要用于大型媒体文件和备份,因此不会经常写入。

您认为哪种文件系统最适合此用例?

我的主要候选者是 Ext3/4、XFS、Btrfs 和 ZFS(随意争论另一个)。

我不是在问“什么是最好的文件系统?”——没有“最好的”这样的东西。 我只是问人们哪个文件系统可能最适合这个用例。请尝试包括:

  • 有什么缺点或风险吗?我听说如果断电,XFS 会损坏数据。与没有 ECC RAM 的 ZFS 相同。
  • 以后是否可以在不丢失数据的情况下添加 RAID-1?我现在没有足够的钱购买另一个硬盘驱动器(我将它用于外部驱动器;RAID 不会取代备份),但我可能会在以后添加一个。这不是一个要求,只是一些可能很好的东西。
  • 读/写性能如何?Btrfs 可能满足我的大部分需求,但在 Phoronix 基准测试中速度非常慢。XFS 具有令人印象深刻的性能,但我听说它会导致数据丢失。

谢谢你的建议。

xfs zfs network-attached-storage ext4 btrfs

37
推荐指数
3
解决办法
5万
查看次数

如何删除除最后 [n] 个 ZFS 快照之外的所有快照?

我目前每晚和每周都对我的基于 ZFS 的 NAS 进行快照,这个过程已经救了我好几次了。然而,虽然快照的创建是自动的(来自 cron),但删除旧快照仍然是一项手动任务。显然,如果我被公共汽车撞到,或者没有执行手动任务,NAS 的磁盘空间就会耗尽。

有没有人有任何好的方法/脚本来管理存储在其 ZFS 系统上的快照数量?理想情况下,我想要一个脚本来遍历给定 ZFS 文件系统的所有快照,并删除该文件系统的最后n 个快照以外的所有快照。

例如,我有两个文件系统,一个tank称为sastank. 快照以它们的创建日期命名:sastank@AutoD-2011-12-13因此一个简单的sort命令应该按顺序列出它们。我希望将过去 2 周的每日快照保持在 上tank,但仅将过去两天的快照保持在 上sastank

solaris zfs snapshot

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

有效地从 ZFS 中删除 1000 万个以上的文件

我写了一个错误的程序,它在 /tmp 下意外创建了大约 30M 的文件。(这个错误是几周前引入的,它每秒创建几个子目录。)我可以将 /tmp 重命名为 /tmp2,现在我需要删除这些文件。系统是 FreeBSD 10,根文件系统是 zfs。

与此同时,镜像中的一个驱动器出现问题,我已经更换了它。该驱动器有两个 120GB SSD 磁盘。

问题是:更换硬盘驱动器和重新同步整个阵列用了不到一个小时。删除文件 /tmp2 是另一回事。我写了另一个程序来删除文件,它每秒只能删除 30-70 个子目录。删除所有文件需要 2-4 天。

重新同步整个阵列需要一个小时,而从磁盘中删除需要 4 天,这怎么可能?为什么我的表现这么差?70 次删除/秒似乎非常非常糟糕的性能。

我可以手动删除 /tmp2 的 inode,但这不会释放空间,对吗?

这可能是 zfs 或硬盘驱动器的问题还是什么?

freebsd performance zfs

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

硬盘上的位腐烂是一个真正的问题吗?可以做些什么呢?

一位朋友正在和我谈论位腐烂的问题 - 驱动器上的位随机翻转,破坏数据。非常罕见,但如果有足够的时间,它可能会成为一个问题,并且不可能被发现。

驱动器不会认为它是坏扇区,备份只会认为文件已更改。不涉及校验和来验证完整性。即使在 RAID 设置中,也会检测到差异,但无法知道哪个镜像副本是正确的。

这是一个真正的问题吗?如果是这样,可以做些什么呢?我的朋友推荐 zfs 作为解决方案,但我无法想象在工作中扁平化我们的文件服务器,安装 Solaris 和 zfs ..

raid zfs hard-drive

34
推荐指数
4
解决办法
3万
查看次数

LVM 快照与文件系统快照

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

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

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

zfs lvm snapshot btrfs

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