在早期版本的 Internet Information Services 中,Microsoft 提供了常规资源监视器通过使用群集的基础结构 Microsoft 支持高可用性 Web 服务器实例的组件。 但是,来完全实现本解决方案的潜在需要的自定义代码。

此外,Microsoft 提供的脚本不满足客户需求。若要通过使用 Windows Server 故障转移群集配置在群集环境中的IIS 7.0,具有启用高可用性方案中使用自定义的(脚本)代码。这样做时用户可以自定义安装程序以满足其要求。 这样,他们就可以完全控制 Web 应用程序的高可用性集成。 此外,脚本接口用于管理和监视 IIS 7.0 中引入的提供更丰富的环境比以前所提供的脚本。
注意 IIS 7.0 安装文件不正确地包括在 Clusweb.vbs 并 Clusftp.vbs 脚本文件用于 IIS 在 IIS 6.0 中的群集管理任务。不要使用这些脚本与 IIS 7.0。
我们建议管理员仔细而不是使用故障转移群集作为主要的和首选方法,用于改善可伸缩性和可用性的Web 应用程序有多个正在运行 IIS 7.0 的服务器的评估使用的网络负载平衡(NLB)。NLB 的一个好处是所有的服务器可以积极地参与并发传入的 HTTP 请求的处理。另一个好处是在一个NLB IIS 环境中它可以更容易地支持滚动更新和回滚,但仍能提供高可用性的Web 应用程序。 有关如何使用 IIS 7.0 NLB 环境中的详细信息请访问以下 Microsoft 网站:

http://learn.iis.net/page.aspx/213/network-load-balancing (http://learn.iis.net/page.aspx/213/network-load-balancing)
http://technet.microsoft.com/en-us/library/cc770558.aspx (http://technet.microsoft.com/en-us/library/cc770558.aspx)

若要配置为使用故障转移群集的IIS FTP服务器的高可用性,请执行下列操作:

  • 所有群集节点上安装Web 服务器角色。 如果在 Windows Server 2008 上安装不包括FTP服务器角色。如果在 Windows Server 2008 R2 上安装包含中的框FTP服务器角色。有关IIS7部署指南的详细信息请访问以下网站:

http://technet.microsoft.com/en-us/library/cc771752(WS.10).aspx

如果在 Windows Server 2008 上安装下载并安装 FTP 7.5,从下列位置之一:

    • Microsoft FTP 服务 7.5 IIS 7.0 (x 86) 为:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b7f5b652-8c5c-447a-88b8-8cfc5c13f571

Microsoft FTP 服务 7.5 为 IIS 7.0 (x64):

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ffb7c167-279e-48d3-8169-dea85784c4d1

在所有群集节点上安装故障转移群集功能,并创建群集。 有关详细信息请访问以下网站:

http://technet.microsoft.com/en-us/library/dd197477(WS.10).aspx

  • 设置用于 IIS 共享的文件共享配置。
  • 所有群集节点上配置 IIS 共享的配置。
  • 所有群集节点上配置 IIS 共享配置脱机文件。
  • 配置 FTP 站点,并在一个群集节点上指定其内容的位置。
  • 通过在故障转移群集中创建通用脚本配置高度为您的 FTP 站点的可用性。

设置用于 IIS 共享配置文件共享

  1. 创建用户将访问将 IIS 共享配置为使用该共享的人员。
  2. 创建文件共享。 此共享将用于存储 IIS 共享的配置将在所有群集节点上的 IIS 之间共享。 有多个选项:
    • 在独立服务器不是任何故障转移群集的一部分上, 创建文件共享。
    • 在另一个的 Windows 服务器故障转移群集上创建高可用性文件共享。 有关详细信息请访问下面的 Microsoft 网站:

http://technet.microsoft.com/en-us/library/cc731844.aspx

    • 在相同的故障转移群集的将承载高可用性的 FTP 站点,创建高可用性文件共享。 有关详细信息请访问下面的 Microsoft 网站:

http://technet.microsoft.com/en-us/library/cc731844.aspx

  1. 2。 授予创建文件共享的步骤 1 完全控制权限和 NTFS 权限在该用户。
  2. 请确认所有群集节点都可以都浏览到文件共享。 文件共享的路径是 \\ <fileservername> \ <sharename>.

在所有群集节点上配置 IIS 共享的配置

