如何将SAN存储支持添加到您的应用程序中?

问题描述:

我想在我的应用程序中添加San Storage支持。是否有可用于与EMC Centera,Hitachi,NetApp等所有SAN存储设备进行通信的标准协议,还是必须使用特定于每个供应商的库?如何将SAN存储支持添加到您的应用程序中?

简而言之,我想将设备上的数据保存并读回。我知道这些设备可以安装为驱动器或发布为网络共享,但是我们是否具有开放的API级别访问权限?

有没有人向你的应用程序添加过这样的支持,如果是这样的话?

通常,这些设备将以透明的方式连接到Windows和/或SQL Server,例如,作为应用程序开发人员,您不应该也不应该处理SAN附加的实施细节。

通常情况下,您只需使用连接到SAN的驱动器盘符,或者将SAN中的网络共享作为文件系统中的某个目录安装。

Marc

+0

我认为,就像OP一样,在答案的第二部分混合了SAN和NAS。在Unix风格的操作系统下,SAN通常会将自己表现为一个或一组块设备,可以像使用本地块设备(即磁盘)一样安装。 – fvu 2009-10-11 12:53:27

+0

是的,这就是我期待的 - 您处理SAN“卷”或任何你想称之为磁盘和/或挂载在目录中的任何东西。我没有看到如何使用这种存储磁盘或目录与本地磁盘不同。不确定OP是否在讨论发现和/或挂载/卸载这些SAN卷的实际过程,尽管... – 2009-10-11 13:37:49

将SAN LUN“挂载”为块设备,使用文件系统格式化设备并使用普通文件IO操作访问它会出现什么问题?

顺便说一句:SAN通常不能通过网络共享访问? SAN是块级抽象。但是像NetApp Filer这样的一些NAS(网络附加存储)设备除了提供CIFS/NFS访问之外,还提供了块级访问。

在您希望支持的应用程序中是否有与常规磁盘I/O有明显区别的东西?

如果不是,请使用System.IO命名空间中的常规磁盘写入和磁盘加载例程。否则,你会添加不必要的复杂。

如果有一些具体的东西,那么你将不得不写入个别供应商的API。