数据库的iSCSI,好主意

在使用iSCSI的服务器上运行事务数据库是一个好主意吗?

他们的主要观点是你可以有两台服务器访问同一个磁盘arrays,所以如果一台服务器打破了另一台服务器可以踢一个工作。

所以我有一个服务器在一些冷备用模式。 这个设置是否比在同一台机器上安装磁盘和服务器更安全?

这意味着iSCSI机器不会像服务器那样容易中断。

另一点是WAL,如果networking滞后,可能会受到负面影响。 任何经验?

我很高兴听到你对这个主题的意见。

您的问题需要分解为两部分:内部vs外部存储,以及iSCSI与备选scheme(FC,FCoE,NFS)。 我的经验是大型企业客户主要运行Oracle,所以这可能不适用于较小的环境或其他数据库。 在我看来,外部存储有很多价值, iSCSI是提供这个选项的一个select,但它并不像其他一些select那样成熟。

内部vs外部存储

通常在磁盘arrays中提供并通过存储区域networking(SAN)提供的外部存储提供了许多优点:

  • 性能快速,通常具有硬件加速RAID和大容量电池备份caching。
  • 易于扩展卷以使用更多磁盘来提高性能和容量。
  • 集中访问存储资源,避免浪费资源。
  • 能够共享高性能或高可用性群集(例如Oracle RAC)的存储。
  • 可能带有快照function并将数据复制到远程站点。
  • 可能会附带体面的分析工具来跟踪性能。

外部存储的主要缺点是build立和维护存储区域networking和存储arrays的复杂性和成本。

iSCSI与替代品

光纤通道目前是访问数据库外部存储的标准机制。 SAS(Serial-Attached-SCSI)常用于较不重要的数据,更多的是作为内部磁盘的扩展而不是SAN中的磁盘。 这些技术的关键在于它们在专用存储networking上运行。

像FCoE和iSCSI这样的新型备选scheme可以有效地提供与FC和SAS相同的协议,但它们可以在以太网上运行,因此可以使用与主机到主机networking相同的基础架构。 这个想法是,通过融合以太网,企业可以降低外部存储的成本和复杂性。 然而,关于以太网作为传输是否提供了专用技术的速度和可靠性仍存在疑问。

NFS是一个文件级协议,也可以通过以太网运行。 在过去,人们一直认为数据库的开销太大,但是在较新的networking适配器中使用硬件卸载,更好的OSnetworking堆栈以及数据库的直接支持(例如Oracle中的直接NFSfunction),这也是一个可行的select对于一些公司。 NFS特别好,因为它减less了调整卷大小的pipe理,也适合虚拟化存储的模型,如EMC VNX和Oracle ZFS Storage。

在我看来, iSCSI的存储networking传输比光纤通道或以太网上的光纤通道要稳定得多。 假设你已经做了所需的优化,它应该工作。 如果iSCSI连接是通过专用以太网进行传输的话,那么它将会工作得最好,没有非iSCSIstream量就可以阻止。 如果你想要去那里,ISCSI发起人已经变得更好,甚至现在支持多path。

至于通过iSCSI运行交易数据库,我有我的疑惑。 冷备用服务器应该能够获取热服务器停止的位置,假定它使数据库文件处于可恢复状态。 也就是说,专用存储传输networking真正发挥作用的一种用例就是这种“大量小事务”的用例。

最后,通过我的评估,它可以工作,但可能会比使用FC或FCoE更经常地灾难性地失败。

你提出了几个不同的问题。 首先,iSCSI可以用于交易数据库吗? 是的,一点没错。 但这是一个合格的是的。 在大多数实现中,您将从光纤中获得更好的性能。 你需要了解你的IO要求,以确定你是否真的需要这个性能。 如果没有,iSCSI可能是完美的。 有人说过,有时候会发生这样的情况:人们看到iSCSI是多么的容易实现,所以他们只是把它推出来,而没有考虑到devise。 在Google上很容易findiSCSI的最佳实践,但您应该考虑如何将stream量与其他stream量(专用交换机或VLAN)分开,如何实现巨型帧,是否使用MCS或MPIO(你的供应商可能会为你指定这个)等等。

第二个问题是你如何为你的数据库devise冗余。 是的,的确,如果主服务器出现故障,您可以将这些磁盘分配给另一个盒子,但是我不会依赖这个作为我的高可用性解决scheme,因为您不能保证即将死去的主服务器保持这些数据库的良好状态。 有很多方法可以做HA,而且大多数方法可以和iSCSI协同工作,但是你需要考虑更多的思想。

我们在Oracle事务数据库环境中使用了iSCSI到外部存储多年,没有麻烦和出色的性能。 iSCSI组件不是我们冗余计划的一部分。 正如别人所说的那样 另外,由于其他原因,我们正在使用Oracle的DNFS迁移到基于NFS的存储。 在11gR1中,我们看到了不less在11gR2中不存在的问题。 我们还没有足够的用户来看看性能是如何实现的。 这可能发生在接下来的几个星期。

你的计划是严重的缺陷,因为使用iSCSI的性能将明显劣于本地驱动器。 此外,有更好的scheme比冷备用访问相同的驱动器,也遭受单点故障是最不可靠的部分 – 驱动器。

我build议你使用一个更传统的方法,一个已经过很好的testing和validation的工作。 在两台机器上使用本地磁盘,并使用主/从或主/主复制来提供冗余。

有许多SAS磁盘arrays允许多个服务器连接。 例如,configuration了双控制器的Dell MD32x0arrays可以使用多达四台服务器,每台服务器有两个冗余连接( http://www.dell.com/downloads/global/products/pvaul/en/powervault-md3200 -md3220-transition-guide.pdf )。

如果您没有build立SAN环境的具体需求,以前从未使用过SAN,只想要主动/备用故障转移,这将是一个更简单,更简单,更便宜的解决scheme。