我有一批 SCSI 磁盘和一个控制器;驱动器是 HP 72,8GB 10k RPM Ultra320 SCSI(型号 BD07296B44),控制器是 Adaptec AIC-7892A U160/m,问题是我无法从它们中获得超过 40 MB/s 的速度。
/proc/scsi/scsi
:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: COMPAQ Model: BD07296B44 Rev: HPB6
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: COMPAQ Model: BD07296B44 Rev: HPB6
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi2 Channel: 00 Id: 02 Lun: 00
Vendor: COMPAQ Model: BD07296B44 Rev: HPB6
Type: Direct-Access ANSI SCSI revision: 03
Run Code Online (Sandbox Code Playgroud)
/proc/scsi/aic7xxx
:
Adaptec AIC7xxx driver version: 7.0
Adaptec (Compaq OEM) 29160 Ultra160 SCSI adapter
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Allocated SCBs: 36, SG List Length: 128
Serial EEPROM:
0xcb3a 0xcb3a ...
Target 0 Negotiation Settings
User: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
Goal: 40.000MB/s transfers (40.000MHz, offset 63)
Curr: 40.000MB/s transfers (40.000MHz, offset 63)
Channel A Target 0 Lun 0 Settings
Commands Queued 170636
Commands Active 1
Command Openings 31
Max Tagged Openings 32
Device Queue Frozen Count 0
Target 1 Negotiation Settings
User: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
Goal: 40.000MB/s transfers (40.000MHz, offset 63)
Curr: 40.000MB/s transfers (40.000MHz, offset 63)
Channel A Target 1 Lun 0 Settings
Commands Queued 147132
Commands Active 0
Command Openings 32
Max Tagged Openings 32
Device Queue Frozen Count 0
Target 2 Negotiation Settings
User: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit)
Goal: 40.000MB/s transfers (40.000MHz, offset 63)
Curr: 40.000MB/s transfers (40.000MHz, offset 63)
Channel A Target 2 Lun 0 Settings
Commands Queued 146405
Commands Active 0
Command Openings 32
Max Tagged Openings 32
Device Queue Frozen Count 0
Run Code Online (Sandbox Code Playgroud)
dmesg | grep scsi
:
scsi host2: Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
scsi 2:0:0:0: Direct-Access COMPAQ BD07296B44 HPB6 PQ: 0 ANSI: 3
scsi2:A:0:0: Tagged Queuing enabled. Depth 32
scsi target2:0:0: Beginning Domain Validation
scsi target2:0:0: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 63)
scsi target2:0:0: Domain Validation skipping write tests
scsi target2:0:0: Ending Domain Validation
scsi 2:0:1:0: Direct-Access COMPAQ BD07296B44 HPB6 PQ: 0 ANSI: 3
scsi2:A:1:0: Tagged Queuing enabled. Depth 32
scsi target2:0:1: Beginning Domain Validation
scsi target2:0:1: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 63)
scsi target2:0:1: Domain Validation skipping write tests
scsi target2:0:1: Ending Domain Validation
scsi 2:0:2:0: Direct-Access COMPAQ BD07296B44 HPB6 PQ: 0 ANSI: 3
scsi2:A:2:0: Tagged Queuing enabled. Depth 32
scsi target2:0:2: Beginning Domain Validation
scsi target2:0:2: FAST-40 SCSI 40.0 MB/s ST (25 ns, offset 63)
scsi target2:0:2: Domain Validation skipping write tests
scsi target2:0:2: Ending Domain Validation
Run Code Online (Sandbox Code Playgroud)
电缆是末端带有终结器的 LVD Ultra320 电缆,我已经更换了它,问题仍然存在;跳线配置无关紧要,因为无论跳线如何放置,只有一个驱动器连接到控制器时问题仍然存在。
驱动器的 PCB 上还有一些用于“高级”设置的引脚,上面有一个带有跳线的“窄/宽”设置,如果我将其取下,驱动器的默认速度甚至更低,为 10 MB/s。
控制器插入标准 PCI 插槽,因此根据文档,我只能获得在 64 位 66 Mhz PCI 接口上获得的带宽的四分之一,但这仍然是 133 MB/s,我什至没有接近那个。
一些与类似问题相关的帖子告诉修改卡的选项 ROM 中的设置,除了这是一个 OEM 部件,上面没有任何 ROM 芯片,并且内核模块的选项没有任何可以帮助解决问题的东西,例如禁用自动检测并强制特定的链接速度。
我已经搜索了很多但没有发现任何探测,这封旧电子邮件显示控制器至少能够达到 80 MB/s,而最近的这篇文章显示了该控制器以 160 MB/s 的速度运行的日志,但除此之外,我没有找到任何可以帮助我解决这个神秘问题的方法。
除了更换硬件之外,我还能做些什么来提高性能(至少 80 MB/s,但更多更好)?
注意:我知道这是旧硬件,但只要它可以工作,我宁愿不更改它,因为故障造成的成本基本上为零。