如何为“只写”smb共享设置临时故障转移?

我的任务是build立一个存储服务器,用于“接收”来自运行非常昂贵的DNA测序操作并具有有限可中断性的Illumina机器的数据。 音序器本身被连接到由供应商提供的Windows PC上以运行控制软件,该软件预期可以转储数据的path(在几周内约12-16TB)。 存储服务器使用CentOS / samba为此提供共享。 我的问题是:有什么办法可以导致Windows PC上的共享“重新映射”,或者至less在存储服务器或networkingclosures的情况下caching到本地存储? 当然,我想知道这件事发生了。 请记住,因为没有足够的空间,我们不能在本地镜像所有东西。 基本上我希望音序器软件能够保持写入共享,只要有一些本地空间来保存数据,直到它可以同步。 如果这是可能的,我当然会增加额外的一两个驱动器来增加我们必须解决问题的时间。

我主要是一个Unix的人,所以在Windows世界的“明显的”解决scheme的指针赞赏。 我不想在音序器的Windows机器上安装各种各样疯狂的第三方软件,但是经过testing的可靠解决scheme可能是可以的。

编辑:应该补充,我不介意是否有创造性的解决scheme,根本不使用SMB。

TLDR:最重要的是 a)Windows客户端软件看到一个可以写入数据文件的pathb)这些或那样的文件最终在存储服务器上c)如果networking连接或存储服务器发生故障,软件不会被阻塞的时间窗口,并且可以使用本地连接的存储作为caching来继续写入数据。

这是一个奇怪的问题。 在集中式存储环境中,这是一种您期望的types,因为所有有价值的工作都是由服务器集中完成的,但是我从来没有听说有人使用单连接存储来做这件事。

您没有提到是否提供了存储服务器,或者您自己 – 在任何情况下,我所知道的唯一便宜的方法 – 高可用性的文件是使用DFS ,并准备好一些备用path并准备切换到。 问题是,直到您将DFS重新映射到新共享,您仍然会遇到写入失败。

如果您拥有世界上所有的资金,那么这是一个简单的问题 – 只需安装支持节点地理位移的集群存储设备,并运行多path驱动程序即可。 使用metro-cluster的Ne​​tapp就是一个例子,如果你正在寻找磁盘,来自IBM的SVC具有拆分IO对,甚至可能是VDisk镜像。

编辑:@mfinni让我思考脚本。 你说你的控制应用程序想要一个大型networking共享的“path” – 是否需要知道它的大? 如果你指示它写入本地驱动器,该怎么办? 是否可以将其configuration为编写足够小,尺寸足够大的文件,以便可以让脚本继续运行,以便在控制应用程序closures的情况下将脚本转移到NAS上?

另外,它会写入磁带? 磁带驱动器对于这些types的只写应用程序来说是完美的 – 每个磁带盒可容纳1.6TB的未压缩数据。

不是真的。 您可以为NAS共享设置一个故障转移群集,以减less故障发生的可能性。 这并不能消除数据丢失的可能性,而只是减less了失败点。

如果数据丢失是不允许的话,正确的做法是两件事之一:

  1. 推回软件供应商,以防止在networking存储消失时数据丢失。
  2. 让软件在本地写入,然后编写一个副本脚本,如果networking存储消失,将不会复制。

DNA测序仪有什么样的输出? 即时通讯猜测其超大型数据库拆分成2GB文件? 您可以编写一个小batch file,检查是否有多于两个文件,并复制具有最早修改date的文件,一旦成功完成删除它。 (假设它只输出文件,不需要旧文件),如果复制由于某种原因失败(例如NAS下降),它不会删除本地文件,并发送电子邮件。

恕我直言,一个稳定的NAS有更多的机会下去,因为连接到DNA序列发生器的计算机,是的networking可能会下降,但如果NAS有一个备用的以太网端口,你可以直接插入他们直接使用交叉(或不,MDIX和这样…)