КОНТЕКСТРаздача большой файл N виртуальных машин с AzCopy
Моя цель состоит в том, чтобы обновить 20 Dev среды со свежими базами данных, и сделать это максимально быстро и надежно, насколько это возможно. Мы генерируем BAK, бросаем его в хранилище файлов, а затем пытаемся (плохо) довести его до всех ящиков, прежде чем я удалю триггер для запуска старого/монтирования нового во всех ящиках.
ПОПЫТКА
Сейчас я следующий как Powershell Workflow:
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
}
Это прекрасно работает для небольших текстовых файлов, но для создания резервных копий баз данных ~ 400-гигабайтных, он не работает так набухает, потому что хост-машина полностью перегружена.
Какой самый разумный способ использовать AZCopy для автоматического копирования большого файла на ~ 20 машин в автоматическом и параллельном режиме?
Это не большой архитектуры. Согласно вашему описанию, вы будете нажимать ~ 8 ТБ данных. Вам нужно рассмотреть другие варианты - например, торрент или загрузку на учетную запись Azure. –
Являются ли цели Azure VM? Думали ли вы об использовании файлов Azure и просто сопоставлении акций? – CtrlDot
@SamAxe файл находится в лазурном хранилище. – RobVious