Vorbereiten von Azure Local für getrennte Bereitstellungen

In diesem Artikel wird erläutert, wie Sie einen lokalen Azure-Knoten für die Bereitstellung in getrennten Umgebungen bereitstellen. Bereiten Sie Ihre Umgebung vor, um eine erfolgreiche Einrichtung Ihrer lokalen Azure-Instanz mithilfe einer lokalen Steuerungsebene sicherzustellen. Führen Sie diese Schritte aus, bevor Sie azure Local Instances in Ihrer getrennten Umgebung einrichten.

Vorbereiten von lokalen Azure-Computern

Bereiten Sie Ihre lokalen Azure-Computer auf getrennte Vorgänge vor, indem Sie diese Schritte ausführen, um die ordnungsgemäße Einrichtung und Konfiguration sicherzustellen. Dieser Prozess umfasst das Herunterladen der erforderlichen ISO- und Netzwerkkonfiguration sowie das Einrichten von Zertifikaten und Umgebungsvariablen.

  1. Laden Sie die lokale Azure-ISO herunter, die Ihrer getrennten Version der Steuerebene entspricht (z. B. 2601).

  2. Installieren Sie das Betriebssystem, und konfigurieren Sie das Knotennetzwerk für jeden lokalen Azure-Computer, den Sie verwenden möchten, um eine Instanz zu bilden. Weitere Informationen finden Sie unter Installieren des Azure Stack HCI-Betriebssystems.

  3. Installieren Sie auf physischer Hardware Firmware und Treiber, wie von Ihrem OEM angewiesen.

  4. Benennen Sie Netzwerkadapter um.

    Verwenden Sie denselben Adapternamen für jeden Knoten für das physische Netzwerk. Benennen Sie Adapter in aussagekräftige Namen um, wenn die Standardnamen nicht eindeutig sind. Überspringen Sie diesen Schritt, wenn die Adapternamen bereits übereinstimmen.

    Ein Beispiel:

     Rename-NetAdapter -Name "Mellanox #1" -NewName "ethernet"
     Rename-NetAdapter -Name "Mellanox #2" -NewName "ethernet 2" 
     # Other examples for naming e.g."storage port 0" 
    
  5. Richten Sie die virtuellen Switches entsprechend Ihrem geplanten Netzwerk ein:

    • Überlegungen zum Netzwerk für Cloudbereitstellungen von Azure Local.

    • Wenn Ihr Netzwerkplan den gesamten Datenverkehr (Verwaltung, Compute und Speicher) gruppiert, erstellen Sie auf jedem Knoten einen virtuellen Switch mit dem Namen ConvergedSwitch(ManagementComputeStorage).

      Ein Beispiel:

      # Example
      $networkIntentName = 'ManagementComputeStorage'
      New-VMSwitch -Name "ConvergedSwitch($networkIntentName)" -NetAdapterName "ethernet","ethernet 2" -EnableEmbeddedTeaming $true -AllowManagementOS $true
      
      # Rename the VMNetworkAdapter for management. During creation, Hyper-V uses the vSwitch name for the virtual network adapter.
      Rename-VmNetworkAdapter -ManagementOS -Name "ConvergedSwitch($networkIntentName)" -NewName "vManagement($networkIntentName)"
      
      # Rename the NetAdapter. During creation, Hyper-V adds the string "vEthernet" to the beginning of the name.
      Get-NetAdapter -name "vEthernet*"| Rename-NetAdapter -NewName "vManagement($networkIntentName)"
      
    • Wenn Sie VLANs verwenden, stellen Sie sicher, dass Sie das VLAN des Netzwerkadapters festlegen.

      Set-NetAdapter -Name "ethernet 1" -VlanID 10
      
  6. Benennen Sie jeden Knoten gemäß den Benennungskonventionen Ihrer Umgebung um. Beispiel: azlocal-n1, azlocal-n2 und azlocal-n3.

  7. Nur Verwaltungscluster: Überprüfen Sie, ob genügend Speicherplatz für die Bereitstellung getrennter Vorgänge vorhanden ist.

    Stellen Sie sicher, dass Sie mindestens 600 GB freien Speicherplatz auf dem Laufwerk haben, das Sie für die Bereitstellung verwenden möchten. Wenn Ihr Laufwerk weniger Speicherplatz hat, verwenden Sie einen Datenträger auf jedem Knoten, und initialisieren Sie ihn, sodass jeder Knoten über die gleichen verfügbaren Datenträger für die Bereitstellung verfügt.

    Hier erfahren Sie, wie Sie einen Datenträger auf den Knoten initialisieren und für eine D-Partition formatieren:

    $availableDrives = Get-PhysicalDisk | Where-Object { $_.MediaType -eq "SSD" -or $_.MediaType -eq "NVMe" } | where -Property CanPool -Match "True" | Sort-Object Size -Descending
    $driveGroup = $availableDrives | Group-Object Size | select -First 1
    $biggestDataDrives = $availableDrives | select -First $($driveGroup.Count)
    $firstDataDrive= ($biggestDataDrives | Sort-Object DeviceId | select -First 1).DeviceId
    Initialize-Disk -Number $firstDataDrive
    New-partition -disknumber $firstDataDrive -usemaximumsize | format-volume -filesystem NTFS -newfilesystemlabel Data
    Get-partition -disknumber $firstDataDrive -PartitionNumber 2 | Set-Partition -NewDriveLetter D
    
  8. Kopieren Sie auf jedem Knoten den öffentlichen Stammzertifikatschlüssel. Weitere Informationen finden Sie unter PKI für getrennte Vorgänge. Ändern Sie die Pfade entsprechend dem Speicherort und der Methode, den Sie zum Exportieren Des öffentlichen Schlüssels zum Erstellen von Zertifikaten verwenden.

    # Replace paths with your actual values.
    $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\"
    $applianceRootCertFile = "C:\AzureLocalDisconnectedOperations\applianceRoot.cer"
    
    New-Item -ItemType Directory $applianceConfigBasePath
    Copy-Item \\fileserver\share\azurelocalcerts\publicroot.cer $applianceRootCertFile
    
  9. Kopieren Sie den Ordner "APPData/AzureLocal ", und nennen Sie es azureLocalRootCert. Verwenden Sie diese Informationen während der Arc-Appliance-Bereitstellung.

    New-Item -ItemType Directory "$($env:APPDATA)\AzureLocal" -force
    
    Copy-Item $applianceRootCertFile "$($env:APPDATA)\AzureLocal\AzureLocalRootCert.cer"
    
  10. Importieren Sie auf jedem Knoten den öffentlichen Schlüssel in den lokalen Speicher:

    Import-Certificate -FilePath $applianceRootCertFile -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false
    

    Hinweis

    Wenn Sie einen anderen Stamm für das Verwaltungszertifikat verwenden, wiederholen Sie den Vorgang, und importieren Sie den Schlüssel auf jedem Knoten.

  11. Legen Sie die Umgebungsvariable fest, um getrennte Vorgänge zu unterstützen.

    [Environment]::SetEnvironmentVariable("DISCONNECTED_OPS_SUPPORT", $true, [System.EnvironmentVariableTarget]::Machine)
    
  12. Domänenbeitritt zum Computer vor der Bereitstellung (empfohlen)

    Wir empfehlen, jeden Azure Local-Knoten vor der Bereitstellung in die Domäne aufzunehmen. Hier ist ein Beispiel mit PowerShell:

    $credential = Get-Credential
    Add-Computer -DomainName contoso.com -Credential $credential -Restart
    # You can also specifcy OU path and skip one step below
    # Add-Computer -DomainName contoso.com -credential $credential -OUPAth 'OU=AzureLocal,DC=contoso,DC=com' -restart 
    

    Sie können SConfig auch zum Domänenbeitritt zu Ihrem Knoten verwenden.

    Sobald die Domäne beigetreten ist – müssen Sie folgendes tun:

    • Hinzufügen eines Bereitstellungsbenutzers zur lokalen Administratorgruppe dieses Computers
    • Fügen Sie den Computer der richtigen OU in der Domäne hinzu, sofern dies nicht im Cmdlet „Add-Computer“ angegeben ist.

    Hier ist ein Beispielskript, das Sie ausführen können:

    
    # Add deployment user to local administrator group 
    $deploymentUser = "contoso.com\lcmuser" # Change this to your deployment username
    try {
        Add-LocalGroupMember -Group "Administrators" -Member $deploymentUser -ErrorAction Stop
        Write-Host "Successfully added $deploymentUser to Administrators group"
    } catch {
        Write-Host "Error adding user to Administrators group: $_"
        Write-Host "Ensure user exists and domain is reachable"
    }
    
    # Move computer to the correct OU in the domain if not specified in previous step
    $computerName = $env:COMPUTERNAME
    # Modify these to match your domain and OU path
    $domain = "contoso.com"
    $ou = "OU=AzureLocal,DC=contoso,DC=com" 
    Move-ADObject -Identity "CN=$computerName,CN=Computers,DC=contoso,DC=com" -TargetPath $ou
    
  13. Wählen Sie in der Liste der Knotennamen den ersten Computer aus, und legen Sie ihn als den (Seedknoten) fest. Der Seedknoten ist der erste Knoten, der zum Bereitstellen der Steuerungsebene der getrennten Vorgänge verwendet wird. Verwenden Sie den folgenden Befehl, um den Seedknoten festzulegen.

    $seednode = @('azlocal-1', 'azlocal-2','azlocal-3')|Sort|select –first 1
    $seednode
    

Zeitsynchronisierung in vollständig getrennten Umgebungen (luftgespalten)

Führen Sie diese Aktionen für vollständig luftgespaltene Bereitstellungen ohne ausgehenden Internetzugriff auf jeden lokalen Azure-Knoten aus, und konfigurieren Sie einen lokalen Zeitserver für die Zeitsynchronisierung.

Konfigurieren Sie auf jedem Knoten den Zeitserver für die Verwendung des Domänencontrollers. Ändern Sie das Skript, und führen Sie es über PowerShell aus:

w32tm /config /manualpeerlist:"dc.contoso.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /rediscover
# Check your NTP settings
w32tm /query /peers

Nächste Schritte

Dieses Feature ist nur in Azure Local 2602 oder höher verfügbar.