标签: zfs

Solaris 11 中的 AES-NI 加速 ZFS v31 加密

我不太确定这是否是提出此问题的正确位置,如果不是,请随时将其迁移到适合它的任何地方。

我正在我的实验室机器上的 ESXi 5.0 下的 Solaris 11.11.11 VM 中测试 ZFS v31 中的加密功能。dd在 11 磁盘 RAIDZ3 上放置我的加密文件夹时,我得到了糟糕的结果。

dd 基准:

# time dd if=/dev/zero of=/mypool/storage/dd.tst bs=1024000 count=10000
10000+0 records in
10000+0 records out

real    1m52.604s
user    0m0.010s
sys     0m2.715s
# time dd if=/mypool/storage/dd.tst of=/dev/null bs=1024000
10000+0 records in
10000+0 records out

real    3m15.547s
user    0m0.015s
sys     0m4.768s
Run Code Online (Sandbox Code Playgroud)

翻译成:

Write: 90.94 MB/s
Read: 52.366 MB/s
Run Code Online (Sandbox Code Playgroud)

使用 100% CPU 时。

相比之下,在没有加密的情况下,我的写入速度接近 700 MB/s,读取速度约为 900 MB/s。

如图isainfo -v所示,aes 被传递到 VM。

# …
Run Code Online (Sandbox Code Playgroud)

zfs solaris encryption x86

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

Linux 上的 ZFS 只读挂载 + Solaris 上的同步读写挂载

我们必须定期将相当大的文件从 Solaris 复制到 Linux(使用网络)。目前一个文件需要近半天的时间。Solaris 中的文件位于 ZFS 文件系统上。

所以我想,这真是太糟糕了——我们也许可以在 Linux 上安装 ZFS。

但 ZFS 不是集群(或可集群)文件系统。

假设:所以我认为我们可以,因为我们只是从 Solaris 进行复制 - 我们可以以只读方式挂载相同的 ZFS 文件系统,因此在这种情况下不必进行集群?因为写入仅在 Solaris 端(我们无法在那里卸载它)。

Solaris 机器非常繁忙,网络网卡几乎也总是非常繁忙。因此,通过将文件副本移动到 FC,速度应该会更快。

该 Linux 机器是 VMWare 主机上的虚拟来宾。所以,是的,可以向 Linux 来宾提供相同的 FC 结构。

想法?我认为假设部分是我最需要寻找反馈的地方。不确定是否可以在 Linux 上进行 ZFS 只读挂载 + 在 Solaris 上同时进行读写挂载。

linux filesystems zfs solaris distributed-filesystem

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

ZFS 发送到 Pigz,到 netcat

我正在编写一个脚本,它netcat在服务器上远程打开一个进程,该进程侦听输入并将其重定向到一个文件:

ssh $remote_upload_user@remote_upload_address "nc -l -p $remote_port > $remote_dir/$backup.gz&"

该脚本继续压缩 ZFS 快照pigz,然后将数据作为输入发送到netcat

netcat $remote_upload_address -u $remote_port < $(zfs send -R $zpool@label | pigz)

当添加|pvpigz(在括号内)的末尾时,它表明pigz正在处理数据,但是一旦数据传递给netcat我,我就会在客户端收到一个永无止境的乱码数据流,充斥着标准输出。

服务器显示它需要写入的文件的大小增加了 0。为什么这不起作用?

zfs netcat

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

删除 ZFS 中的默认/根数据集

我是 ZFS 的新手,我想知道它是如何工作的。我使用多个名为 Tank 的磁盘创建了一个池。此外,似乎创建了一个以池命名的默认数据集。尽管如此,我不需要/想要这个默认数据集,但我只想使用在默认数据集上创建的其他数据集:

# zpool status
  pool: tank
 state: ONLINE
config:

        NAME                        STATE     READ WRITE CKSUM
        tank                        ONLINE       0     0     0
          raidz1-0                  ONLINE       0     0     0
            scsi-35000c5008576aa6b  ONLINE       0     0     0
            scsi-35000c50057cf7473  ONLINE       0     0     0
            scsi-35000c50085f5f207  ONLINE       0     0     0
            scsi-35000c50085c22ce3  ONLINE       0     0     0
            scsi-35000c50085f5eea3  ONLINE       0     0     0
            scsi-35000c5008521b903  ONLINE       0     0     0
            scsi-35000c50085c13f57  ONLINE       0     0     0
            scsi-35000c50057cf606f  ONLINE       0     0     0
            scsi-35000c50084989893  ONLINE       0     0     0
            scsi-35000c5006367866f  ONLINE       0     0     0
            scsi-35000c50084269b7b  ONLINE …
