如何建立快速的局域网


35

我从事电影制作工作,需要非常快速地访问非常大的原始素材文件。我目前正在将eSATA 6Gbps扩展坞用于内部硬盘驱动器,其运行速度与驱动器的速度一样快。

如果我要使用服务器并通过网络连接到我的工作站,那么什么(相对负担得起的)技术可以使我接近或超过驱动器速度?


12
如今,10Gbps以太网已进入“如果您有预算,则负担得起”的范围。但是,8或16 Gbps SAN(存储区域网络-aka光纤通道)可能更适合特定用途吗?
Ecnerwal

3
它是为存储网络专门设计/优化的。
Ecnerwal

3
只是想检查-您是否在使用SSD?如果不是,那是必不可少的升级。
trpt4him

1
与这里更简单,更便宜的NAS相比,我认为SAN没有任何附加价值。
jiggunjer

3
要正确回答这个问题,需要更多信息:必须存储哪些数据量,多少个并发用户,从何处访问数据(哪种机器)?如果从具有1Gbs网络适配器的2或3台计算机进行访问,则100Gbs网络将无济于事。
JFL

Answers:


31

从2017年上半年在线获取的信息来看,最快的SATA HDD看起来最大速度约为220 MB /秒,即1.760 Gigabit /秒。

因此,如果您只是想打败单个驱动器的速度,并且出于对大容量视频文件的每TB成本考虑而仅限于HDD,那么10 Gb以太网就足够了。


顺便提一句,请注意,Thunderbolt Networking也为10 Gigabit / sec,因此,如果您已经有Thunderbolt端口,则可以尝试一下。可以想象,它可以击败6个千兆eSATA 3端口,尽管我不确定,因为eSATA特定于存储,而通过以太网进行存储则有更多开销。还要注意,Thunderbolt是台式机总线。它只能到达几米,而不是10千兆以太网可以处理的100m。因此,尽管您在权衡各种选择时可能会对Thunderbolt进行试验和制作原型感兴趣,但除非您希望将所有工作站和磁盘在一张大桌子上保持背对背连接,否则它可能不是适合您的长期解决方案。


因此,这适用于单个HDD。但是,如果将这些驱动器一起RAID,以便每次读取或写入都分散到多个驱动器中,则可以获得比单个驱动器性能更好的性能。此外,根据您的预算,您可以将PCIe / M.2 NVME SSD放入PC充当服务器/ NAS,并且可以实现极高的快速存储性能(大约3.4 Gigabyte /秒== 27 Gigabit /秒)驾驶。

在这种情况下,您可能希望查看比10 Gb以太网更快的产品,但在网上浏览时,价格似乎会飞跃地超过10 Gb以太网。因此,您可能希望查看跨多个10Gigabit链路的链路聚合。如果您不介意在eBay上购买二手设备所带来的麻烦,我还曾在网上看到一些使用网络设备的轶事,例如可以在eBay上以便宜的价格购买二手40Gbps InfiniBand东西。


1
多个10Gbit NIC +绑定怎么办?
安德烈·鲍里(AndréBorie)

2
绑定允许具有不同物理链接的单独流使用,但是单个流将仅使用一个NIC。因此,当多个文件同时提供给不同的人时,这将很有用,但不会增加单个文件访问的带宽。
JFL

4
@JohnU不,对于标准的1500字节帧,以太网的效率为94%,对于巨型帧甚至更高。我通常不需尝试即可看到930+ Mbps的吞吐量。千兆以太网不允许集线器,仅允许交换机,因此它始终是全双工的,因此永远不会发生冲突。
Spiff

1
@JFL以太网绑定(IEEE 802.3ad链路聚合)按数据包而不是按流分配负载。因为网络技术通常是在离散层中设计的,所以以太网(第2层,数据链路层)对它上面的协议(例如IP或TCP)一无所知,因此它对流量也一无所知。
Spiff

2
@JFL Linux聚合肯定可以使用一些layer3 +信息(Linux可以做很多不同寻常的事情),请记住,您确实需要双方都支持相同的绑定方法才有用。如果要连接到交换机,则可以真正使用该交换机支持的功能。
Zoredache

5

如果您坚持使用SATA磁盘,则在服务器上实施10Gb以太网并构建合理大小的RAID10将使您获得比单个SATA磁盘明显的性能提升。这将是一笔值得的投资,因为您可以根据需要在多个工作站之间共享服务器,并在将来通过添加交换机来添加服务器。您需要使用Cat-6以太网电缆,因为Cat-5E不会削减它-别忘了将此费用添加到您的计算中。您还可以添加SSD作为缓存,以进一步提高系统速度。由于您正在使用录像,因此我假设您需要大量的存储空间,而仅使用SSD进行构建将非常昂贵。

您可以从Dell或HP购买预制的机架式服务器并使用硬件RAID卡,或者,如果您更多是硬件人员,则可以从Supermicro购买更便宜的机箱,并使用软件RAID自行构建存储计算机。 Windows或Linux。涉及RAID1时,硬件RAID通常会更快,因为软件必须依次写入每个磁盘,并等待写入完成才能进行下一个操作。RAID卡通常可以并行写入两个磁盘,并缓存写入操作,从而将控制权立即返回给OS。请注意,尽管RAID0会更快,但您没有冗余,并且单个驱动器故障将导致完全数据丢失。当您要保留数据时,切勿使用RAID0。

