在Windows中访问ZFS卷?


28

您以为会被问到,但是我似乎找不到它...

假设我在此机柜(8托架USB3 JBOD)中设置了ZFS:http :
//www.sansdigital.com/towerraid-/tr8uplusb.html

现在,我将在直接连接的Mac上运行它,但是我也希望在启动Windows时也能够访问这些文件。借助HFS +卷,Apple足以提供实现此目的的手段。但是,我找不到ZFS之一。

我遇到的唯一解决方案是在虚拟机中使用Open Solaris来安装驱动器。但是,我也听到过很多关于做此事的噩梦,这导致了巨大的失败……是的,这与我想要的完全相反。

因此,从本质上讲,访问连接到Windows的ZFS卷的当前最佳方法是什么?如有必要,我会对只读访问感到满意。

哦,预定的操作系统是Windows 7。


“直接附加”是什么意思?通过以太网?
sblair 2011年

啊,我现在看到单个USB端口。它说它支持PC,Mac和Linux,因此大概提供了驱动程序/软件?您可以控制文件系统吗?
sblair 2011年

这是一个好看的围墙:)
Dmitri Nesteruk

Answers:


8

Windows中不支持ZFS的操作系统级别。

正如其他发布者所说,最好的选择是在VM中使用ZFS支持的OS。

选项有:

  • 打开Solaris
  • FreeBSD
  • Linux(通过zfs-fuse或zfs-on-linux)

另一种可能性是握住一台小型低功率计算机(例如,基于Atom的系统),以连接到驱动器,并充当磁盘的网络头单元,这些磁盘通过标准协议(例如CIFS)通过网络共享数据,桑巴舞)。然后,您可以直接在金属上运行ZFS感知OS。


这是我选择的选项,在看到这篇文章之前,现在我在这里,试图在我将所有6个实际的物理zfs驱动器加电之前将其安装到vbox solaris上以进行共享他们关闭主机win7ultt64上的NAS访问。试图找出最后一部分。我认为zfs-win解决方案只会使我远离此设置。有人知道如何通过vbox solaris在win主机上实际访问它们吗?是使用RAW磁盘方法还是其他方法?
布莱恩·托马斯

1
@BrianThomas您将所有zfs池磁盘都作为原始磁盘运行一个vm,然后在VM中设置了某种共享方式,例如nfs,samba,sftp / sshfs,iscsi,然后可以从其他任何计算机上使用它与任何客户端程序支持的网络(例如samba和Windows共享)。并确保VM不使用不安全的缓存。
彼得

您可以使用Windows可用的替代软件将ZFS文件系统附加到Windows,这些替代软件不仅支持通过VM解决方案,而且还支持读写访问。例如,请看使用Dokan库的zfs-win,它还可以通过挂钩到Windows中的ExFAT.sys使Windows读取Linux格式化的驱动器,例如Ext2 / 4。

@ user94959 5年前你不能。您可能会注意到,这个问题很古老,答案也是如此。
Majenko

20

zfs-win

…可以安装只读驱动器…

—我猜想进一步的开发可能会启用写访问。

在Windows 7上进行以下安装:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>chdir "C:\Program Files (x86)"

c:\Program Files (x86)>zfs-win
ZFS for Windows

usage:
  mount <mountpoint> <dataset> <pool ..>
  list <pool ..>

examples:
  zfs-win.exe mount "m:\" "rpool/ROOT/opensolaris" "\\.\PhysicalDrive1" "\\.\PhysicalDrive2"
  zfs-win.exe list "Virtual Machine-flat.vmdk"

在编辑OpenZFS Wiki的兼容性部分时,我被告知zfs-win无法读取ZFS池版本28。(我不编写代码,因此从源头上我无法确定支持哪个版本–对不起。)


+1只是因为尽管我还没有尝试过ZFS支持,但多年来我一直在寻找类似的东西。本机SFTP挂载支持而不必支付一些麻烦的大公司?我到处都像水牛上的鬣狗一样。
肯特·弗雷德里克

我只是建议这个。我相信也有用于Linux变体的FUSE版本,也可以访问ZFS。
Matt H

到Dokan的链接已断开,仅凭名称我不确定所指的是什么(当您在Google上搜索时会出现很多不同的情况)。
Wowfunhappy

没关系,我找到了,请参阅建议的修改。我不认为可以在任何地方使用zfs-win的预编译版本吗?
Wowfunhappy

12

如果遵循一个从未对ZFS说谎的简单规则,则虚拟机中的ZFS可以正常工作ZFS 竭尽全力防止数据损坏(校验和,写时复制,dittoblocks,镜像或raid-z等),因此您应尽一切努力使ZFS直接访问磁盘。关于ZFS虚拟化问题的所有恐怖故事都来自虚拟化软件缓冲区,磁盘控制器高速缓存甚至带有直写式高速缓存的窗口在某种程度上缓冲了IO,如果您笨拙地使用虚拟磁盘而不是整个原始磁盘。每个虚拟化软件包对原始磁盘的处理略有不同,但是VMWare WorkstationVMWare FusionVirtualBox都支持它,而无需花费太多精力。

您提到了将其附加到Mac上的情况,因此您可以使用诸如ZEVO之类的OSX本机(以前称为Z-410),也可以像在Windows 7中一样运行ZFS虚拟机。如果您在Mac / Windows之间移动池(ZEVO < -> VM),zpool export poolname然后再进行切换。如果双方都启动相同的VM,则不需要。您应该努力在HFS +或NTFS上不托管任何虚拟磁盘(vmdk文件),而应使其中一个外部磁盘(或内部磁盘的分区)可引导,这样您就可以在不进行虚拟操作的情况下轻松地进行引导。

