我使用许多旧的并行SCSI(-1/-2)设备(许多“快速SCSI-2",10 in /S,8位宽),我想通过一个经典的Adaptec PCI SCSI主机适配器在”目标模式“中附加到现代计算机上。它应该模仿任意大小的HD驱动器(或者更好:一次多个设备)。这些数据存在于真实HDD或RAM上的图像文件中。
我已经爬过网络,找到任何有用的信息来制作一个(可能很简单?)目标现实。虽然GNU/Linux和FreeBSD似乎都提供了这样的可能性,而且配置起来也很容易,但这里严重缺乏文档/手册页。我在网上找到的两、三个提案在我当地的设置中尝试过,但都没有奏效。所以,经过几个星期的尝试,我觉得把我的问题放在这里直接问专业人士可能是个好主意。
我不想要的是:任何iSCSI和网络目标--这是关于老式计算的。我知道几种不同的(主要是硬件)解决方案,包括SCSI2SD、ACARD转换器等,但这些解决方案并没有提供我想要的。我也不想要任何类型的嵌入式解决方案,硬件黑客等等--我感兴趣的唯一解决方案就是上面描述的解决方案: SCSI卡和PC &免费/开放操作系统(请不要为我提供Windows解决方案--但您可以将它们放在这里供其他人使用)。有一个带有免费代码的工具("scsi_target“IIRC),从长远来看非常不稳定,而且速度也很慢--这是不合适的解决方案。
我所拥有的:我有一个IBM,它有一个合适的AdaptecAHA-2940/SE卡,支持“目标模式”。它还在其BIOS扩展中被激活,并在那里获得了一个主机ID。(如果这是一个错误的选择,则向替代的PCI并行SCSI主机适配器卡建议开放),硬盘驱动器包含带有自定义内核的最近的FreeBSD (激活了所有支持/支持“目标模式”SCSI所需的模块)和最近的带有SCST的无头Ubuntu。
我没办法解决这些问题。
指向我所跟踪、尝试或阅读的资源的相关链接,仅用于学习:https://www.vogons.org/viewtopic.php?t=66955、http://web.archive.org/web/20141021111304/http://www.tenox.net/docs/scsi/the_程序员_指南_至_scsi_布赖恩_sawert.pdf和http://scst.sourceforge.net/
常见问题:不幸的是,当然,对于这种技术来说,有一些困惑--在搜索关键字"Target“/ "Target模式”的信息时,我在iSCSI-Bubble中得到了很多点击量,这不是我的主题。即使添加“并行scsi”/ "pscsi“。他们的网站上提到了一个"pscsi scst扩展“,但除了一些未完成的东西之外,我没有找到任何与它相关的东西。通过趋势,不清楚如何编写配置文件;经常缺乏关于选项、可能值、它们的含义等方面的信息。我缺乏一些用于调试、监视和扫描scsi总线的命令/工具的知识,以及软件是否配置正确。我也常常不知道如何找到正确的SCSI总线位置(比如1:3:0:0或只有3:0:0 --我知道它是总线:target:lun,但是我如何计算/查找/确定,以及4位数路径上的第一个数字是什么?)
我希望在这里获得一些知识,得到有帮助的答案,并可能会看到你们中的一些人为上述框架/ OSses提供安装说明和不同的示例配置文件,以供学习并最终获得工作系统。
感谢您的关注,并保持安全!
发布于 2021-02-17 12:59:17
非常初步的回答:
搜索aic7xxx驱动程序(使用aic7xxx target mode关键字)可以找到2001年的这个电子邮件交换,这涉及到驱动程序源代码中的AHC_TARGET_MODE定义。从这一点看,驱动程序源代码似乎是从Linux的BSD中改编而来的,目标模式至少当时只在BSD上工作。
查看Linux内核中当前的驱动程序代码,仍然可以找到AHC_TARGET_MODE检查,但是没有真正定义它的文件(除非在某些配置过程中会发生这种情况--我实际上并没有试图编译该驱动程序)。
因此,我的假设是,目标模式在Linux下仍然不能工作,您需要转到BSD。但我可能错了。
邮件中提到
FreeBSD的SCSI层(CAM)对目标模式操作有明确的支持。
我对FreeBSD不太了解,但是如果这是我的项目,作为下一步我将安装FreeBSD,看看它是否已经有了一些可以模仿硬盘的东西(很可能,Linux有几个这样的项目,而且是的,它们也可以与iSCSI和其他SCSI传输机制一起使用,所以不要忽略这一点),然后找出如何将它连接到CAM层,这样aic7xxx驱动程序就在另一端。
发布于 2022-04-03 20:06:25
我现在也在做同样的事。试图构建一个磁带驱动器仿真器,但实际上什么都没有。当你有一个磁带,你甚至没有真正得到“所有”的字节。你丢失的文件标记,设置标记,分区等等。见鬼,这让我恼火的是,在20年的“假设”之后,我发现这是完全错误的。
这让我想到了现在。信不信由你,大多数或所有较老的控制器都可以作为目标。现在,我有一个自定义的ISA驱动程序运行在AIC-6260上,到目前为止运行良好。硬件在物理上是有能力的,主要是因为他们会把这些接口芯片卖给用户和驱动器工厂。
问题在于驱动程序和接口。如果您只是在scsi下直接搜索"DMA“,您会发现其中许多驱动程序都有"TO_DO”来实现该功能。我遇到了一些bug,如果您确实将hba设置为目标,那么如果您尝试将内核切换回来(2920 PCI做到了这一点),它可能会很难使内核崩溃。所有这些驱动程序只有在一些主要的驱动子系统被更改时才会被触及,而我们并没有摆脱sysfs。天啊,我甚至还记得推着特工说,时代是如何改变的。
最好的选择是切换到FreeBSD。aic7xxx最初来自那里,是丢失文件的位置。它还与他们内置的目标系统一起工作。(tg)。我还没有使用它,但我正接近切换:P
https://unix.stackexchange.com/questions/634865
复制相似问题