Sdílet prostřednictvím


Možnosti úložiště a přesunu dat pro vykreslování prostředků a výstupních souborů

Existuje několik možností, jak zpřístupnit soubory scény a prostředků aplikacím vykreslování na virtuálních počítačích fondu:

  • Azure Blob Storage:
    • Soubory scén a prostředků se nahrají do úložiště objektů blob z místního systému souborů. Při spuštění aplikace úlohou se požadované soubory zkopírují z úložiště objektů blob do virtuálního počítače, aby k nim byla přístupná vykreslovací aplikace. Výstupní soubory zapíše vykreslovací aplikace na disk virtuálního počítače a pak se zkopírují do úložiště objektů blob. V případě potřeby je možné výstupní soubory stáhnout z úložiště objektů blob do místního systému souborů.
    • Azure Blob Storage je jednoduchá a nákladově efektivní možnost pro menší projekty. Vzhledem k tomu, že se na každém virtuálním počítači fondu vyžadují všechny soubory prostředků, je potřeba po zvýšení počtu a velikosti souborů prostředků dbát na to, aby přenosy souborů byly co nejefektivnější.
  • Azure Storage jako systém souborů s využitím blobfuse:
    • U virtuálních počítačů s Linuxem je možné účet úložiště vystavit a použít jako systém souborů při použití ovladače virtuálního systému souborů blobfuse.
    • Tato možnost má výhodu, že je velmi nákladově efektivní, protože systém souborů nevyžaduje žádné virtuální počítače, a navíc ukládání objektů blobfuse do mezipaměti na virtuálních počítačích zabraňuje opakovanému stahování stejných souborů pro více úloh a úkolů. Přesun dat je také jednoduchý, protože soubory jsou jednoduše objekty blob a standardní rozhraní API a nástroje, jako je azcopy, se dají použít ke kopírování souborů mezi místním systémem souborů a úložištěm Azure.
  • Systém souborů nebo sdílená složka:
    • V závislosti na požadavcích na operační systém virtuálního počítače a výkon/škálování pak můžete použít Azure Files, použití virtuálního počítače s připojenými disky pro systém souborů NFS, použití několika virtuálních počítačů s připojenými disky pro distribuovaný systém souborů, jako je GlusterFS, nebo použití nabídky třetí strany.
    • Avere Systems je nyní součástí Microsoftu a v blízké budoucnosti bude mít řešení, která jsou ideální pro rozsáhlé a vysoce výkonné vykreslování. Řešení Avere umožní vytvoření mezipaměti NFS nebo SMB založené na Azure, která funguje ve spojení s úložištěm objektů blob nebo s místními zařízeními NAS.
    • V systému souborů je možné soubory číst nebo zapisovat přímo do systému souborů nebo kopírovat mezi systémem souborů a virtuálními počítači fondu.
    • Sdílený systém souborů umožňuje využití velkého počtu prostředků sdílených mezi projekty a úlohami, přičemž úlohy vykreslování přistupují pouze k tomu, co je potřeba.

Používání Azure Blob Storage

Měl by se použít účet úložiště objektů blob nebo účet úložiště pro obecné účely verze 2. Tyto dva typy účtů úložiště je možné nakonfigurovat s výrazně vyššími limity v porovnání s účtem úložiště pro obecné účely v1, jak je podrobně popsáno v tomto blogovém příspěvku. Při konfiguraci umožní vyšší limity mnohem lepší výkon a škálovatelnost, zejména v případě, že k účtu úložiště přistupuje velké množství virtuálních počítačů fondu.

Kopírování souborů mezi klientem a úložištěm objektů blob

Ke kopírování souborů do a z úložiště Azure je možné použít různé mechanismy, včetně rozhraní API objektů blob úložiště, knihovny pro přesun dat služby Azure Storage, nástroje příkazového řádku azcopy pro Windows nebo Linux, Průzkumník služby Azure Storage a Azure Batch Exploreru.

Například pomocí azcopy je možné přenést všechny prostředky ve složce následujícím způsobem:

