samba – 现代数据中心的共享磁盘(SAN,虚拟化等)

我是一名开发人员……在国外地形上跋涉.请原谅任何天真的人.

我在一个应用程序上工作,该应用程序在数据库文件系统中存储数据.

上下文:群集和网络共享

过去当我们运行应用程序集群(即多个应用程序服务器面向数据)时,我们已按如下方式处理文件系统:

>节点A:共享“数据目录”(通过samba或nfs)
>节点B,C,D等:安装“网络共享”并在其“数据目录”中使用它

节点B,D的“磁盘速度”降低不是最理想的,但不是一个大问题.

另请注意:应用程序使用自己的文件锁定机制.并发写入不是问题.

问题

>因此,在现代数据中心,光纤通道将服务器连接到SANS,在多个服务器之间共享“大块磁盘”的最佳方式是什么?
>这种“磁盘共享”是否被广泛使用?
>任何特定于操作系统的问题(“适用于Linux,但不适用于Windows”)
>有任何警告吗?难以配置,不可靠等?

我从我们的系统管理员那里听到了很多“我们做不到的事情”……最后当我问到更多细节时,他们说“好吧,从技术上说这是可能的,但这不是我们在这里做的事情”

提前致谢,

更新:感谢您的回答. (他们都很好:我必须选择一个.抱歉,如果不是你的话)正如我(有点)预期的那样:我希望你可以简单地将NTFS或XFS或任何“常规”文件系统附加到同一个’大块“磁盘”被证明是天真的.集群文件系统就是票证.而花哨的文件系统并不是我们托管团队的首要任务.

解决方法

“well,technically it’s possible,but it’s not how we do it here”

这听起来很像我经常告诉开发人员;)

从企业运营的角度来看,您希望应用程序尽可能使用标准的可重复解决方案.如果您的申请不需要/需要特殊待遇,您将无法获得.非标准解决方案需要专业技能,更昂贵或更简单的设备,如果它是“最先进的”故障通常也是灾难性的.

对于许多应用程序,(高可用性)文件共享仍然是非常合适且通常部署的解决方案.

使用文件共享的常见HA备用解决方案是:

>不要将文件存储在文件系统上,而是使用高可用性数据库并将其存储为BLOB.一种非常常见的方法.通常你已经需要一个数据库,这使得应用程序服务器几乎无状态,通过将它们转移到数据库层来解决许多锁定,复制,HA,一致性和访问问题,其中很多问题都是旧的新闻,很好理解和解决了.一旦达到PB级别(相当大的一小部分),维护起来可能会很昂贵.
>适当的集群文件系统,允许通过光纤通道或iSCSI对共享存储进行并发读写块级访问.企业存储阵列往往是pretty expensive,但这可以很好地扩展.群集文件系统通常需要(昂贵)许可群集FS软件的每个节点.在专业应用程序的企业环境中也很常见.>使用分布式对象库.这是一种更开源的解决方案,具有低端商用硬件,可在软件中创建冗余和可扩展性.这是一种常见的“云”方法.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...