Azure 中的 SharePoint Intranet 服务器场,第 2 阶段:配置域控制器
**上一次修改主题:**2017-10-19
**摘要:**在 Microsoft Azure 中为高可用性 SharePoint Server 2016 场配置域控制器。
在将 Intranet 专用 SharePoint Server 2016 场部署到 Azure 基础结构服务的这一阶段中,可以在 Azure 虚拟网络 (VNet) 中配置两个复制域控制器。然后 SharePoint 场资源的客户端 Web 请求可以在 VNet 中进行身份验证,而不是通过站点到站点 VPN 或到本地网络的 ExpressRoute 连接发送该身份验证流量。
备注
SharePoint Server 2016 还支持使用 Azure Active Directory (AD) 域服务替代作为域副本运行的虚拟机。但是,目前此部署指南仅介绍了使用基于虚拟机的副本域控制器。
必须先完成这一阶段,然后才能移至Azure 中的 SharePoint Intranet 服务器场,第 3 阶段:配置 SQL Server 基础结构。请参阅在 Azure 中为 SharePoint Server 2016 部署 SQL Server AlwaysOn 可用性了解所有阶段。
在 Azure 中创建域控制器虚拟机
首先,需要填写表 M 的虚拟机名称列,并根据需要在最小大小列修改虚拟机大小。
项目 | 虚拟机名称 | 库图像 | 最小大小 | 存储类型 |
---|---|---|---|---|
1. |
______________(第一个域控制器,例如 DC1) |
Windows Server 2016 数据中心 |
Standard_D2 |
StandardLRS |
2. |
______________(第二个域控制器,例如 DC2) |
Windows Server 2016 数据中心 |
Standard_D2 |
StandardLRS |
3. |
______________(第一个 SQL Server 计算机,例如 SQL1) |
Microsoft SQL Server 2016 Enterprise – Windows Server 2016 |
Standard_DS4 |
PremiumLRS |
4. |
______________(第二个 SQL Server 计算机,例如 SQL2) |
Microsoft SQL Server 2016 Enterprise – Windows Server 2016 |
Standard_DS4 |
PremiumLRS |
5. |
______________(群集的多数节点见证,例如 MN1) |
Windows Server 2016 数据中心 |
Standard_D2 |
StandardLRS |
6. |
______________(第一个 SharePoint 应用程序和搜索服务器,示例 APP1) |
Microsoft SharePoint Server 2016 试用版 – Windows Server 2012 R2 |
Standard_DS4 |
PremiumLRS |
7. |
______________(第二个 SharePoint 应用程序和搜索服务器,示例 APP2) |
Microsoft SharePoint Server 2016 试用版 – Windows Server 2012 R2 |
Standard_DS4 |
PremiumLRS |
8. |
______________(第一个 SharePoint 前端和分布式缓存服务器,示例 WEB1) |
Microsoft SharePoint Server 2016 试用版 – Windows Server 2012 R2 |
Standard_DS4 |
PremiumLRS |
9. |
______________(第二个 SharePoint 前端和分布式缓存服务器,示例 WEB2) |
Microsoft SharePoint Server 2016 试用版 – Windows Server 2012 R2 |
Standard_DS4 |
PremiumLRS |
表 M — Azure 中的 SharePoint Server 2016 Intranet 服务器场的虚拟机
有关虚拟机大小的完整列表,请参阅虚拟机的大小。
使用以下 Azure PowerShell 命令块创建两个域控制器的虚拟机。指定变量的值,删除 < 和 > 字符。请注意,此 Azure PowerShell 命令块使用下表中的值:
表 M,用于虚拟机
表 R,用于资源组
表 V,用于虚拟网络设置
表 S,用于子网
表 I,用于静态 IP 地址
表 A(针对可用性集)
回顾一下,已在 Azure 中的 SharePoint Intranet 服务器场,第 1 阶段:配置 Azure中定义表 R、V、S、I 和 A。
备注
下面的命令集使用最新版 Azure PowerShell。请参阅 Get started with Azure PowerShell cmdlets(Azure PowerShell cmdlet 使用入门)。
提供所有正确值后,在 Azure PowerShell 提示符处或本地计算机的 PowerShell 集成脚本环境 (ISE) 上运行生成块。
提示
有关包含本文中所有 PowerShell 命令的文本文件,以及根据自定义设置生成可以运行的 PowerShell 命令块的 Microsoft Excel 配置工作簿,请参阅 SharePoint Server 2016 High Availability Farm in Azure Deployment Kit(Azure 部署工具包中的 SharePoint Server 2016 高可用性场)。
# Set up variables common to both virtual machines
$locName="<Azure location of the Sharepoint farm>"
$vnetName="<Table V - Item 1 - Value column>"
$subnetName="<Table S - Item 1 - Value column>"
$avName="<Table A - Item 1 - Availability set name column>"
$rgNameTier="<Table R - Item 1 - Resource group name column>"
$rgNameInfra="<Table R - Item 5 - Resource group name column>"
$rgName=$rgNameInfra
$vnet=Get-AzureRMVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$subnet=Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $subnetName
$rgName=$rgNameTier
$avSet=Get-AzureRMAvailabilitySet -Name $avName -ResourceGroupName $rgName
# Create the first domain controller
$vmName="<Table M - Item 1 - Virtual machine name column>"
$vmSize="<Table M - Item 1 - Minimum size column>"
$staticIP="<Table I - Item 1 - Value column>"
$diskStorageType="<Table M - Item 1 - Storage type column>"
$diskSize=<size of the extra disk for Windows Server AD data in GB>
$nic=New-AzureRMNetworkInterface -Name ($vmName +"-NIC") -ResourceGroupName $rgName -Location $locName -Subnet $subnet -PrivateIpAddress $staticIP
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
$cred=Get-Credential -Message "Type the name and password of the local administrator account for the first domain controller."
$vm=Set-AzureRMVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRMVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version "latest"
$vm=Add-AzureRMVMNetworkInterface -VM $vm -Id $nic.Id
$vm=Set-AzureRmVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType $diskStorageType
$diskConfig=New-AzureRmDiskConfig -AccountType $diskStorageType -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzureRmDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzureRmVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
New-AzureRMVM -ResourceGroupName $rgName -Location $locName -VM $vm
# Create the second domain controller
$vmName="<Table M - Item 2 - Virtual machine name column>"
$vmSize="<Table M - Item 2 - Minimum size column>"
$staticIP="<Table I - Item 2 - Value column>"
$diskStorageType="<Table M - Item 2 - Storage type column>"
$diskSize=<size of the extra disk for Windows Server AD data in GB>
$nic=New-AzureRMNetworkInterface -Name ($vmName +"-NIC") -ResourceGroupName $rgName -Location $locName -Subnet $subnet -PrivateIpAddress $staticIP
$vm=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avset.Id
$cred=Get-Credential -Message "Type the name and password of the local administrator account for the second domain controller."
$vm=Set-AzureRMVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRMVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version "latest"
$vm=Add-AzureRMVMNetworkInterface -VM $vm -Id $nic.Id
$vm=Set-AzureRmVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType $diskStorageType
$diskConfig=New-AzureRmDiskConfig -AccountType $diskStorageType -Location $locName -CreateOption Empty -DiskSizeGB $diskSize
$dataDisk1=New-AzureRmDisk -DiskName ($vmName + "-DataDisk1") -Disk $diskConfig -ResourceGroupName $rgName
$vm=Add-AzureRmVMDataDisk -VM $vm -Name ($vmName + "-DataDisk1") -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
New-AzureRMVM -ResourceGroupName $rgName -Location $locName -VM $vm
备注
由于这些虚拟机用于 Intranet 应用程序,所以不会为它们分配公共 IP 地址或 DNS 域名称标签,也不会将它们暴露给 Internet。但是,这也意味着你无法从 Azure 门户与它们进行连接。查看虚拟机的属性时“连接”选项不可用。使用远程桌面连接附件或另一个远程桌面工具连接使用其专用 IP 地址或 Intranet DNS 名称的虚拟机。
配置第一个域控制器
使用你选择的远程桌面客户端并创建到第一个域控制器虚拟机的远程桌面连接。使用其 Intranet DNS 或计算机名称以及本地管理员帐户的凭据。
接下来,你需要在 Windows PowerShell 命令提示符下使用以下命令,将额外的数据磁盘添加到第一个域控制器:
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"
接下来,使用 ping 命令对组织网络中的资源名称和 IP 地址执行 ping 操作,测试第一个域控制器到组织网络中的位置的连接。
此过程确保 DNS 名称解析正常进行(已为该虚拟机正确配置本地 DNS 服务器),并可以向/从跨本地虚拟网络发送数据。如果这个基本测试失败,请与你的 IT 部门联系,来解决 DNS 名称解析和数据包传递问题。
接下来,从第一个域控制器的 Windows PowerShell 命令提示符处运行以下命令:
$domname="<DNS domain name of the domain for which this computer will be a domain controller, such as corp.contoso.com>"
$cred = Get-Credential -Message "Enter credentials of an account with permission to join a new domain controller to the domain"
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -InstallDns -DomainName $domname -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs" -Credential $cred
系统将提示你提供域管理员帐户的凭据。计算机将重新启动。
配置第二个域控制器
使用你选择的远程桌面客户端并创建到第二个域控制器虚拟机的远程桌面连接。使用其 Intranet DNS 或计算机名称以及本地管理员帐户的凭据。
接下来,通过在 Windows PowerShell 命令提示符下使用这些命令,你需要将额外的数据磁盘添加到第二个域控制器:
Get-Disk | Where PartitionStyle -eq "RAW" | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "WSAD Data"
接下来,请运行以下命令:
$domname="<DNS domain name of the domain for which this computer will be a domain controller, such as corp.contoso.com>"
$cred = Get-Credential -Message "Enter credentials of an account with permission to join a new domain controller to the domain"
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -InstallDns -DomainName $domname -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs" -Credential $cred
系统将提示你提供域管理员帐户的凭据。计算机将重新启动。
接下来,需要为虚拟网络更新 DNS 服务器,以便 Azure 为虚拟机分配两个新域控制器的 IP 地址,将它们用作其 DNS 服务器。
$rgName="<Table R - Item 4 - Resource group name column>"
$adrgName="<Table R - Item 1 - Resource group name column>"
$locName="<your Azure location>"
$vnetName="<Table V - Item 1 - Value column>"
$onpremDNSIP1="<Table D - Item 1 - DNS server IP address column>"
$onpremDNSIP2="<Table D - Item 2 - DNS server IP address column>"
$staticIP1="<Table I - Item 1 - Value column>"
$staticIP2="<Table I - Item 2 - Value column>"
$firstDCName="<Table M - Item 1 - Virtual machine name column>"
$secondDCName="<Table M - Item 2 - Virtual machine name column>"
$vnet=Get-AzureRMVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
$vnet.DhcpOptions.DnsServers.Add($staticIP1)
$vnet.DhcpOptions.DnsServers.Add($staticIP2)
$vnet.DhcpOptions.DnsServers.Remove($onpremDNSIP1)
$vnet.DhcpOptions.DnsServers.Remove($onpremDNSIP2)
Set-AzureRMVirtualNetwork -VirtualNetwork $vnet
Restart-AzureRMVM -ResourceGroupName $adrgName -Name $firstDCName
Restart-AzureRMVM -ResourceGroupName $adrgName -Name $secondDCName
请注意,我们重新启动两个域控制器,这样不会为它们配置本地 DNS 服务器作为 DNS 服务器。因为这两个控制器本身就是 DNS 服务器,因此在升级为域控制器后会自动为它们配置本地 DNS 服务器作为 DNS 转发器。
接下来,我们需要创建一个 Active Directory 复制站点以确保 Azure 虚拟网络中的服务器使用本地域控制器。使用域管理员帐户登录到主域控制器,从管理员级 Windows PowerShell 提示符处运行以下命令:
$vnet="<Table V - Item 1 - Value column>"
$vnetSpace="<Table V - Item 5 - Value column>"
New-ADReplicationSite -Name $vnet
New-ADReplicationSubnet -Name $vnetSpace -Site $vnet
配置 SharePoint 场帐户和权限
SharePoint 场需要以下用户帐户:
sp_farm:用于管理 SharePoint 服务器场的用户帐户。
sp_farm_db:对 SQL Server 实例具有 sysadmin 权限的用户帐户。
sp_install:具有安装角色和功能所需的域管理权限的用户帐户。
sqlservice:运行 SQL Server 实例所用的用户帐户。
使用域控制器为其成员的域的域管理员帐户登录到任何一台计算机,打开管理员级 Windows PowerShell 命令提示符,然后运行以下命令,一次运行一个:
New-ADUser -SamAccountName sp_farm -AccountPassword (read-host "Set user password" -assecurestring) -name "sp_farm" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false
New-ADUser -SamAccountName sp_farm_db -AccountPassword (read-host "Set user password" -assecurestring) -name "sp_farm_db" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false
New-ADUser -SamAccountName sp_install -AccountPassword (read-host "Set user password" -assecurestring) -name "sp_install" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false
New-ADUser -SamAccountName sqlservice -AccountPassword (read-host "Set user password" -assecurestring) -name "sqlservice" -enabled $true -PasswordNeverExpires $true -ChangePasswordAtLogon $false
系统将提示你为每个命令输入一个密码。记录这些帐户名和密码并将它们存储在安全的位置。
接下来,请执行以下步骤,将更多的帐户属性添加到新的用户帐户。
单击“开始”,键入 Active Directory Users,然后单击“Active Directory 用户和计算机”。
在树窗格中,打开你的域,然后单击“用户”。
在内容窗格中,右键单击 sp_install,然后单击“添加到组中”。
在“选择组”对话框,请键入 domain admins,然后单击“确定”两次。
在该对话框中单击“查看”,再单击“高级功能”。该选项允许你查看 Active Directory 对象的属性窗口中所有隐藏的容器和隐藏的选项卡。
右键单击你的域名,然后单击“属性”。
在“属性”对话框中单击“安全”选项卡,然后单击“高级”按钮。
在“高级安全设置”窗口中,单击“添加”。
在“权限条目”窗口中,单击“选择主体”。
在文本框中,键入 \sp_install,然后单击“确定”。
对“创建计算机对象”选择“允许”,然后单击“确定”三次。
以下是因成功完成这一阶段后生成的配置,包含占位符计算机名称。
第 2 阶段:适用于高可用性 SharePoint Server 2016 场的域控制器。
后续步骤
使用Azure 中的 SharePoint Intranet 服务器场,第 3 阶段:配置 SQL Server 基础结构继续配置此工作负载。
See also
在 Azure 中为 SharePoint Server 2016 部署 SQL Server AlwaysOn 可用性
Microsoft Azure 中的 SharePoint Server 2016
在 Azure 中设计 SharePoint Server 2016 场