![虚拟 iSCSI linux——作为 ISCSI ExFat 共享,但它是否转到 XFS?](https://linux22.com/image/763456/%E8%99%9A%E6%8B%9F%20iSCSI%20linux%E2%80%94%E2%80%94%E4%BD%9C%E4%B8%BA%20ISCSI%20ExFat%20%E5%85%B1%E4%BA%AB%EF%BC%8C%E4%BD%86%E5%AE%83%E6%98%AF%E5%90%A6%E8%BD%AC%E5%88%B0%20XFS%EF%BC%9F.png)
我正在构建一个基于带有 18 个驱动器托架的戴尔服务器的 RAID 系统;我想将其用作 JBOD 并使用 LVM2/MDADM 进行管理,并使用 XFS 作为基本文件系统。
但是……我有一些 PC 软件仅有的与 iSCSI 目标一起工作(不是传统的 SMB 网络共享)...并且我希望能够从 Linux 和 Windows 查看和操作存储...是否存在一个文件系统模拟器,它位于 iSCSI 和 XFS 之间,并采用 Windows 文件系统(ExFAT、NTFS、UDF?)并将其转换为已安装的 Linux 文件系统中的“文件”?
Windows 中的 iSCSI 卷是否可以“只读并按需重新安装/扫描”(断开连接,重新创建虚拟文件系统,然后允许 Windows 重新安装)?Windows 访问不需要很快...
或者... 是否存在支持 Windows 的 iSCSI 目标 FS 和分布式文件系统,以便可以同时从 Windows 7 和 Linux 访问它(也许会支持...?)?
答案1
要导出您的 iSCSI 共享,您可以选择:
- 创建一个 LVM 卷并使用该卷作为 iSCSI 目标;
- 在主 XFS 文件系统上创建一个足够大(并且可能预先分配)的文件,并将该文件用作 iSCSI 目标。
第一个选项意味着您可以直接在方便的路径上挂载 LVM 卷,而文件选项要求您创建一个环回设备来在文件本身内挂载文件系统。
然而,真正的问题是,当远程客户端使用共享时,你不能简单地挂载 LVM 卷或文件/环回:exFAT 不是集群感知文件系统,因此,通过双重挂载它,你有可能造成立即且不可挽回的腐败。
唯一的(绝对未经测试的)选项是:
- 对 LVM 卷/文件进行快照并挂载它,而不是挂载“真实”卷/文件;
- 以只读模式挂载备份卷/文件(即
mount -o ro <yourdev> <yourpath>
:)
话虽如此,令我惊讶的是您的设备仅支持 iSCSI。仔细检查它们是否支持 NFS,这将完全解决您的双重安装问题。
答案2
您应该考虑使用 ZFS。有了它,您将拥有存储空间池,可以将其分配给传统文件系统或虚拟块设备。
传统文件系统可以通过 NFS 或 SMB 共享。虚拟块设备 (zvolumes) 可用作 iSCSI 目标。
如果您想要继续使用 XFS,那么您可以使用 Linux 回环设备创建一个由文件系统上的文件备份的虚拟块设备。然后可以将该回环块设备用作 iSCSI 目标。
iSCSI 本身并不与文件系统绑定。它是一种与文件系统无关的机制,用于通过 IP 网络访问远程块设备。因此,一旦您从 Windows 连接到 iSCSI 目标,您就可以使用任何您想要的文件系统格式化驱动器。