Rendere persistenti i file in Azure Cloud ShellPersist files in Azure Cloud Shell

Cloud Shell utilizza l'archiviazione dei file di Azure per mantenere i file in più sessioni.Cloud Shell utilizes Azure File storage to persist files across sessions. Al primo avvio Cloud Shell richiede di associare una condivisione file nuova o esistente per mantenere i file in più sessioni.On initial start, Cloud Shell prompts you to associate a new or existing file share to persist files across sessions.

Nota

La condivisione Bash e PowerShell sono la stessa condivisione file.Bash and PowerShell share the same file share. Solo una condivisione file può essere associata con il montaggio automatico in Cloud Shell.Only one file share can be associated with automatic mounting in Cloud Shell.

Creare una nuova risorsa di archiviazioneCreate new storage

Quando si usano le impostazioni di base e si seleziona una sola sottoscrizione, Cloud Shell crea tre risorse per conto dell'utente nell'area di Azure supportata più vicina all'utente:When you use basic settings and select only a subscription, Cloud Shell creates three resources on your behalf in the supported region that's nearest to you:

  • Gruppo di risorse: cloud-shell-storage-<region>Resource group: cloud-shell-storage-<region>
  • Account di archiviazione: cs<uniqueGuid>Storage account: cs<uniqueGuid>
  • Condivisione file: cs-<user>-<domain>-com-<uniqueGuid>File share: cs-<user>-<domain>-com-<uniqueGuid>

Impostazione della sottoscrizione

La condivisione viene montata come clouddrive nella directory $Home.The file share mounts as clouddrive in your $Home directory. Questa azione viene eseguita una sola volta e la condivisione file viene ripetuta automaticamente nelle sessioni successive.This is a one-time action, and the file share mounts automatically in subsequent sessions.

Nota

Per la sicurezza, ogni utente deve effettuare il provisioning del proprio account di archiviazione.For security, each user should provision their own storage account. Per il controllo degli accessi in base al ruolo, gli utenti devono disporre dell'accesso come collaboratore o superiore a livello dell'account di archiviazione.For role-based access control (RBAC), users must have contributor access or above at the storage account level.

La condivisione file contiene anche un'immagine da 5 GB creata per l'utente che rende automaticamente persistenti i dati nella directory $Home.The file share also contains a 5-GB image that is created for you which automatically persists data in your $Home directory. Questo vale sia per Bash che per PowerShell.This applies for both Bash and PowerShell.

Usare le risorse esistentiUse existing resources

Con l'opzione Avanzate è possibile associare risorse esistenti.By using the advanced option, you can associate existing resources. Quando si seleziona un'area Cloud Shell è necessario selezionare un account di archiviazione di backup collocato nella stessa area.When selecting a Cloud Shell region you must select a backing storage account co-located in the same region. Se, ad esempio, l'area assegnata è Stati Uniti occidentali, è necessario associare una condivisione di file anch'essa posizionata nell'area Stati Uniti occidentali.For example, if your assigned region is West US than you must associate a file share that resides within West US as well.

Al prompt di impostazione dell'archiviazione, selezionare Mostra impostazioni avanzate per visualizzare le opzioni aggiuntive.When the storage setup prompt appears, select Show advanced settings to view additional options. Il filtro di opzioni di archiviazione popolato per gli account di archiviazione con ridondanza locale, archiviazione con ridondanza della zona e archiviazione con ridondanza geografica.The populated storage options filter for locally redundant storage (LRS), geo-redundant storage (GRS), and zone-redundant storage (ZRS) accounts.

Nota

L'uso degli account di archiviazione con ridondanza geografica o della zona è consigliato per aumentare la resilienza per la condivisione di file di backup.Using GRS or ZRS storage accounts are recommended for additional resiliency for your backing file share. Il tipo di ridondanza dipende dagli obiettivi e dalla preferenza di prezzo.Which type of redundancy depends on your goals and price preference. Altre informazioni sulle opzioni di replica per gli account di Archiviazione di Azure.Learn more about replication options for Azure Storage accounts.

Impostazione del gruppo di risorse

Aree di archiviazione supportateSupported storage regions

Gli account di archiviazione di Azure associati devono risiedere nella stessa area del computer Cloud Shell in cui vengono montati.Associated Azure storage accounts must reside in the same region as the Cloud Shell machine that you're mounting them to. Per trovare l'area corrente, è possibile eseguire env in Bash e individuare la variabile ACC_LOCATION.To find your current region you may run env in Bash and locate the variable ACC_LOCATION. Le condivisioni file ricevono un'immagine da 5 GB creata automaticamente per mantenere persistente la directory $Home.File shares receive a 5-GB image created for you to persist your $Home directory.

I computer Cloud Shell esistono nelle aree seguenti:Cloud Shell machines exist in the following regions:

AreaArea RegionRegion
AmericheAmericas Stati Uniti orientali, Stati Uniti centro-meridionali, Stati Uniti occidentaliEast US, South Central US, West US
EuropaEurope Europa settentrionale, Europa occidentaleNorth Europe, West Europe
Asia/PacificoAsia Pacific India centrale, Asia sud-orientaleIndia Central, Southeast Asia

