AD域主备部署

櫰木2年前技术文章1458


  • 总览
    在本篇文章中, 我将记录部署多 DC 实现高可用方案的详细步骤, 期间我会尽量使用 PowerShell 来实现相应的动作, 实在找不到命令或者 GUI 更方便的再附截图. 主要步骤分为:
    部署 2 台 DC 服务器提供 AD 服务 (AD域名fzcdh.com)安装 ADCS 角色为 cdh集群提供kerberos服务及ranger的用户管理


总览

在本篇文章中, 我将记录部署多 DC 实现高可用方案的详细步骤, 期间我会尽量使用 PowerShell 来实现相应的动作, 实在找不到命令或者 GUI 更方便的再附截图. 主要步骤分为:

  • 部署 2 台 DC 服务器提供 AD 服务 (AD域名fzcdh.com)

  • 安装 ADCS 角色为 ADFS 提供证书服务

网络规划

在虚拟化平台中,我们的网关设置为 172.16.104.1, 掩码 255.255.252.0

启动 4 台 Windows Server 2019 虚拟机, 网卡均使用 VMnet2, 规划 IP 地址:

HostnameIPFQDN
DC1172.16.105.69dc2.fzcdh.com
DC2172.16.107.147dc1.fzcdh.com

这里启动多台虚拟机的过程可以先装第一台 Windows Server 2019, 安装完成后运行 sysprep 进行通用化处理关机后创建 Snapshot, 随后使用 Snapshot 再启动 3 台虚机加快速度.

部署 DC1

  • 以本地管理员administrator登录系统, 首先修改主机名

> Rename-Computer -NewName "DC1"
# 重启
> Restart-Computer
# 检查主机名
> $env:computername
  • 配置静态 IP 地址

> Get-NetAdapter              
InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet0                 Intel(R) 82574L Gigabit Network Conn...       5 Up           00-0C-29-4E-15-12         1 Gbps> 

#删除指定的ip及路由
Remove-NetIPAddress -InterfaceIndex 6 -Confirm:$false
Remove-NetRoute -InterfaceIndex 5 -Confirm:$false
在指定网络接口上是设置ip
New-NetIPAddress -InterfaceIndex 5 -IPAddress 172.16.107.147 -PrefixLength 24 -DefaultGateway 10.1.1.1
  • 添加 AD 角色

> Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Success 
Restart Needed Exit Code      Feature Result
------- -------------- ---------      --------------
True    No             Success        { Active Directory 域服务, 远程服务器管理工...
  • 创建新的林和名为alian.com的域

> Install-ADDSForest -DomainName fzcdh.com -InstallDNS
SafeModeAdministratorPassword: ************
确认 SafeModeAdministratorPassword: ************

安装完成后系统会自动重启, 重启后第一次进入系统由于需要初始化相关设置, 时间会略长, 大概 5 分钟左右, 进入系统后可以在服务器管理器中看到多出了AD DSDNS 角色

1.png

部署 DC2

  • 和部署 DC1 前面步骤一样, 先改主机名, 固定 IP

Rename-Computer -NewName "DC2"
#删除指定的ip及路由
Remove-NetIPAddress -InterfaceIndex 6 -Confirm:$false
Remove-NetRoute -InterfaceIndex 5 -Confirm:$false
New-NetIPAddress -InterfaceIndex 5 -IPAddress 172.16.107.147 -PrefixLength 24 -DefaultGateway 10.1.1.1
# 这里需要额外设置本地连接的 DNS 服务器指向 DC1
Set-DnsClientServerAddress -InterfaceIndex 5 -ServerAddresses 10.1.1.11
Restart-Computer
  • 加入 DC1 的域

Add-Computer -DomainName fzcdh.com -Credential (Get-Credential "fzcdh.com\administrator") -Restart
# 输入 AD 用户 administrator 密码, 加入成功后自动重启

重启后登录时使用 AD 用户 administrator@fzcdh.com

这时我们也可以在 DC1 中运行 dsa.msc 打开 Active Directory 用户和计算, 在 Computers 中查看到 DC2:

2.png

  • 添加 AD 角色, 提升为 DC

Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -Credential (Get-Credential "fzcdh.com\administrator") -DomainName fzchd.com -InstallDns
SafeModeAdministratorPassword: ************
确认 SafeModeAdministratorPassword: ************

完成后系统自动重启, 再次检查 DC1 中的 AD 用户和计算机, 可以看到 DC2 已经从 Computers 移动到了 Domain Controllers 中:
3.png

添加 ADCS 角色

由于后面的 ADFS 需要使用 SSL 证书, 我们可以在现有的 DC1 上面添加 ADCS 角色进行自签名的证书颁发

# 添加"证书颁发机构"
> Install-WindowsFeature -Name ADCS-Cert-Authority -IncludeManagementTools
# 指定 CA 设置类型为 "企业 CA"
> Install-AdcsCertificationAuthority `
-CAType EnterpriseRootCa `
-CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
-KeyLength 2048 `
-HashAlgorithmName SHA1 `
-ValidityPeriod Years `
-ValidityPeriodUnits 10 `
-CACommonName "fzcdh.com Root CA" `
-CADistinguishedNameSuffix "DC=fzcdh,DC=com" `
-Force


附1: 常用 GUI 管理工具打开命令

命令对应工具
dsa.mscActive Directory 用户和计算机
dnsmgmt.mscDNS 管理器
certsrv.msc证书颁发机构管理工具
certlm.msc证书 - 本地计算机

附2: 缩写解释

缩写全拼解释
ADActive Directory活动目录
DCDomain Contronller域控制器
ADCSActive Directory Certificate Services活动目录证书服务
CACertificate Authority证书授权


相关文章

trino容器对接alluxio(四)

trino容器对接alluxio(四)

前提:本文是基于已经部署了trino容器和 集群中部署了alluxio组件的基础上,进行的trino与alluxio的组件对接,alluxio已经开启了高可用模式。本文的冒烟测试是在trino对接ld...

Python 识别 MySQL 中的冗余索引

前言最近在搞标准化巡检平台,通过 MySQL 的元数据分析一些潜在的问题。冗余索引也是一个非常重要的巡检目,表中索引过多,会导致表空间占用较大,索引的数量与表的写入速度与索引数成线性关系(微秒级),如...

Hadoop集群小文件合并优化建议指导

Hadoop集群小文件合并优化建议指导

1 综述1.1 综述本指导书旨在指导大数据集群使用者在大数据集群小文件较多的情况下,针对小文件进行优化处理,有效减小集群文件对象数目,减缓namenode所承载的压力,减少mapreduce任务扫描文...

ES运维(二)字段类型与内存管理

ES运维(二)字段类型与内存管理

一、ES常见字段类型1、 概述字段是数据存储的最小微粒,根据数据的性质不同将数据分成不同的字段类型,熟悉不同字段类型的特性,对索引的Mapping设计、查询调优都极其重要。2、 关键参数In...

kafka模拟消费报错 ISR缺失 指定offset提取数据失败场景

kafka模拟消费报错 ISR缺失 指定offset提取数据失败场景

测试集群信息kafka版本:3.0.0172.16.120.236  kafka-id: 0172.16.121.150  kafka-id: 1172.16.121.225  kafka-id: 2...

数据湖技术之iceberg(九)Spark与Iceberg整合写操作

数据湖技术之iceberg(九)Spark与Iceberg整合写操作

1. INSERT INTO"insert into"是向Iceberg表中插入数据,有两种语法形式:"INSERT INTO tbl VALUES (1,"z...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。