我发现自己不得不为一些旧应用程序维护一些旧硬件。这些计算机使用旧的并行 SCSI 驱动器,当这些驱动器坏掉时,我必须寻找新的,这变得越来越困难。
运行具有物理 SCSI 接口的现代计算机并将其自身作为目标磁盘呈现给传统计算机是否可行,这样它就不是访问物理 SCSI 磁盘,而是访问 SAN 中的现代磁盘?
我在看http://www.linux-iscsi.org/看起来通常的操作模式是充当物理磁盘中的 iSCSI 目标,而不是相反,充当远程 iSCSI 目标中的物理目标。但我对术语或技术不够熟悉,无法判断它是否受支持、是否可行或完全不可能。
答案1
我相信,使用 FreeBSD 的 CAM 目标层子系统和支持目标模式的 SCSI 适配器(如 AIC-78xx 系列),您可以实现所需的方法。我目前通过一对用 VHDCI 电缆连接的 Adaptec 39160 卡来实现此目的。也可以将 ISO 文件作为可启动的 SCSI CDROM 设备传递。
FreeBSD 内核必须使用 targ 和 targbh 驱动程序进行编译,必须启用目标模式的端口(例如ctladm port -o on ahc0
),并且必须创建块设备(ctladm create -b block -o file=/path/to/disk
或ctladm create -b block -t 5 -o file=/path/to/iso
)。块驱动程序支持磁盘设备以及磁盘映像。默认情况下,它将设备显示为 ID 7 上的 LUN,因此请确保您的 SCSI 卡设置为不同的 ID。
在使用 ASPI 扫描 79xx 的 PCI 总线时,Windows 98 似乎会挂起,这可能是由于驱动程序问题,尽管我还没有深入调查。对于 39160 卡来说,Windows XP 似乎更容易处理,但由于 XP 已经可以从 iSCSI 进行 sanboot,因此这不会为我解锁任何额外的功能。
答案2
首先,Adam iSCSI 是一种协议,它“公开”一台计算机的磁盘空间,并将其作为存储设备呈现给另一台计算机。但要使用它,第二台计算机的操作系统必须识别该协议,并具有适当的驱动程序/模块。此外,在识别 iSCSI LUN 后,应将其格式化并(从操作系统)安装到特定安装点(或用作 RAW 设备)。我不知道使用 iSCSI 磁盘作为根设备的选项。
就您而言,iSCSI 不适用。您可以搜索 PATA 到 SCSI 转换器/控制器,以将 PATA 磁盘用作 SCSI。通常这些转换器与操作系统无关。
但您能做的最好的事情是将在这个旧硬件上运行的所有应用程序迁移到新的软件/硬件平台上。
答案3
为了避免使用本地硬盘,请考虑使用网络启动技术。以下是来自维基百科
NetBoot 是 Apple 的一项技术,它使具有功能强大的固件(即 New World ROM)的 Mac 能够从网络启动,而不是从本地硬盘或光盘驱动器启动。NetBoot 是从 Bootstrap 协议 (BOOTP) 派生出来的,其概念类似于预启动执行环境。
使用系统映像实用程序创建包含 macOS、macOS Server、Mac OS 9 或 Mac OS 8 副本的磁盘映像,并将其存储在服务器上,通常是 macOS Server。客户端使用许多流行的协议通过网络接收此映像,包括:HTTPS、AFP、TFTP、NFS 和多播 Apple Software Restore (ASR)。服务器端 NetBoot 映像可以启动整个机器
Mac OS 8.5 和 Mac OS 9 仅使用 BOOTP/DHCP 来获取 IP 信息,然后通过 TFTP 传输 Mac OS ROM 文件。接下来,通过 TCP 上的 AppleTalk 安装两个卷,客户端磁盘映像驻留在这些卷上。总而言之,Classic Mac OS 使用三个映像;一个包含操作系统并可能包含应用程序的系统映像。接下来,将私有映像(或暂存盘)安装在只读系统映像的覆盖层上。最后,安装应用程序映像。但是,此映像可能是空的。
如果你手上没有 Max OS X 服务器,可以考虑使用启动狂潮它可以从常规 Mac OS X 机器提供 NetBoot 功能。