Limitare la creazione di risorse con i criteri delle risorse di AzureRestrict resource creation with an Azure resource policy

Gli account di archiviazione che si creano in Cloud Shell sono contrassegnati con ms-resource-usage:azure-cloud-shell.Storage accounts that you create in Cloud Shell are tagged with ms-resource-usage:azure-cloud-shell. Se si desidera impedire agli utenti di creare account di archiviazione con Cloud Shell, creare criteri di risorse di Azure per tag che vengono attivati dal tag specificato.If you want to disallow users from creating storage accounts in Cloud Shell, create an Azure resource policy for tags that are triggered by this specific tag.

Come funziona l’archiviazione Cloud ShellHow Cloud Shell storage works

Cloud Shell rende persistenti i file tramite entrambe le modalità seguenti:Cloud Shell persists files through both of the following methods:

  • Creazione di un'immagine del disco della directory $Home per rendere persistenti tutti i contenuti della directory.Creating a disk image of your $Home directory to persist all contents within the directory. L'immagine del disco viene salvata nella condivisione file specificata come acc_<User>.img in fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img e le modifiche vengono automaticamente sincronizzate.The disk image is saved in your specified file share as acc_<User>.img at fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img, and it automatically syncs changes.
  • Montaggio della condivisione file specificata come clouddrive nella directory $Home per l'interazione diretta con la condivisione file.Mounting your specified file share as clouddrive in your $Home directory for direct file-share interaction. Viene eseguito il mapping di /Home/<User>/clouddrive a fileshare.storage.windows.net/fileshare./Home/<User>/clouddrive is mapped to fileshare.storage.windows.net/fileshare.

Nota

Tutti i file della directory $Home, come le chiavi SSH, vengono mantenuti nell'immagine del disco utente archiviata nella condivisione file montata.All files in your $Home directory, such as SSH keys, are persisted in your user disk image, which is stored in your mounted file share. Applicare le procedure consigliate quando si rendono persistenti le informazioni nella directory $Home e nella condivisione file montata.Apply best practices when you persist information in your $Home directory and mounted file share.

Comandi Bash specificiBash-specific commands

Usare il comando clouddriveUse the clouddrive command

Con Bash in Cloud Shell è possibile eseguire un comando denominato clouddrive, che consente di aggiornare manualmente la condivisione file montata in Cloud Shell.With Bash in Cloud Shell, you can run a command called clouddrive, which enables you to manually update the file share that is mounted to Cloud Shell. Esecuzione del comando "clouddrive"Running the "clouddrive" command

Montare una nuova clouddriveMount a new clouddrive

Prerequisiti per il montaggio manualePrerequisites for manual mounting

È possibile aggiornare la condivisione file associata a Cloud Shell usando il comando clouddrive mount.You can update the file share that's associated with Cloud Shell by using the clouddrive mount command.

Se si monta una condivisione file esistente, gli account di archiviazione devono essere posizionati nell'area Cloud Shell selezionata.If you mount an existing file share, the storage accounts must be located in your select Cloud Shell region. Recuperare il percorso eseguendo env da Bash e controllando il ACC_LOCATION.Retrieve the location by running env from Bash and checking the ACC_LOCATION.

Comando clouddrive mountThe clouddrive mount command

Nota

Se si sta montando una nuova condivisione file, una nuova immagine utente viene creata per la directory $Home.If you're mounting a new file share, a new user image is created for your $Home directory. L’immagine $Home precedente viene mantenuta nella condivisione file precedente.Your previous $Home image is kept in your previous file share.

Eseguire il comando clouddrive mount con i parametri seguenti:Run the clouddrive mount command with the following parameters:

clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName

Per visualizzare altri dettagli, eseguire clouddrive mount -h, come illustrato di seguito:To view more details, run clouddrive mount -h, as shown here:

Esecuzione del comando clouddrive mount

Smontare l'unità clouddriveUnmount clouddrive

È possibile smontare in qualsiasi momento una condivisione file montata in Cloud Shell.You can unmount a file share that's mounted to Cloud Shell at any time. Dal momento che Cloud Shell richiede l’uso di una condivisione file montata, verrà richiesto di creare e montare una nuova condivisione file alla sessione successiva.Since Cloud Shell requires a mounted file share to be used, you will be prompted to create and mount another file share on the next session.

  1. Eseguire clouddrive unmount.Run clouddrive unmount.
  2. Accettare e confermare i prompt.Acknowledge and confirm prompts.

La condivisione file continuerà a esistere a meno che non venga eliminata manualmente.Your file share will continue to exist unless you delete it manually. Cloud Shell non eseguirà più la ricerca di questa condivisione file nelle sessioni successive.Cloud Shell will no longer search for this file share on subsequent sessions. Per visualizzare altri dettagli, eseguire clouddrive unmount -h, come illustrato di seguito:To view more details, run clouddrive unmount -h, as shown here:

Esecuzione del comando "clouddrive unmount"

Avviso