值得注意的是,如果Mac具有Thunderbolt,则可以使用它代替USB2或FireWire为ZFS连接多个磁盘。SonnetTech Thunderbolt PCIe桥接器(ExpressCard或PCIe)与eSATA或SAS卡(甚至是USB3卡)相结合的速度将比普通USB2快几个数量级。


我能够在VirtualBox上很容易地进行设置,但是我担心的一件事是缺少对SMART命令的支持。如果我尝试smartctl在通过原始驱动器的驱动器上运行,它仍显示为Device Model: VBOX HARDDISK。如果smartctl没有执行命令,是否意味着ZFS也仅限于其常用命令的子集?
brismuth 2016年

我相信Linux下的OpenZFS仅使用读/写/校验和故障来评估磁盘故障。Solaris上的ZFS将响应来自fmadm(监视SMART数据)的预计故障触发,但是我敢肯定,在Linux下不会直接考虑SMART数据。
notpeter


8

我打赌您已经走了这个话题的年龄,但是为了其他仍然对此有疑问的人,我将投入2美分。

我已经使用ZFS作为文件系统构建了几台NAS机器。FreeNAS或NAS4Free是最容易使用的一种。在前两个版本的ZFS发行版中提供重复数据删除和加密功能之前,我还使用过Solaris。如前所述,您可以成功使用Atom处理器作为低功耗主板解决方案。只需确保为它们提供主板可以支持的尽可能多的RAM,以弥补CPU的电量不足。显然,NAS的速度不如本地磁盘快,但总比没有收获ZFS的优势要好。

我使用虚拟机访问了一些USB记忆棒,这些记忆棒又用RaidZ池中的ZFS进行了格式化。然后,我通过虚拟LAN连接在主机上共享它们。虽然它确实有效,但我不知道您会遇到哪种可靠性或性能问题。USB驱动器本来就很慢,以至于无法从该设置中获得有价值的数据……因此,我从不费心进行测试。但是,我想这样做会导致很多 CPU开销。

总而言之,如果您有预算,我建议您通过VM做NAS。上个月,我用一个小型的Chenbro外壳和一个Supermicro Atom板制作了一个。我在RaidZ中提供了4GB的RAM和4x3TB的SATA驱动器。基准速度为135MBps。我没有执行任何其他测试。


1

在虚拟机中使用支持ZFS的OS是您的最佳选择。ZFS非常强大,并且支持从不同的OS导入和导出池,因此应该没有大的故障或噩梦。


1

我在Windows 7中具有完全可靠的zfs读写访问权限。Windows 7认为它是SMB上的NTFS共享。这是如何做。NAS是Ubuntu 13.04,已安装本机zfs。通过安装了0.6.1-1〜raring软件包的ubuntu-zfs元软件包不融合。它运行在从旧壁橱中恢复过来的32位旧台式计算机上。1 GB的RAM,很快将升级到2GB。MSI 845-G Max主板。通过端口倍增器连接的是一个8驱动器Sansdigital盒。其中有4个3 TB梭子鱼驱动器。还有一个120 GB Vertex 3 SSD作为缓存和日志。我创建了4个磁盘的raidz2的zpool,以及缓存和日志。然后我执行了:zfs set sharenfs = on'zpoolname'这给出了一个轻微的错误,表明该共享可能有效或无效。然后在“计算机”的zpool内创建文件夹 根鹦鹉螺的设备。然后,我共享文件夹。瞧.....

Windows 7中可通过网络访问的zfs,将其报告为NTFS。我可以在Windows 7中做一个“映射网络驱动器”,现在在Windows 7中有一个10 TB的ntfs驱动器。显然,它是不可引导的。而且它仅与组成它的所有硬件一样可靠。但是,我已经重复使用,压缩了,并且它应该能够在丢失3个TB硬盘中的1或2个之后幸免。

我希望这对其他人有用。


它不是从Windows访问ZFS,而是从Ubuntu访问ZFS,并与SAMBA = SMB(通过nautilus GUI)共享-en.wikipedia.org/wiki/Samba_(software)
osgx

0

我认为目前尚不可能。我还没有找到Windows的ZFS驱动程序,但是代码是开源的,因此应该可以编写一个。


1
*有争议的开放源代码,以oracle“开放源代码”产品通常的方式。
naught101 2013年

1
@ naught101幸运的是,MacZFS及其后续版本O3X不是由Oracle开发的。后者基于OpenZFS项目,并且是该项目的贡献者,而OpenZFS项目明确地属于CDDL。现在,该许可证与GPL不兼容,但即使是臭名昭著的FSF也同意这是免费软件许可证。Oracle的较新zpool版本当然不兼容,但是似乎是一个大问题的唯一功能是加密,因为OZFS功能标志实现允许大多数功能被复制而无需增加zpool版本。
Darael 2015年

0

我最近在工作的Gentoo桌面上对此进行了测试。在您选择的* nix上创建一个zvol,将其格式化为NTFS并通过samba共享。Active Directory权限可以正常工作,唯一的烦恼是必须停止samba才能回滚快照,但这并不是什么大问题,因为它可以在几秒钟内完成。我的计划是创建所有用户数据的实时副本,并每天对其进行快照。比起真正的备份,这更是一种回收意外删除文件的方法。现在,我只需要说服他们让我购买另一台服务器即可。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.