Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sahne ve varlık dosyalarını havuz VM'lerindeki işleme uygulamaları için kullanılabilir hale getirmek için birden çok seçenek vardır:
-
Azure Blob Depolama:
- Sahne ve varlık dosyaları yerel bir dosya sisteminden blob depolamaya yüklenir. Uygulama bir görev tarafından çalıştırıldığında, gerekli dosyalar işleme uygulaması tarafından erişilebilmeleri için blob depolamadan VM'ye kopyalanır. Çıkış dosyaları, işleme uygulaması tarafından VM diskine yazılır ve ardından blob depolamaya kopyalanır. Gerekirse, çıkış dosyaları blob depolamadan yerel bir dosya sistemine indirilebilir.
- Azure Blob Depolama, daha küçük projeler için basit ve uygun maliyetli bir seçenektir. Her havuz VM'sinde tüm varlık dosyaları gerektiğinden, varlık dosyalarının sayısı ve boyutu arttığında dosya aktarımlarının mümkün olduğunca verimli olduğundan emin olmak için dikkatli olunması gerekir.
- Blobfuse kullanarak dosya sistemi olarak Azure depolama:
- Linux VM'ler için blobfuse sanal dosya sistemi sürücüsü kullanıldığında depolama hesabı kullanıma sunulur ve dosya sistemi olarak kullanılabilir.
- Dosya sistemi için VM gerekmediğinden, bu seçeneğin uygun maliyetli olması avantajına sahiptir, ayrıca VM'lerde blobfuse önbelleğe alma, aynı dosyaların birden çok iş ve görev için tekrar tekrar indirilmesinden kaçınılır. Dosyalar yalnızca bloblar olduğundan ve azcopy gibi standart API'ler ve araçlar şirket içi dosya sistemi ile Azure depolama arasında dosya kopyalamak için kullanılabildiği için veri taşıma da basittir.
- Dosya sistemi veya dosya paylaşımı:
- VM işletim sistemine ve performans/ölçek gereksinimlerine bağlı olarak seçenekler arasında Azure Dosyalar, NFS için ekli diskleri olan bir VM kullanma, GlusterFS gibi dağıtılmış bir dosya sistemi için bağlı diskleri olan birden çok VM kullanma veya üçüncü taraf teklif kullanma yer alır.
- Avere Systems artık Microsoft'un bir parçasıdır ve yakında büyük ölçekli, yüksek performanslı işleme için ideal çözümlere sahip olacaktır. Avere çözümü, blob depolama veya şirket içi NAS cihazlarıyla çalışan Azure tabanlı bir NFS veya SMB önbelleği oluşturulmasını sağlar.
- Dosya sistemiyle, dosyalar doğrudan dosya sistemine okunabilir veya yazılabilir ya da dosya sistemi ile havuz VM'leri arasında kopyalanabilir.
- Paylaşılan dosya sistemi, projeler ve işler arasında paylaşılan çok sayıda varlığın kullanılmasına olanak tanır ve render görevleri yalnızca gereken öğelere erişir.
Azure Blob Depolama'yı Kullanma
Blob depolama hesabı veya genel amaçlı v2 depolama hesabı kullanılmalıdır. Bu iki depolama hesabı türü, bu blog gönderisinde ayrıntılı olarak açıklandığı gibi genel amaçlı v1 depolama hesabına kıyasla daha yüksek sınırlarla yapılandırılabilir. Daha yüksek sınırlar yapılandırıldığında, özellikle depolama hesabına erişen çok sayıda havuz VM'sinin olduğu durumlarda daha iyi performans ve ölçeklenebilirlik sağlar.
İstemci ile blob depolama arasında dosya kopyalama
Azure depolama alanına dosya kopyalamak için depolama blobu API'si, Azure Depolama Veri Taşıma Kitaplığı, Windows veya Linux için azcopy komut satırı aracı, Azure Depolama Gezgini ve Azure Batch Explorer gibi çeşitli mekanizmalar kullanılabilir.
Örneğin, azcopy kullanılarak bir klasördeki tüm varlıklar aşağıdaki gibi aktarılabilir:
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
Yalnızca değiştirilen dosyaları kopyalamak için /XO parametresi kullanılabilir:
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
Giriş varlığı dosyalarını blob depolamadan Batch havuzu VM'lerine kopyalama
Dosyaları kopyalamak için iş varlıklarının boyutuna göre belirlenen en iyi yaklaşıma sahip birkaç farklı yaklaşım vardır. En basit yaklaşım, her işin tüm varlık dosyalarını havuz VM'lerine kopyalamaktır:
- Bir işin benzersiz dosyaları olduğunda, ancak işin tüm görevleri için gerekli olduğunda, tüm dosyaları kopyalamak için bir iş hazırlama görevi belirtilebilir. İş hazırlama görevi, ilk iş görevi bir VM üzerinde yürütüldüğünde bir kez çalıştırılır ancak sonraki iş görevleri için yeniden çalıştırılmaz.
- İş tamamlandıktan sonra iş başına dosyaları kaldırmak için bir iş bırakma görevi belirtilmesi gerektiğinde, bu işlem VM diskinin tüm iş varlığı dosyaları tarafından doldurulmasını önler.
- Aynı varlıkları kullanan birden çok iş olduğunda ve her işin varlıklarda yalnızca artımlı değişiklikler yapıldığında, yalnızca bir alt küme güncelleştirilmiş olsa bile tüm varlık dosyaları yine de kopyalanır. Çok fazla büyük varlık dosyası olduğunda bu verimsiz olur.
Varlıklar, işler arasında yalnızca artımlı değişikliklerle yeniden kullanıldığında, varlıkları VM'deki paylaşılan klasörde depolamak ve değiştirilen dosyaları eşitlemek daha verimli ama biraz daha ilgili bir yaklaşımdır.
- İş hazırlama görevi, AZ_BATCH_NODE_SHARED_DIR ortam değişkeni tarafından belirtilen VM paylaşılan klasörüne /XO parametresiyle azcopy kullanarak kopyalamayı gerçekleştirir. Bu, değiştirilen dosyaları yalnızca her VM'ye kopyalar.
- Havuz VM'lerinin geçici sürücüsüne sığmalarını sağlamak için tüm varlıkların boyutu hakkında düşünülmesi gerekir.
Azure Batch, depolama hesabı ile Batch havuzu VM'leri arasında dosya kopyalamaya yönelik yerleşik desteğe sahiptir. Görev kaynak dosyaları, dosyaları depolama alanından havuzdaki VM'lere kopyalar ve iş hazırlık görevi için belirtilebilir. Ne yazık ki yüzlerce dosya olduğunda bir sınıra ulaşmak ve görevlerin başarısız olması mümkün olabilir. Çok sayıda varlık bulunduğunda, joker karakterler kullanabilen ve hiçbir sınırlaması olmayan iş hazırlama görevinde azcopy komut satırının kullanılması önerilir.
Batch havuzu VM'lerinden çıkış dosyalarını blob depolamaya kopyalama
Çıkış dosyaları , havuz VM'sinden depolamaya dosya kopyalama amacıyla kullanılabilir. Görev tamamlandıktan sonra vm'den belirtilen depolama hesabına bir veya daha fazla dosya kopyalanabilir. Oluşturulan çıktı kopyalanmalıdır, ancak günlük dosyalarının da depolanması istenebilir.
Linux VM havuzları için blobfuse sanal dosya sistemi kullanma
Blobfuse, linux dosya sistemi aracılığıyla depolama hesabında blob olarak depolanan dosyalara erişmenizi sağlayan Azure Blob Depolama için bir sanal dosya sistemi sürücüsüdür.
Havuz düğümleri başlatıldığında dosya sistemini bağlayabilir veya dosya sistemi bağlama işlemi, bir işteki ilk görev bir düğümde çalıştığında çalışan bir iş hazırlık görevinin parçası olarak yapılabilir. Blobfuse, dosyaların önbelleğe alınması için hem ramdisk hem de VM'lerin yerel SSD'lerinden yararlanacak şekilde yapılandırılabilir. Bu, düğümdeki birden çok görev aynı dosyaların bazılarına erişirse performansı önemli ölçüde artırır.
Örnek şablonlar, blobfuse dosya sistemi kullanarak tek başına V-Ray işlemelerini çalıştırmak için kullanılabilir ve diğer uygulamalar için şablonlar için temel olarak kullanılabilir.
Dosyalara erişme
İş görevleri, bağlı dosya sistemini kullanarak giriş dosyaları ve çıkış dosyaları için yolları belirtir.
Giriş varlığı dosyalarını blob depolamadan Batch havuzu VM'lerine kopyalama
Dosyalar yalnızca Azure Depolama'daki bloblar olduğundan, standart blob API'leri, araçları ve API'leri şirket içi dosya sistemi ile blob depolama arasında dosya kopyalamak için kullanılabilir; örneğin, azcopy, Depolama Gezgini, Batch Explorer vb.
Windows VM'leriyle Azure Dosyalar kullanma
Azure Dosyalar, bulutta SMB protokolü aracılığıyla erişilebilen tam olarak yönetilen dosya paylaşımları sunar. Azure Dosyaları, Azure Blob Depolama’ya dayanır; uygun maliyetlidir ve başka bir bölgeye veri çoğaltmasıyla yapılandırılabilir, bu da küresel olarak yedeklenmesini sağlar. Tahmin havuzu boyutu ve varlık dosyası sayısı göz önünde bulundurulduğunda Azure Dosyalar kullanılması gerekip gerekmediğini belirlemek için ölçek hedefleri gözden geçirilmelidir.
Azure Dosya paylaşımını bağlamayı kapsayan belgeler vardır.
Azure Files paylaşımını bağlama
Batch'te kullanmak için, görevler arasındaki bağlantıyı kalıcı hale getirmek mümkün olmadığından, bir görev her çalıştırıldığında bağlama işleminin gerçekleştirilmesi gerekir. Bunu yapmanın en kolay yolu, havuz yapılandırmasında başlangıç görevini kullanarak kimlik bilgilerini kalıcı hale getirmek için cmdkey kullanmak ve ardından paylaşımı her görevden önce bağlamaktır.
Havuz şablonunda cmdkey kullanımı örneği (JSON dosyasında kullanıma uygun hale getirilmiş) – cmdkey çağrısını net use çağrısından ayırırken, başlatma görevinin kullanıcı bağlamının görevleri çalıştırmak için kullanılanla aynı olması gerektiğine dikkat edin:
"startTask": {
"commandLine": "cmdkey /add:storageaccountname.file.core.windows.net
/user:AZURE\\markscuscusbatch /pass:storage_account_key",
"userIdentity":{
"autoUser": {
"elevationLevel": "nonadmin",
"scope": "pool"
}
}
Örnek iş görevi komut satırı:
"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\""
Dosyalara erişme
İş görevleri, bağlı dosya sistemi aracılığıyla eşlenmiş bir sürücü veya UNC yolu kullanarak, giriş ve çıkış dosyaları için yolları belirtir.
Giriş varlığı dosyalarını blob depolamadan Batch havuzu VM'lerine kopyalama
Azure Dosyalar Azure Depolama desteği olan tüm ana API'ler ve araçlar tarafından desteklenir; örneğin azcopy, Azure CLI, Depolama Gezgini, Azure PowerShell, Batch Explorer vb.
Azure Dosya Eşitleme, şirket içi dosya sistemiyle Azure Dosya paylaşımı arasında dosyaları otomatik olarak eşitlemek için kullanılabilir.
Sonraki adımlar
Depolama seçenekleri hakkında daha fazla bilgi için ayrıntılı belgelere bakın: