Spostare DevTest Labs e pianificazioni
È possibile spostare DevTest Labs e le pianificazioni associate in un'altra area o in un altro gruppo di risorse. È possibile spostare i gruppi di risorse tramite il portale di Azure. Per spostare un lab, creare una copia di un lab esistente in un'altra area. Dopo aver spostato il lab e aver creato una macchina virtuale (VM) nell'area di destinazione, è possibile spostare le pianificazioni del lab.
In questo articolo vengono illustrate le operazioni seguenti:
- Spostare le risorse in gruppi di risorse diversi.
- Esportare un modello di Azure Resource Manager (ARM) del lab.
- Modificare il modello aggiungendo o aggiornando l'area di destinazione e altri parametri.
- Distribuire il modello per creare il nuovo lab nell'area di destinazione.
- Configurare il nuovo lab.
- Spostare i dati nel nuovo lab.
- Spostare le pianificazioni nel nuovo lab.
- Eliminare le risorse nell'area di origine.
Prerequisiti
Assicurarsi che i servizi e le funzionalità usati dall'account siano supportati nell'area di destinazione.
Per le funzionalità di anteprima, assicurarsi che la sottoscrizione sia consentita per l'area di destinazione.
DevTest Labs non archivia o espone le password dal modello arm esportato. È necessario conoscere le password o i segreti per:
- le macchine virtuali
- segreti archiviati
- Token PAT del repository dell'artefatto privato per spostare i repository privati insieme al lab.
Quando si sposta una pianificazione del lab, verificare che nell'area di destinazione esista una macchina virtuale di calcolo.
Spostare un lab
La sezione seguente descrive come spostare le risorse in un gruppo di risorse diverso e creare e personalizzare un modello di Resource Manager per spostare un lab da un'area a un'altra.
È possibile spostare una pianificazione senza spostare un lab, se si dispone di una macchina virtuale nell'area di destinazione. Per spostare una pianificazione senza spostare un lab, vedere Spostare una pianificazione.
Spostare gruppi di risorse usando il portale di Azure
Lo spostamento delle risorse tra gruppi di risorse in posizioni diverse è ora abilitato facilmente in DevTest Labs. È possibile trasferire facilmente qualsiasi risorsa da un gruppo a un altro all'interno della stessa sottoscrizione.
Per iniziare, selezionare la risorsa da spostare. Nella pagina Panoramica della risorsa è disponibile il gruppo di risorse corrente visualizzato nella parte superiore. Accanto al nome del gruppo di risorse, verrà visualizzata la parola (move)
tra parentesi.
Fare clic sul testo con move
collegamento ipertestuale, che consente di passare a una nuova pagina in cui è possibile spostare la risorsa in qualsiasi altro gruppo di risorse all'interno della stessa sottoscrizione. Si noti che lo spostamento della risorsa non cambierà la posizione, anche se il gruppo di risorse di destinazione si trova in una posizione diversa. Se non si spostano risorse tramite il portale di Azure o se si esegue il trasferimento a un gruppo di risorse in una sottoscrizione diversa, i metodi alternativi che usano ARM sono descritti di seguito.
Spostare lab in un'area diversa
Quando si sposta un lab, è necessario eseguire alcuni passaggi per preparare lo spostamento. Dovrai:
- Preparare la rete virtuale
- Esportare un modello di Resource Manager del lab
- Modificare il modello
- Distribuire il modello per spostare il lab
- Configurare il nuovo lab
- Scambiare i dischi del sistema operativo delle macchine virtuali di calcolo nelle nuove macchine virtuali
- Pulire il lab originale
Preparare il Rete virtuale
Per iniziare, esportare e modificare un modello di Resource Manager.
Accedere al portale di Azure.
Se il gruppo di risorse non è presente nell'area di destinazione, crearne uno ora.
Spostare il Rete virtuale corrente nella nuova area e nel gruppo di risorse seguendo i passaggi inclusi nell'articolo "Spostare una rete virtuale di Azure in un'altra area".
In alternativa, è possibile creare una nuova rete virtuale, se non è necessario mantenere quella originale.
Esportare un modello di Resource Manager del lab
Si esporta quindi un modello JSON contenente le impostazioni che descrivono il lab.
Per esportare un modello con il portale di Azure:
Selezionare Tutte le risorse e quindi selezionare il gruppo di risorse per il lab.
Selezionare Esporta modello.
Scegliere Scarica in Esporta modello.
Individuare il file .zip scaricato dal portale e decomprimere il file in una cartella di propria scelta.
Questo file ZIP contiene i file .json che includono il modello e gli script per distribuire il modello. Contiene tutte le risorse nel lab elencate in formato modello di Resource Manager, ad eccezione delle risorse Raccolta immagini condivise.
Modificare il modello
Affinché il modello di Resource Manager venga distribuito correttamente nella nuova area, è necessario modificare alcune parti del modello.
Per aggiornare il modello usando portale di Azure:
Nel portale di Azure selezionare Crea una risorsa.
In Cerca nel Marketplace digitare distribuzione modelli e quindi premere INVIO.
Selezionare Distribuzione modello.
Seleziona Crea.
Selezionare Creare un modello personalizzato nell'editor.
Selezionare Carica file e quindi seguire le istruzioni per caricare il file template.json scaricato nell'ultima sezione.
Nell'editor apportare le modifiche seguenti al file template.json :
Sostituire l'originale
location
con la nuova area in cui si vuole distribuire, ad esempiowestus2
,southeastasia
e così via. Per ottenere i codici di località dell'area, vedere Località di Azure. Il codice per un'area è il nome dell'area senza spazi, Stati Uniti =centralus
centrali."variables": {}, "resources": [ { "type": "microsoft.devtestlab/labs", "location": "centralus",
Se sono impostate "Tutte le macchine virtuali in un gruppo di risorse" nelle "Impostazioni lab", aggiornare anche i valori seguenti nel modello di Resource Manager:
- Aggiornare l'oggetto
apiVersion
dellamicrosoft.devtestlab/labs
risorsa a2018-10-15-preview
. - Aggiungere
vmCreationResourceGroupId
alla sezioneproperties
.
"variables": {}, "resources": [ { "type": "microsoft.devtestlab/labs", "apiVersion": "2018-10-15-preview", "name": "[parameters('labs_lj_dtl_rgsettings_name')]", "location": "<regionName>", "properties": { "vmCreationResourceGroupId": "/subscriptions/<subscriptionID>/resourceGroups/<myResourceGroup>", "labStorageType": "Premium",
- Aggiornare l'oggetto
Trovare la
"type": "microsoft.devtestlab/labs/users"
risorsa. Rimuovere l'interasecretStore
sezione, inclusi ikeyVaultld
parametri ekeyVaultUri
.secretStore": { "keyVaultUri": "<vaultvalue>" "keyVaultld": "<id>" }
Trovare la
"type": "microsoft.devtestlab/labs/virtualnetworks"
risorsa. Se in precedenza in questi passaggi è stata creata una nuova rete virtuale, è necessario aggiungere il nome effettivo della subnet in/subnets/[SUBNET_NAME]
. Se si sceglie di spostare la rete virtuale in una nuova area, ignorare questo passaggio.Trovare la
"type": "microsoft.devtestlab/labs/virtualmachines"
risorsa.Sotto le "proprietà", aggiungere
"password": "RANDOM_PASSWORD"
Nota
Per creare una nuova macchina virtuale, è necessaria una proprietà "password". Verrà immessa una password casuale perché in un secondo momento il disco del sistema operativo verrà scambiato con la macchina virtuale originale.
Per Macchine virtuali IP condivisi, aggiungere questo frammento di codice in "properties.networkInterface",
Vm Windows con RDP:
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 3389 } ] } }
Vm Linux con SSH:
"networkInterface": { "sharedPublicIpAddressConfiguration": { "inboundNatRules": [ { "transportProtocol": "tcp", "backendPort": 22 } ] } }
microsoft.devtestlab/labs/users/secrets
Nelle risorse, il parametro seguente è "proprietà". SostituireYOUR_STORED_PASSWORD
con la password.Importante
Usare secureString per i valori delle password.
"value": "YOUR_STORED_PASSWORD"
microsoft.devtestlab/labs/artifactsources
Nelle risorse, il parametro seguente è "proprietà". SostituireYOUR_STORED_PASSWORD
con la password. Anche in questo caso, usare secureString per i valori delle password."securityToken": "YOUR_PAT_TOKEN_VALUE"
Nell'editor salvare il modello.
Distribuire il modello per spostare il lab
Distribuire il modello per creare un nuovo lab nell'area di destinazione.
Nella pagina Distribuzione personalizzata aggiornare tutti i parametri con i valori corrispondenti definiti nel modello.
Immettere i valori seguenti:
Nome Valore Abbonamento Selezionare una sottoscrizione di Azure. Gruppo di risorse Selezionare il nome di gruppo di risorse creato nella sezione precedente. Location Selezionare un percorso per il lab. Ad esempio Stati Uniti centrali. Nome lab Deve essere un nome diverso. ID rete virtuale Deve essere quello spostato o quello nuovo creato. Selezionare Rivedi e crea.
Seleziona Crea.
Selezionare l'icona a forma di campana delle notifiche nella parte superiore della schermata per visualizzare lo stato della distribuzione. Verrà visualizzato lo stato Distribuzione in corso. Attendere il completamento della distribuzione.
Configurare il nuovo lab
Anche se la maggior parte delle risorse lab è stata replicata nella nuova area usando il modello di Resource Manager, è comunque necessario spostare manualmente alcune modifiche.
- Aggiungere nuovamente la raccolta di calcolo al lab, se presente nell'ambiente originale.
- Aggiungere i criteri "Macchine virtuali per utente", "Macchine virtuali per lab" e "Dimensioni consentite delle macchine virtuali" al lab spostato
Scambiare i dischi del sistema operativo delle macchine virtuali di calcolo nelle nuove macchine virtuali
Si noti che le macchine virtuali nel nuovo lab hanno le stesse specifiche delle macchine virtuali del lab precedente. L'unica differenza è che i dischi del sistema operativo.
Creare un disco vuoto nella nuova area.
Ottenere il nome del disco del sistema operativo della macchina virtuale di calcolo di destinazione nel nuovo lab. È possibile trovare la macchina virtuale di calcolo e il relativo disco nel gruppo di risorse nella pagina Macchina virtuale del lab.
Usare AzCopy per copiare il contenuto del disco precedente nei dischi nuovi/vuoti nella nuova area. È possibile eseguire i comandi di PowerShell da Dev Box o da Azure Cloud Shell.
AzCopy è lo strumento preferito per spostare i dati. È ottimizzato per le prestazioni. Un modo in cui è più veloce, è che i dati vengono copiati direttamente, quindi AzCopy non usa la larghezza di banda di rete del computer. Usare AzCopy nella riga di comando o come parte di uno script personalizzato. Vedere Introduzione ad AzCopy.
# Fill in the source/target disk names and their resource group names $sourceDiskName = "SOURCE_DISK" $sourceRG = "SOURCE_RG" $targetDiskName = "TARGET_DISK" $targetRG = "TARGET_RG" $targetRegion = "TARGET_LOCATION" # Create an empty target disk from the source disk $sourceDisk = Get-AzDisk -ResourceGroupName $sourceRG -DiskName $sourceDiskName $targetDiskconfig = New-AzDiskConfig -SkuName $sourceDisk.Sku.Name -UploadSizeInBytes $($sourceDisk.DiskSizeBytes+512) -Location $targetRegion -OsType $sourceDisk.OsType -CreateOption 'Upload' $targetDisk = New-AzDisk -ResourceGroupName $targetRG -DiskName $targetDiskName -Disk $targetDiskconfig # Copy the disk content from source to target $sourceDiskSas = Grant-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName -DurationInSecond 1800 -Access 'Read' $targetDiskSas = Grant-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName -DurationInSecond 1800 -Access 'Write' azcopy copy $sourceDiskSas.AccessSAS $targetDiskSas.AccessSAS --blob-type PageBlob Revoke-AzDiskAccess -ResourceGroupName $sourceRG -DiskName $sourceDiskName Revoke-AzDiskAccess -ResourceGroupName $targetRG -DiskName $targetDiskName
Successivamente, si avrà un nuovo disco nella nuova area.
- Scambiare il disco del sistema operativo della macchina virtuale di calcolo nel nuovo lab con il nuovo disco. Per informazioni su come, vedere l'articolo "Modificare il disco del sistema operativo usato da una macchina virtuale di Azure con PowerShell".
Spostare una pianificazione
Esistono due modi per spostare una pianificazione:
- Ricreare manualmente le pianificazioni nelle macchine virtuali spostate. Questo processo può richiedere molto tempo e può essere soggetto a errori. Questo approccio è più utile quando sono presenti alcune pianificazioni e macchine virtuali.
- Esportare e ridistribuire le pianificazioni usando i modelli di Resource Manager.
Usare la procedura seguente per esportare e ridistribuire la pianificazione in un'altra area di Azure usando un modello di Resource Manager:
Accedere al portale di Azure.
Passare al gruppo di risorse di origine che ha mantenuto le macchine virtuali.
Nella pagina Panoramica del gruppo di risorse, in Risorse selezionare Mostra tipi nascosti.
Selezionare tutte le risorse con il tipo microsoft.devtestlab/schedules.
Selezionare Esporta modello.
Nella pagina Esporta modello di gruppo di risorse selezionare Distribuisci.
Nella pagina Distribuzione personalizzata selezionare Modifica modello.
Nel codice del modello modificare tutte le istanze di
"location": "<old location>"
in"location": "<new location>"
e quindi selezionare Salva.Nella pagina Distribuzione personalizzata immettere i valori corrispondenti alla macchina virtuale di destinazione:
Nome Valore Abbonamento Selezionare una sottoscrizione di Azure. Gruppo di risorse Selezionare il nome del gruppo di risorse. Area Selezionare un percorso per la pianificazione del lab. Ad esempio Stati Uniti centrali. Nome pianificazione Deve essere un nome univoco globale. VirtualMachine_xxx_externalId Deve essere la macchina virtuale di destinazione. Importante
Ogni pianificazione deve avere un nome univoco globale; sarà necessario modificare il nome della pianificazione per la nuova posizione.
Selezionare Rivedi e crea per creare la distribuzione.
Al termine della distribuzione, verificare che la nuova pianificazione sia configurata correttamente nella nuova macchina virtuale.
Eliminare o pulire
Dopo la distribuzione, se si vuole ricominciare, è possibile eliminare il lab di destinazione e ripetere i passaggi descritti nelle sezioni Preparazione e spostamento di questo articolo.
Per eseguire il commit delle modifiche e completare lo spostamento, è necessario eliminare il lab originale.
Per rimuovere un lab usando il portale di Azure:
Nella portale di Azure espandere il menu a sinistra per aprire il menu dei servizi e scegliere DevTest Labs per visualizzare l'elenco dei lab.
Individuare il lab di destinazione da eliminare e fare clic con il pulsante destro del mouse sul pulsante Altro (...) sul lato destro dell'elenco.
Selezionare Elimina e confermare.
È anche possibile scegliere di pulire le pianificazioni originali se non vengono più usate. Passare al gruppo di risorse di pianificazione originale (in cui sono stati esportati modelli nel passaggio 5 precedente) ed eliminare la risorsa di pianificazione.
Passaggi successivi
In questo articolo è stato spostato DevTest Labs da un'area a un'altra ed è stata eseguita la pulizia delle risorse di origine. Per altre informazioni sullo spostamento di risorse tra aree e sul ripristino di emergenza in Azure, vedere: