Azure Local 多机架(Rack Aware Cluster)部署(系列篇之二)

Azure Local 多机架(Rack Aware Cluster)部署(系列篇之二) 文档定位基于 azloc-2606 官方部署文档deploy-via-portal、deployment-azure-resource-manager-template、deploy/rack-aware-cluster-post-deployment、network-atc-overview、add-server、repair-server、host-network-requirements。适用版本Azure Local 2510 及以后azloc-2606 官方原文Rack aware cluster 自 Azure Local 2510 起可用。配套本文是连载 ①《规划篇》的执行章节。规划阶段产出物就绪后再启动部署。1. 部署前清单azloc-2606 官方硬要求1.1 Azure 侧Azure 订阅 资源组azloc-2606 deploy-via-portal 原文注册 Arc、注册 RP 三个Microsoft.HybridCompute / Microsoft.AzureStackHCI / Microsoft.GuestConfigurationazloc-2606 部署前置Service Principal用于 Arc Resource Bridge Client secretAzure Local Resource Provider 的 Object ID00001111-aaaa-2222-bbbb-3333cccc4444azloc-2606 deployment-azure-resource-manager-template 原文Key Vault不能配 Private Endpoint—— azloc-2606 deploy-via-portal 原文 Azure Local doesnt support deploying a cluster using an existing Azure Key Vault that has Private Endpoints enabled区域在 8 个 public region 或 US Gov Virginia 或 China21Vianet之一1.2 AD / 身份AD DS 域已准备OU、AzureStackLCMUser、DEPLOYMENT 账户域 FQDN、OU 路径Local administrator 凭据所有节点统一14 字符以上、大小写数字特殊字符部署账户的 domain join 权限1.3 节点侧OS 镜像使用与现网同 solution version 的 OS imageazloc-2606 add-server 原文明示For versions 2503 and later, you must use the OS image of the same solution as that running on the existing cluster。不要用 Azure portal 拉 image——portal 列表不全。每节点 4 端口2 mgmtcompute SET 2 storage 独立物理布线和 TOR 全部按规划篇连通BIOS / TPM / Secure Boot 已按 OEM 规范设置1.4 网络侧跨房间 RTT 实测 ≤ 1 msDCBPFC ETS已在 TOR / spine 全部配置MSTP / LLDP / DCB TLV 全部启用VLAN 7 / 8 / 711 / 712 / 99 在所有 TOR / spine 已配置2. 部署模式选择azloc-2606 deploy-via-portal 原文portal 在 Basics 页第一个选项叫Cluster optionsStandard 单机架 clusterRack aware cluster 多机架 clusterazloc-2606 deploy-via-portal 原文选错不可改。要重选只能销毁重建azloc-2606 没说能转换按现状理解为不可逆。azloc-2606 给出两种部署入口Azure portaldeploy/deploy-via-portal—— 推荐首套ARM templatedeploy/deployment-azure-resource-manager-template—— 文档原文We recommend that you deploy a system via the Azure portal first, and then perform subsequent deployments via the ARM template先 portal再 ARM真实场景先 portal 跑通一个 22验证布线 / 延迟 / 兼容性再用 ARM 模板批量复制。混用 portal template 在同一 cluster 改状态可能留脏数据。3. Azure Portal 部署流程azloc-2606 deploy-via-portal 原文步骤3.1 启动 wizardPortal → 搜 Azure Local → 选 Azure Arc | Azure LocalGet started→Create instance3.2 Basics 页选 Subscription / Resource Group输 Instance name选 RegionCluster options → Rack aware cluster关键选项Identity provider默认 ADKey Vault可选 Local identity with Key Vault Add machines→ 选已 Arc-registered 节点Install extensions自动跑等几分钟Validate selected machines绿色 ✓ 才继续Validation 失败的常见原因azloc-2606 原文wrong extension version、symmetric network adapter 检查不过、OS version 不一致。3.3 Configuration 页New configuration / Template spec / Quickstart templaterack aware 推荐New configuration不要在首套用 template spec3.4 Networking 页重点第一个选择storage 网络是否过 switchazloc-2606 原文No switch for storage节点间直连Network switch for storage traffic走 TORrack aware 必须选这个第二个选择traffic groupingazloc-2606 原文给出 4 种模式Group all traffic全合 SET不推荐rack awareGroup management and compute trafficmgmtcompute 一组storage 独立←rack aware 推荐Group compute and storage trafficcomputestorage 一组mgmt 独立Custom configurationrack aware 选 2intent 1 management compute用 mgmt NIC SET 队intent 2 storage用 2 块独立 NIC每个 intent 给 2 块匹配 adapter冗余 SET。storage intent 必须用高速 NIC25 GbE 起步storage intent 的VLAN ID填 TOR 上配的711/712Portal 不让手工指定 storage intent 的 IPazloc-2606 原文Portal deployment doesnt allow you to specify your own IPs for the storage intent。需要自定义 IP → 改走ARM template。高级选项azloc-2606 原文可调Storage traffic priorityPFC prioritySystem traffic priority5/6/7Storage traffic bandwidth reservation%Jumbo frame1514 / 4088 /9014iWARP 必须配 92169014 是 portal 选项下限RDMA protocoliWARP / RoCE / RoCEv2 / disabledIP 分配Manual 或 AutomaticDHCP3.5 Management 页Custom location nameStorage account for cloud witness重要rack aware 默认 cloud witnessazloc-2606 post-deployment 原文By default, rack aware cluster uses a cloud witness可改为 local witnessAD Domain FQDNOU 路径不能放在顶级域Deployment account 凭据Local administrator 凭据3.6 Security 页Recommendedazloc-2606 默认 Secured-core 最高Customized 可关某些项rack aware 不建议改 → 选 Recommended3.7 Advanced 页Create workload volumes and required infrastructure volumes (Recommended)Create required infrastructure volumes only薄卷后续手动建重要提醒azloc-2606 原文Dont delete the infrastructure volumes created during deploymentVolume resiliency 自动规则azloc-2606 deploy-via-portal 原文节点数Volume ResiliencySingle machineTwo-way mirrorTwo machinesTwo-way mirrorThree machines Three-way mirrorrack aware 起步 22 two-way mirror33 / 44 three-way mirror重要边界这是部署阶段默认创建的基础卷行为不代表后续工作负载卷必须采用相同方式。post-deployment 阶段可以基于容量利用率、容错需求和业务等级选择 Two-way 或 Four-way含 RLNM 4-way mirror。3.8 Validation DeployStart validation约 15 分钟节点多则更久验证成功 →Create触发部署部署时长azloc-2606 ARM 模板文档说2.5 到 3 小时portal 略快不要在 validation 任务运行时点 Try againazloc-2606 原文警告4. ARM 模板部署azloc-2606 deployment-azure-resource-manager-template 原文azloc-2606 ARM 文档给出 8 步重要节点4.1 准备阶段Service principal client secret for ARBazloc-2606 原文拉取 Azure Local RP 的 Object ID(Get-AzADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444).Idaz ad sp list --filter appId eq 00001111-aaaa-2222-bbbb-3333cccc4444 --query [0].id -o tsv准备参数 JSONazuredeploy.parameters.json模板版本选择2503选create-cluster2411.3 及更早选create-cluster-2411.34.2 部署模式azloc-2606 ARM 模板有两个阶段azloc-2606 原文Validate模式建 Azure 资源验 readiness约 10 分钟Deploy模式实际部署2.5-3 小时两个模式都跑先 Validate成功后再Redeploy切到 Deploy4.3 ARM 模板关键参数rack aware 关注项参数含义rack aware 注意点deploymentModeValidate / Deploy必须分两步keyVaultNameKV 名字不开 Private EndpointclusterNamecluster 名称云端不能与任何节点同名witnessTypeCloud2 节点rack aware 22CloudclusterWitnessStorageAccountNamewitness SA共享 OKlocalAdminUserName / Password节点本地管理员全节点一致AzureStackLCMAdminUsername / PasswordLCM adminAD 账户hciResourceProviderObjectIDRP Object ID上面查的arcNodeResourceIds节点 Arc 资源 ID 数组rack aware 4/6/8 个domainFqdnAD 域 FQDNnamingPrefix部署对象名前缀adouPathOU 路径不能顶级securityLevelRecommended / Customized默认 RecommendeddriftControlEnforced安全默认值漂移控制credentialGuardEnforcedCredential GuardsmbSigningEnforcedSMB 签名防 relaysmbClusterEncryption集群内 SMB 加密storage 网络上加密bitlockerBootVolume / DataVolumesBitLocker 加密wdacEnforcedApplication ControlstreamingDataClient / euLocation / episodicDataUpload遥测模板默认对 storage 网络会做 SMB 加密smbClusterEncryption。如果对 RDMA 吞吐要求极致先评估性能影响再决定是否关。官方未给数字。4.4 ARM 模板的 storage intent IPARM 模板能指定 storage intent 的 IPportal 不能节点多 / 子网分段时必须用 ARM5. 部署后必做事项azloc-2606 rack-aware-cluster-post-deployment 原文5.1 验证 cluster 形态Azure portal → Azure Local 资源 → Properties →Cluster type Rack aware cluster不是 Standard 才算成功Infrastructure → Machines →按 local availability zone 分组显示5.2 验证 quorum witness默认是 cloud witnessazloc-2606 原文如果业务要求全本地化手动改为 local witness5.3 验证 workload volumesazloc-2606 post-deployment 原文给出RLNMRack Level Nested Mirror验证命令spaceutil get-space -name volume-name输出关键字段ConfigurationNestedFdTypeMaxFdType4-way mirror with RLNMNodeRack2-way mirror with RLNMUnknownRackNo RLNM, Storage domain is set to RACK(null)RackRLNM 提供 2-way 与 4-way 两种创建方式应基于容量利用率、容错需求和业务等级选择azloc-2606 post-deployment 原文只给出 New-Volume 命令示例未明示推荐配置。创建命令azloc-2606 原文# 4 路 fixed New-Volume -FriendlyName FourCopyVolumeFixed -StoragePoolFriendlyName SU1_Pool -FileSystem CSVFS_ReFS -Size 500GB -ResiliencySettingName Mirror -PhysicalDiskRedundancy 3 -ProvisioningType Fixed # 4 路 thin New-Volume -FriendlyName FourCopyVolumeThin -StoragePoolFriendlyName SU1_Pool -FileSystem CSVFS_ReFS -Size 500GB -ResiliencySettingName Mirror -PhysicalDiskRedundancy 3 -ProvisioningType Thin # 2 路 fixed New-Volume -FriendlyName TwoCopyVolumeFixed -StoragePoolFriendlyName SU1_Pool -FileSystem CSVFS_ReFS -Size 500GB -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 -ProvisioningType Fixed # 2 路 thin New-Volume -FriendlyName TwoCopyVolumeThin -StoragePoolFriendlyName SU1_Pool -FileSystem CSVFS_ReFS -Size 500GB -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 -ProvisioningType Thin-PhysicalDiskRedundancy 3 4 路镜像 RLNM-PhysicalDiskRedundancy 1 2 路镜像 2-way with RLNMReFS 在 rack aware 上是默认且官方推荐5.4 创建 storage path每个 workload volume 必须配 storage path 才能跑 Azure Local VMazloc-2606 原文。具体命令见manage/create-storage-path-azure-local。6. 用 Network ATC 手工配置azloc-2606 network-atc-overview 原文若不走 portal/ARM 模板用 Network ATC 手工配置。关键 cmdlet# 定义 mgmtcompute intentSET Add-NetIntent -Name Mgmt_Compute -Management -Compute -AdapterName Ethernet1,Ethernet2 -VlanName MGMT_VLAN -VlanID 7 -VlanName COMPUTE_VLAN -VlanID 8 # 定义 storage intent独立 NIC不走 SET Add-NetIntent -Name Storage1 -Storage -AdapterName Ethernet3 -VlanID 711 Add-NetIntent -Name Storage2 -Storage -AdapterName Ethernet4 -VlanID 712azloc-2606 network-atc-overview 原文Storage intent 可以定义在一个 intent 里最多一个。两个 storage intent 用两块独立 NIC 是官方推荐。azloc-2606 还说StretchAdapters are set up similarly to a storage intent, except RDMA cant be used with stretch intents——这是历史 HCI 22H2 的 stretch 概念rack aware 不用 stretch intentrack aware 用普通 storage intent。7. 节点增删azloc-2606 add-server / repair-server 原文7.1 扩容规则azloc-2606 add-server 原文azloc-2606 add-server 文档对普通 cluster的扩规则是1→2 / 2→3 / 3→N 节点每次加 1 个存储重平衡自动跑但对rack aware来说azloc-2606 rack-aware-cluster-overview 原文必须成对加22 → 33 → 44不允许 23、24 这种非对称上限 44重要边界Add-Servercmdlet本身支持一次加一个节点azloc-2606 add-server 原文。上述成对加是Rack Aware Topology 的 Validation 限制而不是 PowerShell cmdlet 的限制——即 cmdlet 会执行但 rack aware 拓扑验证会拒绝非对称配置。7.2 加节点命令azloc-2606 add-server 原文在新节点上装 OS与 cluster 同 solution versionArc register与现网同 Resource Group / Region / Subscription / Tenant赋权限Azure Stack HCI Device Management Role Key Vault Secrets User在现网某节点上$HostIpv4 新节点 IPv4 $Cred Get-Credential Add-Server -Name 新节点名 -HostIpv4 $HostIpv4 -LocalAdminCredential $Cred记下输出的 operation ID监控$ID Operation ID Start-MonitoringActionplanInstanceToComplete -actionPlanInstanceID $ID存储重平衡会跑几天azloc-2606 原文can run for multiple days depending on the number of the nodes and the storage used。验证Get-VirtualDisk | Get-StorageJob空输出 重平衡完成。7.3 修节点azloc-2606 repair-server 原文repair 触发场景主板 / BMC / HBA / NIC / GPU 故障数据盘不支持热插拔时流程azloc-2606 原文确认健康 → Pause Drain → Shut down删 Azure Arc resource 上的 lock Delete装 OS同 solution versionAdapter 改名对齐Rename-NetAdapter -Name ... -NewName ManagementArc register 赋权限在现网某节点跑$Cred Get-Credential Repair-Server -Name 节点名 -LocalAdminCredential $Cred监控 operation ID等待 storage rebalance7.4 节点允许的硬件差异azloc-2606 add-server / repair-server 原文组件合规检查行为CPU同或更多核不满足 → 警告但允许内存同或更大不满足 → 警告但允许盘同数据盘数不满足 → 错误阻断7.5 重跑失败Add-Server -Rerun Repair-Server -Rerunazloc-2606 原文Starting with the 2508 release, validation runs after you execute the Add-Server command. If a test fails, the validator returns information to help you resolve the failure.7.6 拉日志给 Supportazloc-2606 原文Get-ActionPlanInstance -ActionPlanInstanceID $ID | out-file log.txt Send-DiagnosticData # 在新加/修的节点上跑8. SDN 与 rack awareazloc-2606 software-defined-networking 文档原文SDN isnt supported on stretched (multi-site) clusters。这条说的是跨数据中心stretched不是rack aware。Rack aware 是个 cluster 内的两个 local availability zone不跨站点所以SDN 在 rack aware 上支持azloc-2606 reference-architecture 原文This configuration supports environments with or without software defined networking (SDN) or Layer 2 virtual networks官方参考架构建议把 NCNetwork Controller部署在 Azure Local Cluster 内部的 VM 上SLB / Gateway VM 也建议部署在 cluster 内每个 AZ 至少 1 个BGP peering 与 ToR 之间按 rack aware 拓扑配置9. 部署后立刻要做的几件事登录 portal → Azure Local 资源 → 看 Cluster type必须 Rack aware cluster看 Machines 按 availability zone 分组22 显示 2 节点 / 2 节点跑spaceutil get-space验证 workload volume 是 RLNM 4-way mirror测跨房间延迟用Test-NetConnection -Port 445测 SMB TCP RTT这是 TCP 往返延迟不是 RDMA latency并配合 ntttcp / iperf3 / VMFleet 测 RDMA 路径的吞吐与延迟RDMA 需用专门工具PowerShellTest-NetConnection不能测 RDMA latency测 SMB 吞吐建议用diskspd或VMFleet配置 witness 类型如需 local witness 替换 cloud配 backup系统卷、工作负载卷分别配创 Azure Local Insightsazloc-2606 monitor-cluster 路径创 Update Manager 调度azloc-2606 update-cluster 路径演练 rack-level failoverazloc-2606 推荐conduct live migration and failover testing10. 部署阶段常见错误与恢复错误原因恢复Validation 失败wrong extension versionArc extension 没装齐重跑 Install extensionsValidation 失败asymmetric NIC网卡型号/速度不一致换一致 NICValidation 失败OS version mismatch节点 OS 不一致用同 solution version 镜像重装Deploy 卡在 Deploy Moc and ARB StackRP/ARB 启动慢正常等 40-50 分钟azloc-2606 原文Cluster type 显示 Standard部署时选错 cluster options不可改需销毁重建Storage IP 冲突portal 默认 IP 与物理网冲突改用 ARM 模板手工指定 IPRDMA 性能不达标DCB / PFC / ETS 没配齐逐跳检查 TOR / spineStorage pool 不可见Pool 创建失败 / Cluster 创建失败 / Deployment Rollback / SBL 初始化失败查Get-StoragePool/Get-ClusterLog定位11. 部署阶段交付物部署模式记录portal 还是 ARM模板 JSON如果是 ARMCluster name / Arc resource ID / RP Object IDKey Vault 信息确认无 Private Endpointstorage account for witnessWitness 类型cloud / localAD OU 路径Network ATC intent 列表name / adapter / VLANVolume 列表name / 4-way mirror / RLNM 验证输出Storage path 列表Initial baselineDiskSpd / VMFleet 性能基线跨房间 RTT 实测值监控 / 备份 / 更新计划12. Local Availability Zone 与 Fault Domain 的部署后约束Rack Aware Cluster 的 Local Availability Zone 信息是在部署过程中根据 Rack 分布自动生成的部署完成后不建议手工修改 Fault Domain 结构如手动调整 Rack 归属、改变 Storage Fault Domain 类型任何破坏性调整如Get-StoragePool | Set-StoragePool改 FaultDomainTypeId可能导致RLNM 4-way mirror 副本分布失效CSV 重定向策略异常后续Add-Server/Repair-Server验证失败azloc-2606 部署流程对 Fault Domain 的创建是单向的——一旦生成仅可通过重新部署 cluster 调整规划阶段建议部署前反复确认Rack 划分与节点归属第一次部署先在非生产环境跑通rack aware topology部署后如确需调整 Fault Domain完整备份数据后销毁重建