azcopy /source:. /dest:https://account.blob.core.windows.net/rendering/project /destsas:"?st=2018-03-30T16%3A26%3A00Z&se=2020-03-31T16%3A26%3A00Z&sp=rwdl&sv=2017-04-17&sr=c&sig=sig" /Y

Pokud chcete kopírovat jenom upravené soubory, můžete použít parametr /XO:

azcopy /source:. /dest:https://account.blob.core.windows.net/rendering/project /destsas:"?st=2018-03-30T16%3A26%3A00Z&se=2020-03-31T16%3A26%3A00Z&sp=rwdl&sv=2017-04-17&sr=c&sig=sig" /XO /Y

Kopírování vstupních souborů prostředků z úložiště objektů blob do virtuálních počítačů fondu Batch

Existuje několik různých přístupů ke kopírování souborů, přičemž nejlepší přístup je určený velikostí prostředků úloh. Nejjednodušší je zkopírovat všechny soubory prostředků do virtuálních počítačů fondu pro každou úlohu:

  • Pokud existují soubory jedinečné pro určitou úlohu, ale vyžadují se pro všechny úkoly úlohy, je možné zadat úkol přípravy úlohy , který zkopíruje všechny soubory. Úkol přípravy úlohy se spustí jednou při spuštění prvního úkolu úlohy na virtuálním počítači, ale ne pro další úlohy úlohy.
  • Úkol uvolnění úlohy by měl být zadán, aby se po dokončení úlohy odebraly soubory pro jednotlivé úlohy. tím zabráníte zaplnění disku virtuálního počítače všemi soubory prostředků úlohy.
  • Pokud existuje více úloh používajících stejné prostředky s pouze přírůstkovými změnami prostředků pro každou úlohu, všechny soubory prostředků se stále kopírují, i když byla aktualizována pouze podmnožina. To by bylo neefektivní v případě velkého množství velkých souborů prostředků.

Pokud se soubory prostředků opakovaně používají mezi úlohami s pouze přírůstkovými změnami mezi úlohami, je efektivnějším, ale o něco více zapojeným přístupem ukládání prostředků do sdílené složky na virtuálním počítači a synchronizace změněných souborů.

  • Úloha přípravy úlohy provede kopírování pomocí příkazu azcopy s parametrem /XO do sdílené složky virtuálního počítače určené AZ_BATCH_NODE_SHARED_DIR proměnnou prostředí. Tím se do každého virtuálního počítače zkopírují jenom změněné soubory.
  • Bude nutné uvažovat o velikosti všech prostředků, aby se zajistilo, že se vejdou na dočasnou jednotku virtuálních počítačů fondu.

Azure Batch má integrovanou podporu kopírování souborů mezi účtem úložiště a virtuálními počítači fondu Batch. Soubory prostředků úkolů kopírují soubory z úložiště do fondu virtuálních počítačů a je možné je zadat pro úkol přípravy úlohy. Bohužel, když existují stovky souborů, je možné narazit na limit a úkoly selhat. Pokud existuje velký počet prostředků, doporučuje se v úloze přípravy úlohy použít příkazový řádek azcopy, který může používat zástupné čáry a nemá žádné omezení.

Kopírování výstupních souborů do úložiště objektů blob z virtuálních počítačů fondu služby Batch

Výstupní soubory je možné použít ke kopírování souborů z virtuálního počítače fondu do úložiště. Po dokončení úlohy je možné z virtuálního počítače zkopírovat jeden nebo více souborů do zadaného účtu úložiště. Vykreslený výstup by se měl zkopírovat, ale může být také žádoucí ukládat soubory protokolu.

Použití virtuálního systému souborů blobfuse pro fondy virtuálních počítačů s Linuxem

Blobfuse je ovladač virtuálního systému souborů pro Azure Blob Storage, který umožňuje přístup k souborům uloženým jako objekty blob v účtu úložiště prostřednictvím systému souborů Linux.