在高端,您有存储区域网络(SAN),但这些存储区域网络旨在允许并行运行来自大量单独客户端的许多操作;这样做的好处是,对于少数连接的计算机,吞吐量非常高,但是对于您的需求而言可能会过高,而且非常昂贵。在低端,您有其他人提到的网络连接存储(NAS)设备,但是尽管比完整的服务器简单得多,但我不建议您使用它们,因为NAS经常是黑匣子。它们旨在为大多数用户即插即用,因此您对操作系统几乎没有控制权-我只需要退回我为客户办公室购买的小型NAS,因为一天使用后它变得不稳定。

构建服务器的另一个优点是,您可以将所有素材集中在一个地方,这使得实用且定期备份相对容易。永远不要忽略您的备份策略;有一天,您将需要依靠它!


3
“软件必须依次写入每个磁盘,并等待写入完成,然后再进行下一个操作”。数十年来,事实并非如此。如今,即使非服务器磁盘也支持命令排队。严格来说,使用DMA软件也不需要等待。自1998年左右以来,台式机就一直支持该功能。
MSalters

可能值得注意的是,虽然您的第一句话对单个用户是正确的,但10Gb共享带宽意味着在多个用户尝试同时访问共享时,每个用户获得的带宽最终将降至单个用户SATA级别以下。
Dan Neely

2
NAS从定义上来说并不是某种特殊的设备,您可以使用具有samba或NFS的普通Linux PC并将其称为NAS。关键区别在于文件级共享与块级共享。块设备一次只能由一个客户端使用。SAN也更昂贵,并且需要更长/更多的知识来配置。
jiggunjer

@jiggunjer确实如此,但是大多数使用Samba构建PC的人都将其称为文件服务器,而不是NAS。我只是在玩意指专用设备的技术性。关于SAN也很正确,这就是为什么我将它们归类为过大。
Gargravarr

@DanNeely是的,随着添加了更多具有同步访问权限的客户端,到每个工作站的速度将降低,但是从服务器输出的数据总速率应该保持很高。SSD缓存的增强可以弥补其中的大部分。
Gargravarr

3

10gbe的灵活性和易配置性无与伦比,但是SAS令人惊讶的是它本身可以联网:

对于少数不需要一次从多台计算机写入卷的工作站(n <8),SAS可以很好地工作。借助Tyan JBOD(1,500美元)和LSI HBA(400美元),我们可以获得3,400 MB / s(27 Gbps)的持续传输到SSD。JBOD具有一个内部交换机,该交换机具有到HBA的3个上行链路,但是SAS交换机可用于更高的端口数。

这是对其中一卷的速度测试:

CDM5显示2,862MB / s的顺序读取,队列中有32 iops。 4k单线程随机读取29MB / s

在内部,我们将此解决方案与运行Windows Storage Server的群集Windows Server一起使用,该存储空间已分配给使用10gbe的客户端。

群集Windows服务器


2

https://www.newegg.com/Product/Product.aspx?Item=N82E16820147593&cm_re=samsung_m.2- -20-147-593--产品

首先,使用正确主板的M.2 SSD可以达到2gb-4gb / s,甚至可能更高。RAID将其中的一些结合在一起,您的速度将更高。

组合多个10gb NIC可以使您接近原始速度。

超过10克的钱更多。

40吉比特NIC https://www.serversupply.com/products/part_search/pid_lookup.asp?pid=263133&gclid=Cj0KEQiA9P7FBRCtoO33_LGUtPQBEiQAU_tBgIU2jZrJKf0kXFy96roOllcRkp_7_VoubG7


超过10gb可能还会使本地总线速度成为限制因素:) PCI-express 2.0 x16插槽理论上为64GBit / s-但所有方面的开销(总线到内存,驱动程序到内存,cpu负载) ...)会把它咬得很近,如果您的10GBe以线速运行,您会很高兴...
rackandboneman

2
@rackandboneman:这就是为什么您拥有智能NIC的原因。10Gb / s以太网是原始速度。以太网,IP和TCP标头可以由NIC处理,而让CPU仅处理实际数据。
MSalters

如果这些卸载机制与您的应用程序场景结合使用-虽然它们减少了CPU使用率,但它们不会显着减少数据量,除非首先将大量流量
浪费

@rackandboneman PCIe 3.0 x16存在,因此速度可以提高一倍。
Cyber​​nard

10gbe可能比这便宜得多:Mellanox nic为180美元,而25gbe接近Mellanox 25gbe为300美元。杀死您的是交换机的端口成本,但是eBay或完整的网格使该问题消失了。
米奇

0

请使用带有光纤交换机的光纤以太网卡,最好是带有衬垫的多模或单模。如果您有预算,则可以使整个事情达到10gbps,如果将链路聚合与双端口光纤卡一起使用,则可以达到20gbps。由于“相对负担得起”一词会根据您的预算而变化,因此有关您愿意支出的实际数字会有所帮助。


0

最便宜的方法是使用链路聚合(IE运行N条电缆,通常为2条)而不是一条。

这样,便宜的1Gb链接将变成2Gb链接。

显然,这意味着单个客户端服务器至少需要4个端口。


并且客户端需要2个端口...简单的交换机可以使用吗?还是应该直接链接?
jiggunjer

可以使用@jiggunjer简单开关,但是您需要在使用此方案的所有计算机/服务器上进行特殊配置
Antzi

这种聚合与@Spiff的答案注释中提到的绑定相同吗?在这种情况下,单个文件访问的带宽不会增加……
jiggunjer

@jiggunjer这实际上取决于您如何进行设置,因此我无法真正回答。
Antzi

1
@FlorianCastellane我买的最新便宜的不是。取决于规格
Antzi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.