阅读ZFS上的Ubuntu Wiki页面( https://wiki.ubuntu.com/ZFS )我发现了一些ZFS声称的能力,我无法find任何文档。 如果索赔是可能的,我很想知道如何去做
Ari有一个单一的磁盘工作站。 她购买一个新磁盘并将其插入。ZFS自动将新磁盘空间添加到池中。 她的主目录是镜像的,而她的操作系统和临时空间会在后台自动分条。
杰克有三个不同大小的磁盘。 configuration合理的分区和RAID设置完全是试错。 ZFS将这三个磁盘抽象为一个空间池,并在性能和安全性之间取得最佳平衡。 Jack宣称有些媒体目录不需要容错,ZFS在所有磁盘上透明地分条。
这两个引用似乎表明,在一个池中可以混合使用容错区域和高性能区域。 从我读过的每一份文件中都可以看出这是不可能的…其他人是否知道这样做的方法?
这些段落有误导性和误导性。
Ari有一个单一的磁盘工作站。 她购买一个新磁盘并将其插入。ZFS自动将新磁盘空间添加到池中。
ZFS不会自动将新插入的磁盘添加到池中。 您必须运行zpool命令来告诉您如何使用磁盘。
她的主目录是镜像的
只有阿里提出要求,但是给予剩下的这个判决,情况就不一样了。
而她的操作系统和临时空间则在后台自动分条。
如果已经select了镜像,则不能有条纹。 如果select了条纹,则不能进行镜像。 在后一种情况下,ZFS没有“背景条纹”或“后期configuration条纹”。 在写入时擦除一次。
杰克有三个不同大小的磁盘。 configuration合理的分区和RAID设置完全是试错。
也许,但比传统的卷pipe理更容易。
ZFS将这三个磁盘抽象为一个空间池,并在性能和安全性之间取得最佳平衡。
三重镜像将提供最佳的读取性能和最佳的安全性。
Jack宣称有些媒体目录不需要容错,ZFS在所有磁盘上透明地分条。
你不能在目录上设置属性,你可以用数据集(例如文件系统)和池来完成。 尽pipe使用ZFS创build多个文件系统是一个轻量级的操作。
总结:
您不能在单个池中拥有镜像文件系统和条带化文件系统。 属于一个池的所有数据集共享相同的底层池RAIDconfiguration。
假设同上块(例如zfs set copies=2 dataset )是用来提供容错的,那么ZFS将尽其所能,但是没有100%保证所有块对都将结束到不同的磁盘。
即使在所有同上块都在物理上位于不同的磁盘上的情况下,该池在整个磁盘故障(或者更确切地说, 在整个磁盘故障后的重新启动后都不能存活)中将不能存活 。 ZFS副本将防止有限的媒体错误(请参阅Andreas段落),但不是整个磁盘不可用。 调用Ariconfiguration“镜像”是误导性的。
我永远不会build议这样的configuration。 如果您拥有单个磁盘,但仍需要一定程度的保护来防止部分介质故障(坏块),或者您在非冗余池上使用重复数据删除,那么同上块是一个很好的function。 否则,期望不应该设置太高,镜像或raidz是多个磁盘池的方式。
请注意,通过创build多个基于分区的池,ZFS可以将镜像,raidz和条带与三种不同大小的磁盘结合使用。 例如,假设你有一个4TB,一个3TB和一个2TB的磁盘。 您可以将所有磁盘拆分为1TB分区,创build带有1 + 1 + 1分区的2TB raidz,带有1 + 1 + 1分区的3TB条带,带有1 + 1分区的1TB镜像和1TB单个设备与其余分区池。 不要指望这样的混合raid设置,虽然性能优秀,并争取不同时访问各种应用程序池。
他们在这里指的是一个configuration,只需将所有的磁盘添加到一个池(没有父mirror或raidz组控制磁盘)。
在这个configuration中,一个文件所放置的设备数量是由zfs set命令控制的copies属性决定的 – 所以池中的一些数据(由ZFS文件系统决定)将具有比其他数据更高的容错能力,允许混合大小的设备容错。