我需要在现有的 2 节点 SQL Server 故障转移群集 (Windows Server 2003) 上创建群集文件共享的万无一失的说明。场景是我在两个节点上都安装了一个非集群感知应用程序,它需要在特定目录的子文件夹之间创建和复制文件。无论集群中的哪个节点处于活动状态,我都需要一个在此应用程序中显示为单个文件夹(例如网络共享)的文件共享。
我尝试按照这篇TechNet 文章中的说明进行操作,但立即遇到了困难。例如,TechNet 文章中的第 1 步说:
- 使用 Windows 资源管理器,在集群磁盘上创建一个文件夹
如何知道哪个磁盘是集群磁盘?
在同一篇文章的第 4 步中,您必须创建一个物理磁盘资源。当它提到“可能的所有者”时,我在向导的第 2 页停止了 - 这是否始终是两个节点,以及勾选“在单独的资源监视器中运行此资源”框的效果是什么。
最后,一旦我创建了文件共享,它是如何暴露给我的应用程序的?我是否将它传递给 UNC 路径,例如网络上的常规文件共享?
基本上,我需要一个白痴指南,这样我就不会弄乱现有的 SQL 配置。
这些说明可能更容易遵循。
如何知道哪个磁盘是集群磁盘?
如果您有一个 2 节点 SQL 集群,那么您已经拥有一些集群磁盘资源。启动 cluadmin,如果您查看资源组内部,您会在集群和 SQL 组下看到一些物理磁盘。出于性能/依赖性原因,我不建议使用与 SQL Server 群集相同的磁盘资源。最好的方法是创建一个新的资源组,使用新的 IP、网络名称和磁盘资源。如果您想这样做,您将需要配置另一个足够大的磁盘和/或磁盘分区来存储应用程序的文件。你怎么做到这一点?这取决于您的服务器使用的共享存储技术?它将类似于带有 iSCSI 或 HBA 的 SAN,甚至可能是直接连接的存储阵列(老派)。
在最坏的情况下,您可能会使用集群组中的仲裁驱动器而侥幸成功!它还有助于您已经设置了网络名称和 IP 地址资源。这将是您用于访问共享的 UNC 路径中的主机名。
因此,使用我在第 4 步中提供的说明。您可以使用集群组!从那以后应该没事吧?
勾选“在单独的资源监视器中运行此资源?
资源监视器是一个进程 (resrcmon.exe),它将检查资源是否可用,如果不可用,则让集群服务知道。如果您勾选该框,那么您最终会得到一个单独的 resrcmon.exe 用于该资源。如果另一个资源导致监视器崩溃,这可能很有用,在正常情况下我不会勾选它。