| 概述 | |
| NLB 群集的无人参与安装 | |
| 基于映像安装 NLB 群集 | |
| 生成和分发磁盘映像 | |
| 附录 A |
您可用以下方法远程安装“网络负载平衡”(NLB) 群集:
1. | 使用 WMI 安装和配置 NLB 群集 |
2. | 在操作系统安装过程中无人参与地安装 NLB 群集 |
3. | 在操作系统安装过程中基于映像安装 NLB 群集 |
要执行全新安装或升级操作系统,可执行手动安装 (必须手动提供安装需要的所有响应),本文档中没有介绍这种安装方法,还可以使用所谓的应答文件执行无人参与安装。通过指定应答文件上的特定开关参数,可在操作系统安装完毕后安装服务器群集。操作系统和服务器群集的无人参与安装会在本文档“无人参与地安装 NLB 群集”部分中加以详细讨论。
执行操作系统干净安装的另一种方法就是使用基于映像的安装,也被称为磁盘克隆或简单克隆。克隆是部署 Microsoft Windows Server 2003 Enterprise Server 最快的方法。如果要部署的计算机具有相似的硬件,同时希望执行快速安装,不需要手动干预或仅执行最小程度的手动干预,则使用基于映像的安装将很有用处。基于映像的安装不能用于升级操作系统。基于映像的安装会在本文档的“基于映像安装 NLB 群集”部分详细讨论。
NLB 群集的无人参与安装由下列步骤组成:
1. | 规划和准备操作系统安装 |
2. | 准备 Windows Server 2003 Enterprise Edition 操作系统的无人参与安装应答文件 |
3. | 创建主安装 |
4. | 运行 winnt32.exe |
5. | 启用和配置网络负载平衡 |
有关如何规划和准备 Windows Server 2003 Enterprise Server 操作系统的详细指导,请参见 Microsoft Windows XP 预安装指南。该文档位于 Windows Server 2003 CD 的 Deploy.cab 中。尽管该指南中包含的内容是针对 Windows XP 安装的准备说明,但该说明同样适用于 Windows Server 2003 Enterprise Edition。
应答文件
要使 Windows Server 2003 的安装完全自动化,您必须准备一份应答文件 (其文件名通常为 unattend.txt),这份应答文件中包含了一系列图形用户界面 (GUI) 对话框的所有答案。Unattend.txt 告诉安装程序如何与创建的分布式文件夹和文件交互,同时为安装程序提供了在典型的 Windows 安装中应该由最终用户提供的所有信息。例如,对于要求“Windows 安装程序”提示用户输入完整名称的 [UserData] 节,Unattend.txt 包含一个“完整名称”条目。
虽然“安装程序”的应答文件通常被命名为 Unattend.txt,但是对于网络预安装,您可用任何喜欢的名称对其进行命名。对于基于 CD 的安装程序,您必须以 Winnt.sif 命名应答文件。
如果您使用 OPK 工具包 (只可用于 OEM),可使用被称为“安装程序管理器”的工具创建或修改 Unattend.txt 文件。您还可使用任何文本编辑器创建或修改应答文件。
无人参与安装所使用的操作系统节和条目
完全无人参与的操作系统安装需要下列节和条目:
| 所需节 | 该节所需条目 | 说明 |
[Unattended] | UnattendMode TargetPath | |
[GuiUnattended] | AdminPassword TimeZone | |
[Identification] | JoinWorkgroup | 您也可以指定 JoinDomain、DomainAdmin 和 DomainAdminPassword 来代替 JoinWorkgroup。 |
[LicenseFilePrintData] | AutoMode AutoUsers | 如果 AutoMode = PerServer,则需要 AutoUsers |
[Networking] | 需要配置网络协议。 | |
[UserData] | ComputerName |
[Unattended]
该节含有运行安装程序的条目,如是否扩展安装 Windows 操作系统的分区、指定安装过程中安装必需文件的位置等。如果您希望安装程序完全自动运行,则必须命令安装程序接受 EULA。
[Unattended] OemSkipEula = Yes
[GuiUnattended]
Sysprep.inf 的该节包含为无人参与安装准备的图形用户界面条目。要完全自动化地安装操作系统,需要包含以下条目:
[GuiUnattended] AutoLogon = Yes AdminPassword = *** <replace the asterisks with the actual password> OemSkipWelcome = 1 OemSkipRegional = 1 TimeZone = 20 <specify your time zone here>
[Identification]
该节包含指定计算机网络标识的条目。如果不提供这些条目,安装程序会将计算机添加到名为 WORKGROUP 的默认工作组。如果没有关于此条目的足够信息,安装程序将提示最终用户提供此信息。
在向群集添加第一个节点或其他节点之前,所有的节点都必须添加到域 (而不是工作组) 中,且必须为同一域的域成员。当您创建群集或将节点加入到群集时,应指定可供群集服务运行的域用户帐户。因此,需要在该节指定目标计算机要加入的域,并提供加入时用到的有效证书
[Identification] DomainAdmin = your_domain\user DomainAdminPassword = ***** <replace the asterisks with the actual password> JoinDomain = your_domain
[LicenseFilePrintData]
该节包含用于安装 Windows Server 2003 家族许可信息的条目。
[LicenseFilePrintData] AutoMode = PerSeat
[Networking]
该节不包含任何条目。然而,要在无人参与的安装过程中配置网络协议,则必须在应答文件中包含 [Networking] 节名称。另外,必须包含描述网络适配器、要安装的协议和静态 IP 地址信息的其他节。
如果您决定在无人参与的安装过程中更改“网络负载平衡”模式、添加、移动或修改虚拟群集,则要确保已获得了所有的必需信息 (新的群集虚拟 IP 地址和其他的静态 IP 地址等)。您需要在应答文件的 [Networking] 节中提供所有这些信息。
根据使用 NLB 群集的特殊方案,[Networking] 节可能包含不同的信息集。例如,如果使用多个 NIC,需在此配置所有 NIC,在其他情况下则只需配置一个 NIC。如果使用多个虚拟群集,也需要在该节配置 NIC 和绑定 NLB。下面是 [Networking] 节的一个示例,该节用于配置两个网络适配器,稍后在 [params.MS_WLBS.Adapter] 节中将对这两个网络适配器进行配置,以用于网络负载平衡。
有关配置和启用 NLB 以及 NLB 最佳实践的完整指令列表,请参见 Windows Advanced Server 2003 联机帮助/可用性和可伸缩性/网络负载平衡。
使用 unattend.txt 中的以下条目列举网卡:
[NetAdapters] ;list your network adapters here Adapter01 = params.Adapter01 Adapter02 = params.Adapter02
接下来,您需唯一地标识每个网络适配器。您可以使用需要指定网络适配器即插即用 ID 的 INFID 条目,也可以使用 NetCardAddress 条目指定 MAC 地址。您需要运行 Windows Server 2003 资源套件中名为 pnpids.exe 的特殊工具来检索网卡的 PnP ID。对于具有多个同一类型适配器的计算机 (即每台适配器的即插即用 ID 是相同的),必须指定 NetCardAddress 或 PCI 位置信息。如果未指定 NetCardAddress 或 PCI 位置,则只有列举/检测的第一个与 PnP ID 相匹配的适配器会收到应答文件条目。
如果指定了 NetCardAddress 或 PCI 位置,则安装程序不会使用 INFID 条目,因为 INFID 是最不具体的条目。
因此,我们建议您通过 MAC 地址方便地标识网卡,如下例所示:
[params.Adapter01] NetCardAddress = 0x0002A5D0510F [params.Adapter02] NetCardAddress = 0x000476D5F57D ;Install Client for MS Networks [NetClients] MS_MSClient = params.MS_MSClient [params.MS_MSClient] ;Specify which network protocols to install [NetProtocols] MS_TCPIP = params.MS_TCPIP ;TCP/IP properties [params.MS_TCPIP] AdapterSections = params.MS_TCPIP.Adapter01, params.MS_TCPIP.Adapter02
现在我们需要使用静态 IP 地址信息配置网卡,因为 NLB 不允许使用 DHCP 分配的地址。
;Adapter01 is used for intra-cluster communication. [params.MS_TCPIP.Adapter01] DHCP = No IPAddress = 172.24.23.91 SpecificTo = Adapter01 SubnetMask = 255.255.0.0 DNSServerSearchOrder = 157.5.0.1,157.6.0.2 WINS = Yes WINSServerList = 157.5.0.1,157.5.1.2 ;Adapter02 represents a public network [params.MS_TCPIP.Adapter02] DefaultGateway = 157.6.8.1 DHCP = No IPAddress = 157.5.4.1 SpecificTo = Adapter02 SubnetMask = 255.255.252.0 DNSServerSearchOrder = 157.5.0.1,157.6.0.2 WINS = Yes WINSServerList = 157.5.0.1,157.5.1.2
[UserData]
该节包含了在安装过程中指定用户设置的条目:
[UserData] ComputerName = SV-NODE1 FullName = User Name OrgName = Organization Name ProductKey = 11111-22222-33333-44444-55555
当然,您需要以真实信息替换所有的名称、密码和群集 IP 地址。
[params.MS_WLBS]
该节包含用于配置 NLB 和将 NLB 绑定到网络适配器的参数。有关唯一配置/绑定的信息,请参见下面的 [NetBindings] 节。
[params.MS_WLBS] AdapterSections=params.MS_WLBS.Adapter01,params.MS_WLBS.Adapter02 [params.MS_WLBS.Adapter01] SpecificTo=Adapter01 ClusterIpAddress=172.24.23.10 ClusterNetworkMask=255.255.252.0 IGMPSupport=0 MulticastSupportEnable=1 RemoteControlEnabled=1 HostPriority=1 ClusterModeOnStart=1 DedicatedIPAddress=172.24.23.91 DedicatedNetworkMask=255.255.255.0 Ports=1,65535,Both,Multiple,Single,Equal [params.MS_WLBS.Adapter02] SpecificTo=Adapter02 ClusterIpAddress=172.24.23.10 ClusterName = nlbcluster.domain.com ClusterNetworkMask=255.255.252.0 IGMPSupport=0 MulticastSupportEnable=1 RemoteControlEnabled=1 HostPriority=1 ClusterModeOnStart=1 DedicatedIPAddress=157.5.4.1 DedicatedNetworkMask=255.255.252.0 Ports= 1,65535,Both,Multiple,Single,Equal
每行的含义分别是:
ClusterIpAddress - 此地址是虚拟 IP 地址,NLB 群集中所有主机的该项设置都必须相同
ClusterName - 为 NLB 群集指定一个完整的 Internet 名称
ClusterNetworkMask - 为 NLB 群集 IP 地址指定子网掩码
IGMPSupport - 指定是否使用 IGMP 支持以阻止交换机洪水
MulticastSupportEnable - 指定是否为 NLB 群集操作使用多播 MAC 地址
RemoteControlEnabled - 指定是否启用远程控制操作
HostPriority - 指定 NLB 群集中的主机唯一优先级 ID
ClusterModeOnStart - 指定主机在启动便加入群集,还是等到有明确的命令要求其加入时再加入
DedicatedIPAddress 指定主机的唯一 IP 地址
DedicatedNetworkMask - 指定专用 IP 地址的子网掩码
Ports - 根据协议和目标端口指定在 NLB 群集主机间分发通信流量的规则
有关应答文件中所有可用 NLB 配置选项的完整列表,请参见以下文档:Microsoft Windows XP 预安装指南。此文档位于 Windows Server 2003 CD 的 Deploy.cab 中。
[NetBindings]
该节包含为网络组件 (如服务、协议和适配器) 禁用、启用和降级绑定规则的条目。
[NetBindings]
Disable=MS_WLBS,Adapter01
Enable=MS_WLBS,Adapter02
有关 unattend.txt 的更多信息,请参见以下文档:Microsoft Windows XP 预安装指南。此文档位于 Windows Server 2003 CD 的 Deploy.cab 中。
在此步骤中没有特定于群集的项目。有关如何创建主安装的详细指导,请参见 Windows Server 2003 CD Deploy.cab 中的 Windows XP 预安装指南。
您可以从命令提示符下运行 Winnt32.exe 来启动 Windows 安装程序。
有关 Winnt32.exe 命令行选项的完整列表,请参见 Microsoft Windows XP 预安装指南中的“Winnt32.exe 命令行选项”主题。此文档位于 Windows Server 2003 CD 的 Deploy.cab 中。尽管该指南中包含的内容是针对 Windows XP 安装的准备说明,但该说明同样适用于 Windows Server 2003 Enterprise Edition。
要从网络共享安装 Windows,请使用 Windows Server 2003 CD (或其他启动介质) 启动计算机,然后连接到所需的网络位置。将分发共享和配置集放到网络上增加了预安装过程的灵活性。
使用 Winnt32.exe 运行安装程序
按上述说明准备一份 Unattend.txt 文件,作为构建配置集的一部分。
1. | 启动要安装 Windows 的计算机。 |
2. | 依次单击开始、运行,然后键入: path_to_winn32\winnt32 /unattend:filename 在此命令中: path_to_winnt32 指定了指向 Winnt32.exe 所在位置的路径。例如,\\server\share\Lang\Eng\sku\pro\x86\I386。 filename 指定应答文件的文件名,应答文件中包含有可使安装自动进行的安装问题答案。filename 的值通常为 Unattend.txt。 |
如果您已按照上面“特定于 NLB 的节和条目”部分中的描述在 unattend.txt 的 [params.MS_WLBS] 节中指定了所有信息,则不需要再做任何进一步的操作,便完成了对至少包含一个主机的 NLB 群集的安装和配置。现在,您便可以使用“NLB 管理器”或 WMI 将向此群集添加主机,或者,当您在某些计算机上执行无人参与安装,而且这些计算机上应答文件的 [params.MS_WLBS] 节配置如上所述时,也可以将主机添加到群集中。
基于映像的安装 (也被称为磁盘克隆或简单克隆) 是部署 Windows Server 2003 Enterprise Server 最快的方法。如果要部署的计算机具有相似的硬件,同时希望执行快速的全新安装,并且不需要手动干预,那么使用基于映像的安装将很有用处。
克隆 NLB 群集由以下步骤组成:
1. | 在主计算机上构建主安装。构建主安装包括对操作系统以及磁盘映像上需要包括的所有软件和驱动程序进行安装和配置。 |
2. | 使用 Sysprep 工具准备主安装。这包括在主计算机上配置和运行 Sysprep 工具。 |
3. | 使用磁盘映像工具生成主安装的磁盘映像。这包括将每个磁盘映像保存到永久存储区域。 |
4. | 在组成群集的目标计算机上加载磁盘映像。 |
构建主安装
您需要设置一个主计算机,在此计算机上构建主安装,并随后创建磁盘映像。
构建主安装包括对操作系统以及磁盘映像上需要包括的所有软件和驱动程序进行安装和配置。
准备主安装。
在主计算机上做好主安装的准备后,需要为克隆准备磁盘映像。Microsoft 提供了一个名为 sysprep 的工具,该工具可为克隆准备映像。此工具位于 Windows Advanced Server 2003 CD 的 support\tools 目录中。当您在主计算机上运行 sysprep 时,可使用以下两种开关中的一种: -factory 或 reseal。
您可以在 Sysprep 之后的重新启动阶段使用 Factory 模式来安装其他驱动程序和应用程序。通常,在预安装过程中将运行 Sysprep 作为最后一步,为交付计算机作准备。当重新启动时,计算机将开始最小化安装。通过使用 -factory 选项运行 Sysprep,计算机将在支持网络的状态下重新启动,而且不进行最小化安装。在此情况下,Factory.exe 处理其应答文件 (Winbom.ini),并执行以下操作:
1. | 从网络资源将驱动程序复制到计算机 |
2. | 启动“即插即用”列举 |
3. | 在计算机上从源文件中转、安装和卸载应用程序,这些源文件位于计算机或网络资源中。 |
4. | 添加客户数据 |
当完成以上操作后,用 -reseal 选项运行 Sysprep 以为克隆准备磁盘映像。
例如,您可创建一个包含最少驱动程序集的主安装,运行 sysprep -factory,创建安装映像,并将映像复制到多个目标计算机。如果目标计算机需要其他驱动程序,则可以在目标计算机上运行 sysprep -factory,同时加载这些驱动程序。
有关 Factory 方式和 winbom.ini 文件的更多信息,请参见 Microsoft Windows XP 预安装指南。此文档位于 Windows Server 2003 CD 的 Deploy.cab 中。
如果您不需要在目标计算机上安装其他驱动程序或应用程序,则可以 Reseal 模式运行 sysprep。
Sysprep 和 Sysprep.inf 应答文件
要使 NLB 群集的安装完全自动化,需要使用 sysprep.inf 文件,此文件是 sysprep 在最小化安装过程中和安装完毕之后使用的应答文件。
Sysprep.inf 中需要的节和条目
完整的无人参与安装需要以下节和条目:
| 所需节 | 该节所需条目 | 说明 |
[Unattended] | UnattendMode TargetPath | |
[GuiUnattended] | AdminPassword TimeZone | |
[Identification] | JoinWorkgroup | 您也可以指定 JoinDomain、DomainAdmin 和 DomainAdminPassword 来代替 JoinWorkgroup。 |
[LicenseFilePrintData] | AutoMode AutoUsers | 如果 AutoMode = PerServer,则需要 AutoUsers |
[Networking] | 需要配置网络协议。 | |
[UserData] | ComputerName FullName |
有关这些条目中每一条目的用途说明,请参见本文档的“无人参与安装所使用的操作系统节和条目”部分。
特定于 NLB 的节和条目
有关 sysprep.inf 应答文件中特定于 NLB 的配置选项,请参见“特定于 NLB 的节和条目”部分。
为克隆准备好磁盘映像后,需要使用磁盘映像工具创建一个磁盘映像,并将磁盘映像保存到一个永久存储区域。您可以使用第三方磁盘映像软件或一种被称为 iBIG 的 Microsoft 技术。如果使用第三方产品,请参见关于如何创建和分发磁盘映像的伴随文档。
在目标计算机上加载磁盘映像之前,需用某种类型的启动介质来启动计算机。启动介质中包含启动计算机所需的系统文件和设备驱动程序,以使主硬盘可供访问 (但不使用它)。启动媒体还可能包含 NIC 和网络驱动程序、CD 和 DVD 设备驱动程序、磁盘配置工具、脚本或批处理文件。根据目标计算机的功能特性,可以使用软盘、CD、DVD 或网络启动作为启动介质。
如果使用第三方磁盘映像产品,则这些供应商通常会提供一些工具,可以创建不同的启动介质。否则,您将需要创建自己的启动介质。
创建启动介质时,请遵循以下指导:
| • | 如果是在网络间分发磁盘映像,则启动介质必须提供网络支持。 |
| • | 如果您在介质上分发磁盘映像并使用软盘作为启动介质,则启动介质必须提供 CD 或 DVD 设备支持。 |
| • | 启动介质必须支持可将磁盘映像从存储区域复制到目标计算机上的工具。例如,如果启动介质是 MS-DOS 启动磁盘,则需要使用 MS-DOS 工具将磁盘映像复制到目标计算机上。 |
有关选择和创建启动介质的更多信息,请参见 Microsoft Windows Server 2003 企业部署工具用户指南 (Deploy.chm)。在 Windows Server 2003 operating CD 的 Support 文件夹中包含有 Deploy.cab 文件,此文件中含有 Deploy.chm。
如果您在创建完一个 (或多个) 映像并将映像放置到分发共享 (或分发介质,如 CD 或 DVD) 中之后,同时还具备启动介质可以启动目标计算机,便完成了将映像分发到目标计算机的准备工作。
请确保您已根据“Windows Advanced Server 2003 联机帮助/可用性和可管理性/群集服务器”中的描述,对群集硬件和网络进行了正确设置。而且,所有要安装的群集节点均已连接到共享存储中。
您可以将磁盘映像同时加载到所有的群集节点。许多第三方工具都支持多播映像分发。您还可以使用 iBIG 将磁盘映像分发到群集节点。
在将磁盘映像分发到目标计算机后,sysprep 将运行最小化安装。在最小化安装完成之后,需要对所有的节点进行验证,以确定其是否已成功的加入到群集中。打开“NLB 管理器”以查看群集中存在哪些节点,且一切是否处于启动运行状态。如果是,就已经正确安装配置了群集。
这是一个样例 sysprep.inf 文件,此文件可用于服务器群集的无人参与安装。
在使用此文件之前,需要用真实的名称替换所有的计算机名称、群集名称、用户数据、密码和 IP 地址。
[Unattended] OemSkipEula = Yes [GuiUnattended] AutoLogon = Yes AdminPassword = **** AdvServerType = Servernt OemSkipWelcome = 1 OemSkipRegional = 1 TimeZone = 20 [LicenseFilePrintData] AutoMode=PerSeat [UserData] ComputerName = SV-NODE1 FullName = "User" OrgName = "Company" ProductKey = 11111-22222-33333-44444-55555 [Networking] InstallDefaultComponents=Yes [Identification] DomainAdmin = domain\user DomainAdminPassword = password JoinDomain = domain ;We'll have two network adapters - Adapter01 and Adapter02. ;Note: The adapter specified here as No.1 may not be ;LAN connection No.1 in the user interface. [NetAdapters] Adapter01 = params.Adapter01 Adapter02 = params.Adapter02 ;Specify the network card used by network adapter No. 1. [params.Adapter01] ConnectionName="Intel Adapter" netcardaddress = 0x0002A5D0510f ;Specify the network card used by network adapter No. 2. [params.Adapter02] ConnectionName="3Com Adapter" netcardaddress = 0x000476D5F57D ;Install client for MS networks. [NetClients] MS_MSClient = params.MS_MSClient [params.MS_MSClient] ;Only install TCP. [NetProtocols] MS_TCPIP = params.MS_TCPIP [params.MS_TCPIP] ;TCP/IP properties AdapterSections = params.MS_TCPIP.Adapter01,params.MS_TCPIP.Adapter02 ;Card 1 using static IP address info [params.MS_TCPIP.Adapter01] DHCP = No IPAddress = 172.24.23.91 SpecificTo = Adapter01 SubnetMask = 255.255.255.0 DNSServerSearchOrder = 157.5.2.2,157.5.23.13 WINS = Yes WINSServerList = 157.5.2.22,157.5.7.5 ;Card 2 using static info [params.MS_TCPIP.Adapter02] DefaultGateway = 157.5.4.1 DHCP = No IPAddress = 157.5.4.5 SpecificTo = Adapter02 SubnetMask = 255.255.252.0 DNSServerSearchOrder = 157.5.2.2,157.5.23.13 WINS = Yes WINSServerList = 157.5.2.22,157.5.7.5 [params.MS_WLBS] AdapterSections=params.MS_WLBS.Adapter01,params.MS_WLBS.Adapter02 [params.MS_WLBS.Adapter01] SpecificTo=Adapter01 ClusterName=nlbcluster.domain.com ClusterIpAddress=157.5.4.15 ClusterNetworkMask=255.255.252.0 IGMPSupport=0 MulticastSupportEnable=1 RemoteControlEnabled=1 HostPriority=1 ClusterModeOnStart=1 DedicatedIPAddress=172.24.23.91 DedicatedNetworkMask=255.255.255.0 Ports=1,65535,Both,Multiple,Single,Equal [params.MS_WLBS.Adapter02] SpecificTo=Adapter02 ClusterName=nlbcluster.domain.com ClusterIpAddress=157.5.4.15 ClusterNetworkMask=255.255.252.0 IGMPSupport=0 MulticastSupportEnable=1 RemoteControlEnabled=1 HostPriority=1 ClusterModeOnStart=1 DedicatedIPAddress=157.5.4.5 DedicatedNetworkMask=255.255.252.0 Ports= 1,65535,Both,Multiple,Single,Equal [NetBindings] Disable=MS_WLBS,Adapter01 Enable=MS_WLBS,Adapter02