Inserimento dati cache HPC di Azure - 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 Cache HPC di Azure.

Per altre informazioni sullo spostamento dei dati nell'archivio BLOB per 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 cache HPC di Azure. Questo strumento è progettato per ottimizzare l'utilizzo della larghezza di banda eseguendo più processi paralleli rsync . È disponibile da GitHub all'indirizzo https://github.com/jbd/msrsync.

msrsync suddivide la directory di origine in "bucket" separati e quindi esegue singoli rsync processi in ogni bucket.

I test preliminari con una macchina virtuale a quattro core hanno mostrato una migliore efficienza quando si usano 64 processi. Usare l'opzione msrsync-p per impostare il numero di processi su 64.

Si noti che msrsync può scrivere solo in e da volumi locali. L'origine e la destinazione devono essere accessibili come punti di montaggio locali nella workstation usata per impartire il comando.

Seguire queste istruzioni per utilizzare msrsync e popolare l'archiviazione BLOB di Azure con Azure HPC Cache.

  1. Installare msrsync e i relativi prerequisiti (rsync e Python 2.6 o versione successiva)

  2. Determinare il numero totale di file e directory da copiare.

    Ad esempio, usare l'utilità prime.py con argomenti prime.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 GNU find 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)
    
  3. Dividere il numero di elementi per 64 per determinare il numero di elementi per processo. Usare questo numero con l'opzione -f per impostare le dimensioni dei bucket quando si esegue il comando .

  4. 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