Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Archiviazione di Azure offre tre tipi di archivio BLOB: BLOB in blocchi, BLOB di accodamento e BLOB di pagine. I BLOB in blocchi sono costituiti da blocchi e sono ideali per l'archiviazione di file di testo o binari e per il caricamento di file di grandi dimensioni in modo efficiente. Anche i BLOB di accodamento sono costituiti da blocchi, ma sono ottimizzati per le operazioni di accodamento e per questo sono ideali per gli scenari di registrazione. I BLOB di pagine sono costituiti da pagine da 512 byte fino a 8 TB di dimensione totale e sono progettati per operazioni frequenti di lettura/scrittura casuali. I BLOB di pagine sono alla base dei dischi IaaS di Azure. Questo articolo descrive le funzionalità e i vantaggi dei BLOB di pagine.
I blob di pagina sono costituiti da una raccolta di pagine di 512 byte, che consentono di leggere e scrivere intervalli arbitrari di byte. I BLOB di pagine sono quindi ideali per l'archiviazione di strutture di dati di tipo sparse e basati sull'indice, ad esempio i dischi del sistema operativo e di dati per le macchine virtuali e i database. Il database SQL di Azure, ad esempio, usa i BLOB di pagine come risorsa di archiviazione permanente sottostante per i database. I BLOB di pagine vengono spesso usati anche per i file con aggiornamenti basati su intervalli.
Le funzionalità principali dei BLOB di pagine di Azure sono l'interfaccia REST, la durabilità della risorsa di archiviazione sottostante e le funzionalità di migrazione senza problemi in Azure. Queste funzionalità sono illustrate in modo più dettagliato nella sezione successiva. I BLOB di pagine di Azure sono inoltre attualmente supportati in due tipi di risorsa di archiviazione: Archiviazione Premium e Archiviazione Standard. L'archiviazione Premium è progettata specificamente per i carichi di lavoro che richiedono prestazioni elevate e costanti e una bassa latenza, il che rende i page blob Premium ideali per scenari di archiviazione con prestazioni elevate. Gli account di archiviazione Standard sono più convenienti per l'esecuzione di carichi di lavoro indipendenti dalla latenza.
Restrizioni
I BLOB di pagine possono usare solo il livello di accesso Hot; non possono usare né il livello Cool né il livello Archive. Per altre informazioni sui livelli di accesso, vedere Livelli di accesso frequente, sporadico e archivio per i dati BLOB.
Casi d'uso di esempio
Ecco un paio di casi d'uso per i page blob, a partire da Azure IaaS Disks. I BLOB di pagine di Azure sono alla base della piattaforma di dischi virtuali per il servizio IaaS di Azure. Sia i dischi dati che quelli del sistema operativo di Azure vengono implementati come dischi virtuali in cui i dati vengono resi persistenti nella piattaforma di archiviazione di Azure e quindi recapitati alle macchine virtuali per ottenere prestazioni ottimali. I dischi di Azure vengono resi persistenti nel formato VHD di Hyper-V e archiviati come BLOB di pagine in Archiviazione di Azure. Oltre a usare i dischi virtuali per le VM IaaS di Azure, i BLOB di pagine abilitano anche scenari PaaS e DBaaS, ad esempio il servizio database SQL di Azure, che usa attualmente i BLOB di pagine per l'archiviazione dei dati SQL, consentendo operazioni casuali rapide di lettura/scrittura per il database. Un altro esempio è quello in cui si ha un servizio PaaS per l'accesso multimediale condiviso per applicazioni di collaborazione per la modifica di video e i BLOB di pagine consentono di accedere rapidamente a percorsi casuali nei file multimediali. Consente anche a più utenti di modificare e unire in modo rapido ed efficiente gli stessi file multimediali.
I servizi Microsoft proprietari, come Azure Site Recovery e Backup di Azure, così come molti sviluppatori di terze parti, hanno implementato innovazioni all’avanguardia nel settore usando l’interfaccia REST dei page blob. Di seguito sono elencati alcuni degli scenari univoci implementati in Azure:
- Gestione degli snapshot incrementali gestita dall'applicazione: le applicazioni possono sfruttare gli snapshot dei page blob e le API REST per salvare i checkpoint dell'applicazione senza incorrere nella costosa duplicazione dei dati. Archiviazione di Azure supporta gli snapshot locali per i BLOB di pagine, che non richiedono la copia dell'intero BLOB. Queste API pubbliche per le snapshot permettono anche di accedere ai delta tra snapshot e di copiarli.
- Migrazione in tempo reale di applicazioni e dati dall'ambiente locale al cloud: copiare i dati locali e usare le API REST per scrivere direttamente in un BLOB di pagine di Azure mentre la macchina virtuale locale continua a essere eseguita. Dopo l'aggiornamento della destinazione, è possibile effettuare rapidamente il failover nella VM di Azure usando tali dati. In questo modo, è possibile eseguire la migrazione delle macchine virtuali e dei dischi virtuali dall'ambiente locale al cloud con tempi di inattività minimi perché la migrazione dei dati avviene in background mentre si continua a usare la macchina virtuale e il tempo di inattività necessario per il failover sarà breve (in minuti).
- Accesso condiviso basato su SAS, che consente scenari come più lettori e un singolo scrittore, con supporto per il controllo della concorrenza.
I dischi non gestiti vengono ritirati. Per informazioni dettagliate, vedere Eseguire la migrazione dei dischi non gestiti di Azure entro il 30 settembre 2025.
Prezzi
Entrambi i tipi di archiviazione offerti con i page blob seguono ciascuno un proprio modello tariffario. I BLOB di pagine Premium seguono il modello di determinazione dei prezzi dei dischi gestiti, mentre i BLOB di pagine standard vengono fatturati in base alle dimensioni usate e a ogni transazione. Per altre informazioni, vedere la pagina dei prezzi dei page blob di Azure.
Funzionalità dei BLOB di pagine
REST API
Per iniziare a sviluppare usando BLOB di pagine, vedere Sviluppare con BLOB di pagine. Come esempio, verrà esaminato l'accesso ai BLOB di pagine tramite la libreria client di archiviazione per .NET.
Il diagramma seguente illustra le relazioni generali tra account, contenitori e BLOB di pagine.
Creazione di un BLOB di pagine vuoto di una dimensione specificata
Prima di tutto, ottenere un riferimento a un contenitore. Per creare un BLOB di pagine, chiamare il metodo GetPageBlobClient e quindi chiamare il metodo PageBlobClient.Create . Specificare la dimensione massima del blob da creare. Tale dimensione deve essere un multiplo di 512 byte.
long OneGigabyteAsBytes = 1024 * 1024 * 1024;
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);
var blobContainerClient =
blobServiceClient.GetBlobContainerClient(Constants.containerName);
var pageBlobClient = blobContainerClient.GetPageBlobClient("0s4.vhd");
pageBlobClient.Create(16 * OneGigabyteAsBytes);
Ridimensionamento di un blob di pagine
Per ridimensionare un BLOB di pagine dopo la creazione, usare il metodo Ridimensiona. Le dimensioni richieste devono essere un multiplo di 512 byte.
pageBlobClient.Resize(32 * OneGigabyteAsBytes);
Scrivere pagine in un blob di pagine
Per scrivere pagine, utilizzare il metodo PageBlobClient.UploadPages .
pageBlobClient.UploadPages(dataStream, startingOffset);
In questo modo è possibile scrivere un set sequenziale di pagine con dimensioni massime pari a 4 MB. L'offset in cui si scrive deve iniziare da un limite di 512 byte (startingOffset % 512 == 0) e terminare con un limite di 512 - 1.
Non appena una richiesta di scrittura per un set sequenziale di pagine ha esito positivo nel servizio BLOB e viene replicata per la durabilità e la resilienza, viene effettuato il commit della scrittura e l'esito positivo viene restituito al client.
Il diagramma seguente mostra due operazioni di scrittura separate:
- Un'operazione di scrittura che inizia dall'offset 0 di lunghezza pari a 1024 byte
- Un'operazione di scrittura che inizia dall'offset 4096 di lunghezza pari a 1024 byte
Lettura delle pagine da un blob di pagine
Per leggere le pagine, usare il metodo PageBlobClient.Download per leggere un intervallo di byte dal BLOB di pagine.
var pageBlob = pageBlobClient.Download(new HttpRange(bufferOffset, rangeSize));
Ciò consente di scaricare l'intero blob o un intervallo di byte a partire da qualsiasi offset nel blob. Durante la lettura, non è necessario che l'offset inizi da un multiplo di 512. Quando si leggono byte da una pagina NUL, il servizio restituisce zero byte.
La figura seguente mostra un'operazione di lettura con offset pari a 256 e una dimensione di intervallo pari a 4352. I dati restituiti sono evidenziati in arancione. Per le pagine NUL vengono restituiti valori pari a zero.
Se si ha un BLOB scarsamente popolato, potrebbe essere necessario scaricare solo le aree della pagina valide per evitare addebiti per l'uscita di zero byte e per ridurre la latenza di download.
Per determinare quali pagine sono supportate dai dati, usare PageBlobClient.GetPageRanges. È quindi possibile enumerare gli intervalli restituiti e scaricare i dati in ogni intervallo.
IEnumerable<HttpRange> pageRanges = pageBlobClient.GetPageRanges().Value.PageRanges;
foreach (var range in pageRanges)
{
var pageBlob = pageBlobClient.Download(range);
}
Leasing di un BLOB di pagine
L'operazione Lease BLOB stabilisce e gestisce un blocco su un BLOB per le operazioni di scrittura e di eliminazione. Questa operazione è utile negli scenari in cui più client accedono a un BLOB di pagine, per assicurarsi che un solo client per volta possa scrivere nel BLOB. Dischi di Azure, ad esempio, sfrutta questo meccanismo di leasing per assicurare che il disco venga gestito da una singola VM. La durata del blocco può variare da 15 a 60 secondi o può essere infinita. Per altri dettagli, vedere la documentazione qui.
Oltre alle API REST avanzate, i BLOB di pagine offrono anche accesso condiviso, durabilità e sicurezza avanzata. Questi vantaggi verranno trattati in modo più dettagliato nei paragrafi successivi.
Accesso simultaneo
L'API REST dei BLOB di pagina e il relativo meccanismo di leasing consentono alle applicazioni di accedere al BLOB di pagina da più client. Si supponga, ad esempio, di dover compilare un servizio cloud distribuito che condivide gli oggetti di archiviazione con più utenti. Potrebbe trattarsi di un'applicazione Web che gestisce un raccolta di immagini di grandi dimensioni per più utenti. Un'opzione per l'implementarla consiste nell'usare una VM con dischi connessi. Tra gli svantaggi di tale opzione è incluso il vincolo che un disco possa essere connesso a una singola VM, limitando così la scalabilità e la flessibilità e aumentando i rischi. Se si verifica un problema con la VM o con il servizio in esecuzione sulla VM, l'immagine non è accessibile, a causa del lease, fino alla scadenza del lease o alla sua interruzione; e (ii) il costo aggiuntivo derivante dall'avere una VM IaaS.
Un'opzione alternativa consiste nell'usare i BLOB di pagine direttamente tramite le API REST di Archiviazione di Azure. Questa opzione elimina la necessità di costose VM IaaS, offre la flessibilità completa derivante dall'accesso diretto da più client, semplifica il modello di distribuzione classica non essendo più necessario connettere/disconnettere i dischi ed elimina il rischio di problemi nella VM. Offre anche lo stesso livello di prestazioni di un disco per le operazioni casuali di lettura/scrittura
Durabilità e disponibilità elevate
Sia l'archiviazione Standard che quella Premium sono opzioni di archiviazione durevoli in cui i dati dei BLOB di pagina vengono sempre replicati per garantire la durabilità e l'alta disponibilità. ha costantemente offerto una durabilità di livello aziendale per i dischi IaaS e i page blob, con un tasso di guasto annualizzato dello 0%, ai vertici del settore.
Per altre informazioni sulla ridondanza di Archiviazione di Azure per gli account di archiviazione standard e premium, vedere Ridondanza di Archiviazione di Azure e in particolare queste due sezioni:
Migrazione facile ad Azure
Per i clienti e gli sviluppatori interessati a implementare la propria soluzione di backup personalizzata, Azure offre anche snapshot incrementali che includono solo valori differenziali. Questa funzionalità elimina il costo della copia iniziale completa, riducendo considerevolmente il costo del backup. Si tratta di un'altra caratteristica avanzata, che si aggiunge alla possibilità di leggere e copiare in modo efficiente i dati differenziali e che consente agli sviluppatori di realizzare sempre più innovazioni e offre un'esperienza all'avanguardia di backup e ripristino di emergenza in Azure. È possibile configurare la propria soluzione di backup o ripristino di emergenza per le VM in Azure usando Blob Snapshot con l'API Get Page Ranges e l'API Incremental Copy Blob, che è possibile usare per copiare facilmente i dati incrementali per il ripristino di emergenza.
Diverse aziende hanno inoltre carichi di lavoro critici già in esecuzione in data center locali. Per la migrazione del carico di lavoro al cloud, due delle principali preoccupazioni sono il tempo di inattività necessario per copiare i dati e il rischio che si verifichino problemi imprevisti dopo il cambio. In diversi casi, il tempo di inattività può essere un ostacolo per la migrazione al cloud. Usando l'API REST BLOB di pagine, Azure risolve questo problema consentendo la migrazione cloud con un'interruzione minima per i carichi di lavoro critici.
Per esempi su come creare uno snapshot e su come ripristinare un page blob da uno snapshot, vedi Configurare un processo di backup tramite snapshot incrementali.