Articles of zfsonlinux

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

zfs池如何连续/增量备份到异地? 我认识到通过ssh send/receive是一种方法,但涉及到必须手动pipe理快照。 有一些工具我发现但是大多数不再被支持。 看起来很有前途的一个工具是https://github.com/jimsalterjrs/sanoid但是我担心这个非广为人知的工具可能会造成更多的伤害,因为它可能会损坏/删除数据。 连续/增量zfs备份如何执行?

在Linux上使用ZFSencryption

Linux上的ZFS是否已经支持encryption? 如果没有,是否计划? 我发现了大量的ZFS + LUKS的信息,但这绝对没有意义:我想要ZFSencryption,以便我可以使用zfs发送到“不受信任”的备份服务器进行复制。 即,zfs发送片段应该被encryption。 如果ZoL不支持encryption,除了创buildzVols和在其上使用LUKS + EXT之外,是否还有一种更优雅的方式(失去许多ZFS优势)?

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

我在Ubuntu 12.04上从PPA运行ZoL 0.6.2。 它在一台主机上,有16GB内存,用于运行一些使用KVM / Libvirt的虚拟机。 过了一段时间,ZoL使用了大量的内存,一些虚拟机运行时内存使用率达到了98%。 这导致新进程拒绝启动“无法分配内存”。 在使用ZFS之前,我甚至无法启动所有的虚拟机,大约占用了40-50%的内存。 据我所知,没有调整,ZoL应该尽快释放内存系统内存不足。 那么,它不。 所以我决定把arc_max设置为1GB。 # echo 1073741824 >> /sys/module/zfs/parameters/zfs_arc_max 不过,它并没有释放任何内存。 从下面的ARC统计中可以看到,它使用的内存比configuration的更多(比较c = 7572030912和c_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 4 […]

为什么重新启动导致我的ZFS镜像的一面成为UNAVAIL?

我刚刚将一个批量数据存储池(Linux 0.6.2上的ZFS,Debian Wheezy)从单设备vdevconfiguration迁移到双向镜像vdevconfiguration。 以前的池configuration是: NAME STATE READ WRITE CKSUM akita ONLINE 0 0 0 ST4000NM0033-Z1Z1A0LQ ONLINE 0 0 0 一切都很好,在完成重组后(我在重组完成后开始擦洗,只是为了让系统再次检查一切,确保一切正常): 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 […]

强制更新zfs上的校验和?

我最近将一个非重复的zfs文件系统上的checksum属性从on (fletcher4)更改为sha256 ,以便更好地支持发送重复的复制stream,如本命令zfs send -DR -I _starting-snaphot_ _ending-snapshot_ 。 但是,zfs手册页有关send -D说法: 无论数据集的重复数据删除属性如何,都可以使用此标志,但如果文件系统使用可执行重复数据删除的校验和(例如,sha256),则性能会更好。 zfs手册页也说明了关于checksum属性: 更改此属性只会影响新写入的数据。 我不想相信fletcher4。 与SHA256不同的是,fletcher4不是一个伪随机散列函数,因此不会被信任而不会相互冲突。 因此,只有在与“validation”选项结合使用时才适用于重复数据删除,该选项可检测并解决散列冲突。 我怎么能更新文件系统的校验和,最好不离线系统?

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

我有一个带有许多2TB磁盘的Linux服务器,目前所有的LVM都有10TB的空间。 我在ext4分区上使用了所有这些空间,目前有大约8,8TB的数据。 问题是,我经常在我的磁盘上得到错误,即使我错误出现,即使我replace(也就是说,我将旧的磁盘复制到一个新的与dd的新磁盘,然后我把新的一个在服务器中)我经常得到大约100 MB的损坏数据。 这使得e2fsck每次都变得疯狂,而且通常需要一个星期的时间才能使ext4文件系统再次处于正常状态。 所以问题是: 你会推荐我在LVM上用作文件系统吗? 或者你会推荐我做什么(我真的不需要LVM)? 我的文件系统的configuration文件: 许多不同大小的文件夹(总计2TB,总计100MB) 将近200,000个不同大小的文件(其中3/4是大约10MB,在100MB和4GB之间是1/4;由于我的ext4分区被彻底破坏了一些日子,目前我还无法获得更多的文件统计信息) 很多只读,但很less写 我需要容错(我停止使用mdadm RAID,因为它不喜欢在整个磁盘上出现一个错误,而且有时候磁盘出现故障,我可以尽快更换,但这意味着我可能会损坏数据我的文件系统) 主要问题是磁盘故障; 我可以丢失一些文件,但我不能同时损失一切。 如果我继续使用ext4,听说我应该尽可能地制作更小的文件系统,并以某种方式“合并”它们,但我不知道如何。 我听说btrfs会很好,但是当数据不被复制( mkfs.btrfs -d single ?)时,我无法find如何pipe理丢失一部分磁盘(或整个磁盘)的方法。 有关这个问题的任何build议将受到欢迎,提前致谢!