Run Code Online (Sandbox Code Playgroud)

zfs

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

ZFS 发送/接收完整快照

我一直通过 并将服务器 A 中的 ZFS 池备份到服务器 B(备份服务器)zfs send/recv,并使用每日增量快照。

服务器 B 充当备份服务器,分别为服务器 A 和服务器 C 保留 2 个池 (zfs41zfs49/tank)

由于硬件问题,服务器 A 中的 ZFS 池现已消失 - 我想尽快恢复/恢复它。

目前我的服务器B中的快照列表如下:

NAME                        USED  AVAIL     REFER  MOUNTPOINT
zfs41@2021Nov301205        14.9G      -     3.74T  -
zfs41@2021Dec011205        3.87G      -     3.74T  -
zfs41@2021Dec021205        3.77G      -     3.74T  -
zfs41@2021Dec031205           0B      -     3.74T  -
zfs49/tank@2021Nov301705   368G      -     3.52T  -
zfs49/tank@2021Dec011705  65.2G      -     3.52T  -
zfs49/tank@2021Dec021705  66.4G      -     3.52T  -
zfs49/tank@2021Dec031705     0B      -     3.52T  -
Run Code Online (Sandbox Code Playgroud)

zfs49/tank@2021Dec031705服务器 B …

linux filesystems zfs snapshot replication

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

带校验和的文件系统?

我有一个硬盘。我想使用一个可以减少存储空间的文件系统,但作为权衡,请为我提供校验和或任何其他方法来帮助保持数据完整性。

据我了解,像 ext4 或 xfs 这样的东西不会这样做,因此您可能会遭受静默数据损坏,又名 bitrot。

zfs 看起来是一个很好的选择,但我读到的所有内容都表明您需要多个磁盘才能使用它。为什么是这样?我意识到只有一个磁盘无法容忍单个磁盘故障,但这就是多个备份方案的用途。备份无济于事的是像 bitrot 这样的东西。

那么我可以在单个硬盘上使用 zfs 来实现防止 bitrot 的单一目的吗?如果没有,你有什么推荐?

filesystems zfs ext4 xfs

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

ZFS 池可嵌套?

来自 Gentoo,我仍然习惯于分区和逻辑卷管理。刚刚安装并更新了 FreeBSD-11-RELEASE,使用整个 500GB 磁盘,如下所示:

% sudo zpool list
Password:
NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zroot   460G  10.7G   449G         -     1%     2%  1.00x  ONLINE  -
Run Code Online (Sandbox Code Playgroud)

我正在努力了解监狱的概念。虽然我知道监狱类似于chroot命令,但我缺少以下命令中的含义:

zfs create -o mountpoint=/usr/local/jails zroot/jails
zfs create zroot/jails/fulljail1
Run Code Online (Sandbox Code Playgroud)

艰难地阅读FreeBSD Jails 的同时。我可以在一个已经处于活动状态的池中为整个磁盘创建一个 zfs“分区”,还是需要在 BSD 安装程序分区屏幕中手动创建池大小?

freebsd zfs

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

ZFS - 为什么压缩文件显示的磁盘使用量几乎是表观大小的两倍?

使用 FreeBSD 11.1-STABLE,我有一个配置了 gzip-9 压缩的 ZFS 数据集,以及 8K 的记录大小。(此卷用于小文件的归档,而不是速度。)

zfs get all pool02/redactedStorage显示了 1.4 倍的压缩比,这比我预期的要差,但那里存储着文本文件和压缩文件的混合,所以并不令人担忧。然后我查看了该数据集中存储的一些大型 zip 文件,感到很困惑。

du -h和的输出du -hA不是我对压缩文件的期望。

例如,我预计 40 MB 的零文件几乎不会占用任何磁盘空间:

# dd if=/dev/zero of=testfile bs=4M count=10
# du -h testfile
512B    testfile
# du -hA testfile
 40M    testfile
Run Code Online (Sandbox Code Playgroud)

但我预计 40 MB 的随机文件会消耗约 40 MB 的磁盘空间,因为它是不可压缩的(出于所有实际目的)。但没想到却消耗了近一倍的空间:

# dd if=/dev/random of=testfile.rnd bs=4M count=10
# du -h testfile.rnd
 92M    testfile.rnd
# du -hA testfile.rnd
 40M    testfile.rnd
Run Code Online (Sandbox Code Playgroud)

通过研究,它看起来像是间接块消耗了额外的空间。

对于testfile(零):

Dataset pool02/redactedStorage [ZPL], …
Run Code Online (Sandbox Code Playgroud)

freebsd zfs compression

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