Inserimento dati di Azure Cache HPC - metodo msrsync
Questo articolo fornisce istruzioni dettagliate sull'uso dell'utilità msrsync
per copiare i dati in un contenitore di archiviazione BLOB di Azure da usare con Azure Cache HPC.
Per altre informazioni sullo spostamento dei dati nell'archivio BLOB per l'Cache HPC di Azure, vedere Spostare i dati nell'archivio BLOB di Azure.
Lo msrsync
strumento può essere usato per spostare i dati in una destinazione di archiviazione back-end per l'Cache HPC di Azure. Questo strumento è progettato per ottimizzare l'utilizzo della larghezza di banda mediante l'esecuzione parallela di più processi rsync
. È disponibile da GitHub all'indirizzo https://github.com/jbd/msrsync.
msrsync
suddivide la directory di origine in contenitori separati e quindi esegue singoli processi rsync
in ogni contenitore.
I test preliminari su una macchina virtuale con quattro core hanno indicato la massima efficienza utilizzando 64 processi. Usare l'opzione -p
di msrsync
per impostare il numero di processi su 64.
Si noti che msrsync
può scrivere solo da e verso i volumi locali. L'origine e la destinazione devono essere accessibili come montaggi locali nella workstation usata per eseguire il comando.
Seguire queste istruzioni per popolare l'archiviazione msrsync
BLOB di Azure con Azure Cache HPC:
Installare
msrsync
e i relativi prerequisiti (rsync
e Python 2.6 o versione successiva)Determinare il numero totale di file e directory da copiare.
Ad esempio, usare l'utilità
prime.py
con argomentiprime.py --directory /path/to/some/directory
(disponibili scaricando https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).Se non si usa
prime.py
, è possibile calcolare il numero di elementi con lo strumento GNUfind
come indicato di seguito:find <path> -type f |wc -l # (counts files) find <path> -type d |wc -l # (counts directories) find <path> |wc -l # (counts both)
Dividere il numero di elementi per 64 per determinare il numero di elementi per ogni processo. Usare questo numero con l'opzione
-f
per impostare le dimensioni dei contenitori quando si esegue il comando.Eseguire il
msrsync
comando per copiare i file:msrsync -P --stats -p64 -f<ITEMS_DIV_64> --rsync "-ahv --inplace" <SOURCE_PATH> <DESTINATION_PATH>
Ad esempio, questo comando è progettato per spostare 11.000 file in 64 processi da /test/source-repository a /mnt/hpccache/repository:
mrsync -P --stats -p64 -f170 --rsync "-ahv --inplace" /test/source-repository/ /mnt/hpccache/repository