可以使用 USB 集线器从两个设备访问驱动器吗?

hum*_*man 31 usb hard-drive

比方说,我有一个 USB 集线器,然后我将它插入硬盘驱动器(例如,我将通常用于 PC 的 USB 电缆插入硬盘驱动器),然后我将例如两台 PC 插入它(例如,我将其插入有多个USB插槽的部分),两台PC可以同时读取和写入数据吗?

dir*_*rkt 68

不可以。USB 按照设计只能有一个主机(一台 PC)。

您可以获得的是一种“开关”,通常与 USB 集线器结合使用。然后,您可以将两台 PC 连接到它并在它们之间手动切换。但一次只能有一台 PC 作为 USB 主机。

如果您想在两台 PC 之间共享一个硬盘,那么还有其他方法可以做到这一点(例如 NAS = 网络附加存储)。

  • 不仅 SCSI 会话会成为问题。操作系统积极缓存对文件系统的访问,对于两个操作系统同时访问同一个块设备/文件系统,它们需要同步对文件系统元数据的访问,如果可能的话,这将非常缓慢。 (12认同)
  • 如果您想与多个设备共享一个 USB 大容量存储设备,请将其连接到具有共享与其连接的 USB 存储设备的路由器,从而允许访问存储。 (11认同)
  • @NicHartley:USB 协议是有状态的,所以不容易:中间设备必须记住设备的各种状态,如果两台主机希望它们处于不同的状态,要么采取变通办法,要么在这种情况下明显失败。它还必须决定将答案发回给哪个主机。对于简单的 USB 设备,它可能可以工作,对于 USB 存储设备也可能如此。但是,仅对于 USB 存储设备,中间设备可能更容易模拟两个不同的 USB 从设备,并将 SCSI 命令传递给驱动器。 (8认同)
  • @NicHartley 其他限制是驱动器的本机命令集和文件系统通常不允许从多个主机同时访问,即使您通过了 USB 障碍。您每次都必须开始/结束一个新会话,此时您比手动切换驱动器好不了多少(等待来自其他主机的切换时会有很大的延迟)。 (3认同)
  • @Aron:实际上,这绝对有可能,而且不太可怕。它已用于高可用性系统,以便两台计算机共享相同的磁盘。即使其中一个崩溃,这也允许不间断运行。**但是**这需要操作系统合作。 (3认同)

use*_*070 26

不可以。您不能在不同主机之间共享 USB 设备。USB 开关可让您断开 USB 设备与一台计算机的连接,然后通过按下按钮将它们连接到另一台计算机。主要用途(最有可能)是将键盘鼠标组连接到两台 PC 并根据需要进行切换。

但即使 USB 允许您进行设置,您也会遇到麻烦。如果数据由两台计算机同时写入,大多数文件系统将被损坏/变得不一致/损坏。请不要将此与 Samba/Windows Shares、NFS 等特殊协议混淆。在这些情况下,只有共享数据的计算机才会继续为其他计算机读取和写入磁盘。因此,虽然多台计算机可以访问,但一台计算机控制所有的读写访问。

如果您想在两台 PC 之间共享一个硬盘,您可以在其中一台 PC 的操作系统中使用共享选项(例如,Windows Shares、NFS)。此外,当今的家用路由器和 NAS 允许轻松共享网络中的附加存储。


Dmi*_*yev 5

使用标准 USB 电缆将集线器插入两台 PC 在物理上是不可能的。集线器和PC的下行端口都有A型插座,并且没有标准电缆将两个A型插座连接在一起。

当您尝试将集线器的上游端口连接到硬盘驱动器时,会出现同样的问题,因为它们都有 B 型插槽。这种情况有例外,因为上游端口允许有 AB 或 C 型插座,但它仍然无法工作,因为 USB 在总线上没有主机的情况下无法正常工作。


小智 5

不,您不能,但还有其他类似的解决方案。

如果您要在网络上设置 NAS(网络附加存储),那么两台 PC 都可以读取网络存储设备。这将适用于整个网络,因为它连接到网络。如果需要,您甚至可以将 USB 上的驱动器或子目录映射为驱动器。

或者,您可以将 USB 插入另一台 PC 并通过手动设置 ip 地址(如果它们尚未映射)映射一台 PC 读取另一台 PC,设置共享设置,然后通过以太网连接它们,但我很确定您无法使用此方法自动访问外部驱动器(插入 USB 的任何东西),除非它们被专门映射。在这种情况下,驱动器将仅插入一台计算机,另一台 PC 将通过以太网通过另一台 PC 读取驱动器。