Uzly fondu mohou připojit systém souborů při spuštění nebo k připojení může dojít jako součást úkolu přípravy úlohy – úkol, který se spustí pouze v případě, že první úkol v úloze běží na uzlu. Blobfuse je možné nakonfigurovat tak, aby k ukládání souborů do mezipaměti využíval jak ramdisk, tak místní disk SSD virtuálních počítačů, což výrazně zvýší výkon, pokud více úloh na uzlu přistupuje k některým stejným souborům.

Ukázkové šablony jsou k dispozici pro spouštění samostatných vykreslování V-Ray pomocí systému souborů blobfuse a dají se použít jako základ pro šablony pro jiné aplikace.

Přístup k souborům

Úlohy určují cesty pro vstupní soubory a výstupní soubory pomocí připojeného systému souborů.

Kopírování vstupních souborů prostředků z úložiště objektů blob do virtuálních počítačů fondu Batch

Protože soubory jsou ve službě Azure Storage jen objekty blob, je možné ke kopírování souborů mezi místním systémem souborů a úložištěm objektů blob použít standardní rozhraní API objektů blob, nástroje a uživatelská rozhraní. například azcopy, Průzkumník služby Storage, Batch Explorer atd.

Používání Azure Files s virtuálními počítači s Windows

Azure Files nabízí plně spravované sdílené složky v cloudu, které jsou přístupné přes protokol SMB. Azure Files je založená na Azure Blob Storage. Je nákladově efektivní a dá se nakonfigurovat s replikací dat do jiné oblasti, takže globálně redundantní. Cíle škálování by se měly zkontrolovat, aby se zjistilo, jestli se mají používat Azure Files s ohledem na velikost fondu prognózy a počet souborů prostředků.

K dispozici je dokumentace týkající se připojení sdílené složky Azure.

Připojení sdílené složky Azure Files

Pokud chcete použít ve službě Batch, je nutné provést operaci připojení při každém spuštění úkolu, protože není možné zachovat propojení mezi úkoly. Nejjednodušší způsob, jak to udělat, je použít příkaz cmdkey k zachování přihlašovacích údajů pomocí spouštěcí úlohy v konfiguraci fondu a potom připojit sdílenou složku před jednotlivými úlohami.

Příklad použití příkazu cmdkey v šabloně fondu (s řídicím znakem pro použití v souboru JSON) – všimněte si, že při oddělení volání cmdkey od volání net use musí být kontext uživatele pro spouštěcí úlohu stejný jako kontext použitý pro spuštění úloh:

"startTask": {
  "commandLine": "cmdkey /add:storageaccountname.file.core.windows.net
    /user:AZURE\\markscuscusbatch /pass:storage_account_key",
  "userIdentity":{
    "autoUser": {
      "elevationLevel": "nonadmin",
      "scope": "pool"
    }
}

Příklad příkazového řádku úkolu úlohy:

"commandLine":"net use S:
  \\\\storageaccountname.file.core.windows.net\\rendering &
3dsmaxcmdio.exe -v:5 -rfw:0 -10 -end:10
  -bitmapPath:\"s:\\3dsMax\\Dragon\\Assets\"
  -outputName:\"s:\\3dsMax\\Dragon\\RenderOutput\\dragon.jpg\"
  -w:1280 -h:720
  \"s:\\3dsMax\\Dragon\\Assets\\Dragon_Character_Rig.max\""

Přístup k souborům

Úlohy úlohy určují cesty pro vstupní soubory a výstupní soubory pomocí připojeného systému souborů, a to buď pomocí mapované jednotky, nebo cesty UNC.

Kopírování vstupních souborů prostředků z úložiště objektů blob do virtuálních počítačů fondu Batch

Azure Files podporují všechna hlavní rozhraní API a nástroje, které podporují Službu Azure Storage, například azcopy, Azure CLI, Průzkumník služby Storage, Azure PowerShell, Batch Explorer atd.

Synchronizace souborů Azure je k dispozici pro automatickou synchronizaci souborů mezi místním systémem souborů a sdílenou složkou Azure.

Další kroky

Další informace o možnostech úložiště najdete v podrobné dokumentaci: