2013-10-27 13 views
19

Ho appena spostato il mio sito Web su una macchina virtuale di Azure e sono attivo e funzionante dallo scorso fine settimana. Finora sono molto soddisfatto dei risultati e non vedo l'ora di approfittare di Azure ulteriormente a tempo debito.Unità condivisa tra macchine virtuali Azure

Ho quello che sembra essere uno scenario piuttosto comune e, con mia sorpresa, non riesco a trovare una soluzione ovvia. Ho un paio di VM: un mio server primario e l'altro che sarà sospeso e pronto a dare il calcio d'inizio (manualmente va bene) se il primo ha un problema. Eseguo il backup del sito Web in Archiviazione di Azure (la mia utilità di backup supporta il salvataggio in un BLOB di Azure). Questa è la buona notizia.

Avevo pensato che avrei potuto in qualche modo montare il blob di memoria come un disco, quindi avere uno storage condiviso tra le due VM. Tuttavia, con mia sorpresa, non ho trovato un modo ovvio per farlo. Ho trovato un'utility di terze parti (Gladinet Cloud Desktop) ma sembra dolorosamente lenta. Come ho detto, ammetto che ho pensato che sarebbe stata una cosa facile da fare.

Quindi, tornando indietro, qual è il modo più semplice per accedere a un blob di archiviazione da più VM? Non voglio davvero creare una rete privata e quindi impostare la condivisione dei file di rete, che sembra così vecchia scuola :) e pone una dipendenza specifica su una VM specifica.

Qualche suggerimento?

Grazie.

risposta

5

È possibile blob di accesso da più VM. Questo è un modello molto comune. Quello che non è possibile fare do è montare un'unità (memorizzata in un blob) su più VM contemporaneamente. Cioè, se si decide di creare un disco VHD e collegarlo a una VM (sia Linux o Windows - non importa), allora il disco con blob-backed è bloccato su una VM e quella VM può quindi lavorare con il VHD come sarebbe un file system locale.

Se, d'altra parte, gestisci i BLOB in modo distinto come singoli oggetti, puoi facilmente lavorare con questi BLOB su un numero qualsiasi di VM.

Se si desidera eseguire operazioni di condivisione di rete (ad esempio SMB), è necessario utilizzare il servizio file di Azure o creare una propria VM server SMB.

Nel caso in cui sia assolutamente necessario un file system montato, ma si desideri utilizzare il file system in modo primario/di backup, è sempre possibile eseguire un'operazione tramite l'API per smontare da una VM e rimontare su un'altra VM. Questo può essere eseguito tramite PowerShell (solo Windows) o tramite l'interfaccia della riga di comando multipiattaforma su Linux/Mac/Windows. Lo faresti se la tua VM primaria fallisse per qualche motivo.

+0

Grazie, David. Molto apprezzato. Immagino che, riflettendo, non abbia necessariamente bisogno di un drive montato. Il mio obiettivo è quello di essere in grado di copiare liberamente e facilmente file tra VM. Il problema con l'approccio di condivisione della rete è che se ho impostato su VM 1, devo lasciarlo in esecuzione anche se sto cercando di copiare un file tra VM 2 e 3, il che sarebbe sfortunato. Puoi chiarire cosa intendi con "Se, d'altra parte, gestisci i BLOB discretamente come singoli oggetti ..."? Come potrei impostarli per essere accessibili da ogni VM? Grazie ancora. –

+0

Intendevo dire che i BLOB non hanno bisogno di essere affinizzati su una VM: sono solo oggetti di cui leggi/scrivi. Basta effettuare chiamate per spostare il contenuto dentro e fuori dai BLOB, tramite l'API REST oi numerosi SDK in lingua che avvolgono le API. Usando il singolo accesso blob, invece di montare un disco/file system, non si dispone della limitazione della VM singola per unità. –

+0

È possibile chiarire se il montaggio di file di archiviazione di Azure (come disco, utilizzando la condivisione SMB) su * più * VM * con funzionalità di lettura/scrittura * è ora supportato? – haim770

11

Questo è ora non solo possibile, ma molto semplice, e sembra proprio come un filesystem. Guarda il nuovo servizio file di Azure (in anteprima al momento della stesura di questo documento).

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx

Citando l'annuncio:

"Il servizio di file Azure espone le condivisioni di file utilizzando il protocollo standard SMB 2.1 applicazioni in esecuzione in Azure possono ora condividere facilmente i file tra le macchine virtuali con lo standard e familiare. API del file system come ReadFile e WriteFile."

E 'meglio che solo un disco SMB, come l'annuncio continua a parlare:

" Inoltre, i file possono anche accedere allo stesso tempo attraverso un'interfaccia REST, che apre una varietà di scenari ibridi. Infine, Azure file è costruito sulla stessa tecnologia del Blob, Table, e Coda di servizi, il che significa Azure Files è in grado di sfruttare l'attuale disponibilità, la durata, la scalabilità e la geo la ridondanza che è costruito nella nostra piattaforma ".

5

In Azure Resource manager "Account bagagli" è possibile creare un Network File Share che può essere montato come un disco a più macchine virtuali o per computer e dispositivi non su Azure sia per Unix, Linux e Windows.

In generale, accedere al proprio account di archiviazione ➡ File ➡ Crea fileShare ➡ Denominare la quota e la quota spazio su disco ➡ Fare clic su Connetti per ottenere il comando o Windows o Linux per montare la condivisione sui rispettivi dispositivi. Nota: FUNZIONA SOLO per Archiviazione ridondante locale, non Zona, non Geo ridondante.

https://www.youtube.com/watch?v=SGPJZMaSlis

La video tutorial sopra vi mostra passo per passo come fare questo. L'unica restrizione è necessaria è il supporto del SO del protocollo SMB 3.0 che fa Windows 8 o versioni successive e Windows 2012 o versioni successive. Richiede Firewall Port 445 da aprire.

+1

Funziona, non capisco -1 – cpsaez

Problemi correlati