Sebbene l'esecuzione di questo comando non elimini le risorse, l'eliminazione manuale di un gruppo di risorse, un account di archiviazione o una condivisione file di cui è stato eseguito il mapping a Cloud Shell cancellerà l'immagine del disco della directory $Home e tutti i file presenti nella condivisione file.Although running this command will not delete any resources, manually deleting a resource group, storage account, or file share that's mapped to Cloud Shell erases your $Home directory disk image and any files in your file share. Questa azione non può essere annullata.This action cannot be undone.

Elenco clouddriveList clouddrive

Per sapere quale condivisione file è montata come clouddrive, eseguire il comando df.To discover which file share is mounted as clouddrive, run the df command.

Il percorso file a clouddrive indica il nome dell'account di archiviazione e la condivisione file nell'URL.The file path to clouddrive shows your storage account name and file share in the URL. Ad esempio: //storageaccountname.file.core.windows.net/filesharenameFor example, //storageaccountname.file.core.windows.net/filesharename

justin@Azure:~$ df
Filesystem                                          1K-blocks   Used  Available Use% Mounted on
overlay                                             29711408 5577940   24117084  19% /
tmpfs                                                 986716       0     986716   0% /dev
tmpfs                                                 986716       0     986716   0% /sys/fs/cgroup
/dev/sda1                                           29711408 5577940   24117084  19% /etc/hosts
shm                                                    65536       0      65536   0% /dev/shm
//mystoragename.file.core.windows.net/fileshareName 5368709120    64 5368709056   1% /home/justin/clouddrive
justin@Azure:~$

PowerShell - Comandi specificiPowerShell-specific commands

Elencare le condivisioni file di Azure clouddriveList clouddrive Azure file shares

Il cmdlet Get-CloudDrive recupera le informazioni sulle condivisioni file di Azure attualmente montate da clouddrive in Cloud Shell.The Get-CloudDrive cmdlet retrieves the Azure file share information currently mounted by the clouddrive in the Cloud Shell.
Esecuzione di Get-CloudDriveRunning Get-CloudDrive

Smontare clouddriveUnmount clouddrive

È possibile smontare in qualsiasi momento una condivisione file di Azure montata in Cloud Shell.You can unmount an Azure file share that's mounted to Cloud Shell at any time. Se la condivisione file di Azure è stata rimossa, alla sessione successiva verrà chiesto di crearne e montarne una nuova.If the Azure file share has been removed, you will be prompted to create and mount a new Azure file share at the next session.

Il cmdlet Dismount-CloudDrive smonta una condivisione file di Azure dall'account di archiviazione corrente.The Dismount-CloudDrive cmdlet unmounts an Azure file share from the current storage account. Se si smonta clouddrive, viene terminata la sessione corrente.Dismounting the clouddrive terminates the current session. All'utente viene chiesto di creare e montare una nuova condivisione file di Azure durante la sessione successiva.The user will be prompted to create and mount a new Azure file share during the next session. Esecuzione di Dismount-CloudDriveRunning Dismount-CloudDrive

Trasferire file locali in Cloud ShellTransfer local files to Cloud Shell

La directory clouddrive viene sincronizzata con il pannello di archiviazione del portale di Azure.The clouddrive directory syncs with the Azure portal storage blade. Usare questo pannello per trasferire file locali da e verso la condivisione file.Use this blade to transfer local files to or from your file share. L'aggiornamento dei file dall'interno di Cloud Shell si riflette nell'interfaccia utente grafica di archiviazione file quando il pannello viene aggiornato.Updating files from within Cloud Shell is reflected in the file storage GUI when you refresh the blade.

Download dei fileDownload files

Elenco di file locali

  1. Nel portale di Azure passare alla condivisione file montata.In the Azure portal, go to the mounted file share.
  2. Selezionare il file di destinazione.Select the target file.
  3. Fare clic sul pulsante Download.Select the Download button.

Caricare fileUpload files

File locali da caricare

  1. Passare alla condivisione file montata.Go to your mounted file share.
  2. Selezionare il pulsante Carica.Select the Upload button.
  3. Selezionare uno o più file che si desidera caricare.Select the file or files that you want to upload.
  4. Confermare il caricamento.Confirm the upload.

Si dovrebbe a questo punto vedere che è possibile accedere ai file nella directory clouddrive in Cloud Shell.You should now see the files that are accessible in your clouddrive directory in Cloud Shell.

Nota: se è necessario definire una funzione in un file e chiamarla dai cmdlet di PowerShell, l'operatore punto deve essere incluso.Note: If you need to define a function in a file and call it from the PowerShell cmdlets, then the dot operator must be included. Ad esempio: .For example: . .\MyFunctions.ps1.\MyFunctions.ps1

Passaggi successiviNext steps

Avvio rapido di Bash in Cloud ShellBash in Cloud Shell Quickstart
Avvio rapido di PowerShell in Cloud ShellPowerShell in Cloud Shell Quickstart
Informazioni sull'archiviazione di Microsoft Azure FilesLearn about Microsoft Azure Files storage
Informazioni sui tag di archiviazioneLearn about storage tags