其中一个群集节点上将导出到文件共享的共享的配置:

  1. 定位到 管理工具,然后单击 Internet Information Services (IIS) 管理器
  2. 在左窗格中单击服务器名称节点。
  3. 双击 共享配置 图标。
  4. 在共享配置页上单击 导出配置 导出配置文件操作窗格 (右窗格) 中从本地计算机到另一个位置。
  5. 将配置导出 对话框中键入文件共享的路径 (\\ <fileservernae> \ <sharename>) 物理路径 框中。
  6. 单击 连接身份,然后键入用户名称和有权访问该共享用户帐户的密码共享的配置存储,然后单击 确定。 此帐户将用于访问该共享。 您应使用受限制的 Active Directory 帐户不是域管理员。
  7. 将配置导出 对话框中键入用于保护加密密钥,然后单击 确定 的密码。
  8. 共享配置 页上单击以选中 启用共享的配置 复选框。
  9. 键入物理路径、 用户帐户和以前,输入的密码,然后单击操作窗格中的 应用
  10. 加密密钥密码 对话框中键入前面,设置加密密钥密码,然后单击 确定
  11. 在共享配置对话框中单击 确定
  12. 单击 确定

每个其他群集节点上使用刚才导出到文件共享该共享的配置:

  1. 定位到 管理工具,然后单击 Internet Information Services (IIS) 管理器
  2. 单击服务器名称节点。
  3. 双击 共享配置 图标。
  4. 共享配置 页上单击以选中 启用共享的配置 复选框。
  5. 键入文件共享的物理路径 (\\ <fileservername>\ <sharename>),用户帐户和密码,您以前,输入然后单击在操作窗格中的 应用
  6. 加密密钥密码 对话框中键入前面,设置加密密钥密码,然后单击 确定
  7. 在共享配置对话框中单击 确定
  8. 单击 确定

注意 有关如何设置 IIS 中的共享配置的详细信息请访问下面的 Microsoft 网站:

http://learn.iis.net/page.aspx/264/shared-configuration

配置 IIS 共享配置为所有群集节点上的脱机文件

每个群集节点上启用脱机文件:

  1. 安装桌面体验功能。 若要执行此操作,请按照下列步骤操作:
    1. 定位到 管理工具,然后单击 服务器管理器
    2. 在左窗格中单击 功能
    3. 在右窗格中,单击 添加功能
    4. 鍗曞嚮浠 ラ € 夋嫨 桌面体验 复选框,然后再单击 下一步
    5. 单击 安装 安装桌面体验。
    6. 閲嶆柊鍚姩璁 $ 畻鏈恒。
  2. 在控件面板中打开 脱机文件
  3. 单击 启用脱机文件
  4. 请确保缓存被设置为只读。 若要执行此操作可提升的 cmd 窗口中运行以下命令:

REG ADD "HKLM\System\CurrentControlSet\Services\CSC\Parameters" /v ReadOnlyCache /t REG_DWORD /d 1 /f

  1. 从计算机上浏览到文件服务器。 右键单击包含 IIS 共享的配置的共享,然后单击 始终脱机可用
    注意 如果是高度可用,如果您位于群集节点承载高度可用的文件服务器用鼠标右键单击该共享时,将不会显示主机 IIS 节点,始终脱机可用 选项在同一个故障转移群集上设置文件共享。 您必须将移动到另一个节点在高可用的文件服务器应用程序。
  2. 在控件面板中打开 脱机文件。 单击 打开同步中心,然后单击 计划
  3. 每一天或根据要求安排脱机文件同步。 您还可以配置脱机同步到运行每隔几分钟。 即使您不执行设置一个 scheduler,更改 Applicationhost.config 文件中的某些内容时,更改将反映在 Web 服务器上。

注意 有关如何在 IIS 中配置为共享配置脱机文件的详细信息请访问下面的 Microsoft 网站:

http://learn.iis.net/page.aspx/212/offline-files-for-shared-configuration

配置 FTP 站点,并在一个群集节点上指定其内容的位置

查找 FTP 站点内容文件所在的位置的群集节点拥有群集磁盘资源:

  1. 定位到 管理工具,然后单击 故障转移群集管理器
  2. 连接到群集。 如果所一个群集节点上群集会自动出现在列表中。
  3. 存储,下找到 FTP 站点内容将在其驻留的磁盘资源。 为此展开存储树对磁盘资源。 请确保存储空间不由在群集上的任何高可用性应用程序。 您将找到 可用的存储 下的存储空间。
  4. 注意在群集节点,该资源处于联机状态。 您将 IIS 配置的群集节点上。
  5. 注意群集磁盘资源名称。 您将使用此内容的文件。

资源处于联机状态,配置 FTP 服务器以使用共享的磁盘的 FTP 站点内容:

  1. 定位到 管理工具,然后单击 Internet Information Services (IIS) 管理器
  2. 在左窗格中展开服务器名称节点。
  3. 展开 站点,用鼠标右键单击 网站,然后单击 添加 FTP 站点
  4. 添加 FTP 站点 对话框中键入网站的名称。 为内容目录键入 FTP 站点内容文件的位置。 这是您在前面过程的第 5 步中记下群集磁盘资源的位置。
  5. 配置剩余的 FTP 站点设置。
  6. 单击 完成

通过在故障转移群集管理器中创建通用脚本配置为 FTP 站点的高可用性

对于最后一个步骤以高可用性配置为 FTP 站点,设置通用脚本资源用于监视 FTP 服务:

  1. 每个群集节点上将在本文末尾脚本复制 Windows\System32\inetsrv\Clusftp7.vbs。
  2. 定位到 管理工具,然后单击 故障转移群集管理器
  3. 连接到群集。 如果所一个群集节点上群集会自动出现在列表中。
  4. 用鼠标右键单击该群集,然后单击 服务或应用程序的配置。 在向导创建高可用性工作负荷。
  5. 单击 通用脚本
  6. 选择脚本文件从以下路径:

%systemroot%\System32\Inetsrv\Clusftp7.vbs

  1. 将客户端访问点 (CAP) 名称设置为客户端连接到高可用性的 FTP 站点将使用该 FTP 站点名称。 指定 FTP 网站 CAP 使用静态 ip。 如果使用的动态主机配置协议 (DHCP) 将不显示此选项。
  2. 选择存储 步骤上选择 FTP 站点内容文件驻留在群集共享的磁盘。 存储空间应为未使用由在群集上的任何高可用性应用程序。 如果用于 IIS 共享配置文件共享驻留在同一个群集上,应在此处使用不同的磁盘资源。
  3. 确认这些设置之后,该向导将创建群集组、 群集资源和在资源之间相关性,然后使资源联机。

注意 要承载相同的故障转移群集上的多个高可用性 FTP 站点,请按照相同前面提到的步骤。 如果您确实不自定义脚本,您可以指向所有 FTP 站点的群集上相同的脚本文件。 但是,如果进行了特定于单个 FTP 站点更改为每个 FTP 站点和不同的群集共享的存储使用不同的脚本文件。 渚嬪 %systemroot%\System32\Inetsrv 中的第一个 FTP 站点 Clftp7 2.vbs 的第二个 Clftp7 3.vbs 对于该绗使用 Clusftp7.vbs 等等。 Each script file monitors a different FTP site.

'This script provides high availability for IIS FTP websites

'The script is applicable to:

' - Windows Server 2008: Microsoft FTP Service 7.5 for IIS 7.0 (available for download from microsoft.com)

' - Windows Server 2008 R2: FTP Service in the box

'More thorough and application-specific health monitoring logic can be added to the script if needed

Option Explicit

'Helper script functions

'Start the FTP service on this node

Function StartFTPSVC()

Dim objWmiProvider

Dim objService

Dim strServiceState

Dim response

'Check to see if the service is running

set objWmiProvider = GetObject("winmgmts:/root/cimv2")

set objService = objWmiProvider.get("win32_service='ftpsvc'")

strServiceState = objService.state

If ucase(strServiceState) = "RUNNING" Then

StartFTPSVC = True

Else

'If the service is not running, try to start it

response = objService.StartService()

'response = 0 or 10 indicates that the request to start was accepted

If ( response <> 0 ) and ( response <> 10 ) Then

StartFTPSVC = False

Else

StartFTPSVC = True

End If

End If

End Function

'Cluster resource entry points. More details here:

'http://msdn.microsoft.com/en-us/library/aa372846(VS.85).aspx

'Cluster resource Online entry point

'Make sure the FTP service is started

Function Online( )

Dim bOnline

'Make sure FTP service is started

bOnline = StartFTPSVC()

If bOnline <> True Then

Resource.LogInformation "The resource failed to come online because ftpsvc could not be started."

Online = False

Exit Function

End If

Online = true

End Function

'Cluster resource offline entry point

'On offline, do nothing.

Function Offline( )

Offline = true

End Function

'Cluster resource LooksAlive entry point

'Check for the state of the FTP service

Function LooksAlive( )

Dim objWmiProvider

Dim objService

Dim strServiceState

set objWmiProvider = GetObject("winmgmts:/root/cimv2")

set objService = objWmiProvider.get("win32_service='ftpsvc'")

strServiceState = objService.state

if ucase(strServiceState) = "RUNNING" Then

LooksAlive = True

Else

LooksAlive = False

End If

End Function

'Cluster resource IsAlive entry point

'Do the same health checks as LooksAlive

'If a more thorough than what we do in LooksAlive is required, this should be performed here

Function IsAlive()

IsAlive = LooksAlive

End Function

'Cluster resource Open entry point

Function Open()

Open = true

End Function

'Cluster resource Close entry point

Function Close()

Close = true

End Function

'Cluster resource Terminate entry point

Function Terminate()

Terminate = true

End Function