2016-08-06 50 views
0

CONTEXTVerteilen eine große Datei auf N VMs mit AzCopy

Mein Ziel 20 dev Umgebungen mit frischen Datenbanken zu aktualisieren, und es tun, so schnell und zuverlässig wie möglich. Wir erzeugen eine BAK, werfen sie in den Dateispeicher und versuchen dann (schlecht), sie auf alle Boxen herunter zu bringen, bevor ich aus der Ferne die unmount alten/mount new auf allen Boxen auslöse.

VERSUCH

Im Moment habe ich die folgenden als Powershell-Workflow haben:

Write-Output "Beginning workflow." 
foreach -parallel ($dir in $destinations) 
{ 
    $targetFile = "$dir\$sourcePattern" 
    Write-Output "Checking: $targetFile" 
    InlineScript{ 
     $fileExists = Test-Path $Using:targetFile 
     if ($fileExists -eq $false){ 
      Write-Output "Copying to: $using:targetFile" 
      &"$Using:AzCopyPath" /Source:"$Using:sourceDirectory" /Dest:$Using:dir /SourceKey:$Using:sourceKey /Pattern:"$Using:sourcePattern" /Z:$journalPath 
      Write-Output "Copied to: " $Using:targetFile 
     } else{ 
      Write-Output "Already copied: " $Using:targetFile 
     } 

Dies funktioniert wunderbar für kleine Textdateien, sondern auch für ~ 400 GB-Datenbank-Backups, es funktioniert nicht so anschwellen, weil Die Host-Maschine wird völlig überwältigt.

Was ist die sinnvollste Methode, um mit AZCopy eine große Datei automatisiert und parallel auf ~ 20 Maschinen zu kopieren?

+0

Das ist nicht eine große Architektur ist. Ihrer Erzählung zufolge würden Sie ~ 8 TB an Daten pushen. Sie müssen andere Optionen in Erwägung ziehen, wie z. B. einen Torrent oder das Hochladen auf ein Azure-Speicherkonto. –

+0

Sind die Ziele Azure-VMs? Haben Sie über die Verwendung von Azure-Dateien und die Zuordnung von Freigaben nachgedacht? – CtrlDot

+0

@SamAxe Die Datei befindet sich in einem azurblauen Speicherkonto. – RobVious

Antwort

1

Bitte erläutern Sie "die Host-Maschine wird völlig überfordert.". Es ist möglich, dass Sie die Beschränkungen für Azure File Share oder andere Beschränkungen für Speicherkonten erreichen. Der Zieldurchsatz für einzelne Dateifreigaben beträgt bis zu 60 MB/Sek. Bitte stellen Sie sicher, dass Sie dieses Limit nicht überschreiten. Wenn Sie dieses Limit erreichen, sollten Sie in Betracht ziehen, den Inhalt in mehrere Dateifreigaben zu setzen. Im folgenden MSDN-Artikel finden Sie Leistungsgrenzen für Dateien und Speicherkonten: https://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/. Überprüfen Sie außerdem, ob sich Ihr Speicherkonto und Azure-VMs in derselben Region befinden, um die Netzwerklatenz zu verringern.

Danke, Aung