خيارات التخزين وحركة البيانات لتقديم ملفات تشكيل الأصول والمخرجات
هناك خيارات متعددة لإتاحة المشهد وملفات الأصول لتطبيقات الرسم الهندسي بمجموعة الأجهزة الظاهرية:
-
Azure Blob Storage:
- يتم تحميل ملفات المشهد والأصول إلى موقع تخزين كائن ثنائي كبير الحجم من نظام ملفات محلية. عند تشغيل التطبيق بواسطة مهمة، يتم نسخ الملفات المطلوبة من مخزن كائن ثنائي كبير الحجم على الأجهزة الظاهرية بحيث يمكن الوصول إليها عن طريق تشكيل التطبيق. تتم كتابة ملفات الإخراج بواسطة عرض التطبيق إلى قرص الأجهزة الظاهرية ثم نسخها إلى مخزن كائن ثنائي كبير الحجم. إذا لزم الأمر، يمكن تحميل ملفات الإخراج من مخزن كائن ثنائي كبير الحجم إلى نظام ملفات محلي.
- Azure Blob Storage هو خيار بسيط وفعال من حيث التكلفة للمشاريع الصغيرة. نظراً لأن جميع ملفات الأصول مطلوبة في كل مجموعة أجهزة ظاهرية، فبمجرد أن يزيد عدد وحجم ملفات الأصول، وجب توخي الحذر لضمان فعالية عمليات نقل الملفات بقدر الإمكان.
- تخزين Azure كنظام ملفات باستخدام blobfuse:
- بالنسبة لنظام التشغيل Linux VMs، يمكن كشف حساب موقع التخزين واستخدامه كنظام ملفات عند استخدام برنامج تشغيل نظام الملفات الافتراضي blobfuse.
- يتمتع هذا الخيار بميزة أنه فعال من حيث التكلفة، حيث لا توجد أجهزة ظاهرية مطلوبة لنظام الملفات، بالإضافة إلى أن التخزين المؤقت blobfuse على الأجهزة الظاهرية يتجنب التنزيلات المتكررة لنفس الملفات لوظائف ومهام متعددة. حركة البيانات هي أيضاً بسيطة كما أن الملفات عبارة عن كائن ثنائي كبير الحجم مع وجود واجهات برمجة التطبيقات وأدوات قياسية مثل azcopy، التي يمكن استخدامها لنسخ الملف بين نظام الملفات المحلية Azure storage.
- نظام الملفات أو مشاركة الملفات:
- بناءً على نظام تشغيل الجهاز الظاهري ومتطلبات الأداء / القياس، تتضمن الخيارات ملفات Azure التي تستخدم الجهاز الظاهري مع أقراص ملحقة بـ NFS أو تستخدم أجهزة ظاهرية متعددة مع أقراص ملحقة بنظام الملفات الموزعة مثل GlusterFS أو تستخدم جهاز عرض من طرف خارجي.
- أصبحت Avere Systems الآن جزءا من Microsoft وستتوفر لها حلول قريبة مثالية للعرض على نطاق واسع وعالي الأداء. يتيح حل Avere إنشاء ذاكرة تخزين مؤقت NFS أو SMB مستندة إلى Azure تعمل مع تخزين كائن ثنائي كبير الحجم أو مع أجهزة NAS المحلية.
- ومن خلال نظام الملفات، يمكن قراءة الملفات أو كتابتها مباشرةً في نظام الملفات أو يمكن نسخها بين نظام الملفات ومجموعة الأجهزة الظاهرية.
- يسمح نظام الملفات المشتركة باستخدام عدد كبير من الأصول المشتركة بين المشاريع والوظائف، مع عرض المهام ما هو مطلوب فقط.
استخدام Azure Blob Storage
يجب استخدام حساب تخزين blob أو حساب تخزين v2 للأغراض العامة. يمكن تكوين هذين النوعين من حسابات التخزين بحدود أعلى مقارنة بحساب تخزين v1 للأغراض العامة، كما هو مفصل في منشور المدونة هذا. عند التكوين، تمكن الحدود الأعلى أداء أفضل وقابلية التوسع، خاصة عندما يكون هناك العديد من الأجهزة الظاهرية للمجموعة التي تصل إلى حساب التخزين.
نسخ الملفات بين العميل ومخزن blob
لنسخ الملفات من وإلى Azure storage يمكن استخدام آليات مختلفة بما في ذلك واجهة برمجة تطبيقات مخزن كائن ثنائي كبير الحجم ومكتبة حركة بيانات Azure Storageوأداة سطر الأوامر azcopy لـWindows أو Linuxومستكشف Azure Storage وAzure Batch Explorer.
على سبيل المثال، يمكن نقل كل الأصول كما هي في مجلد باستخدام azcopy كما هو موضح:
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
لنسخ الملفات المعدلة فقط، يمكن استخدام المعلمة /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
نسخ ملفات أصول الإدخال من مخزن كائن ثنائي كبير الحجم إلى دفعة مجموعة الأجهزة الظاهرية
هناك طريقتان مختلفتان لنسخ الملفات بأفضل طريقة يحددها حجم أصول الوظيفة. أبسط طريقة هي نسخ كل ملفات الأصول إلى مجموعة الأجهزة الظاهرية عن كل وظيفة:
- عندما تكون هناك ملفات فريدة من نوعها لوظيفة، ولكن مطلوبة لجميع مهام الوظيفة، فمن ثم يمكن تحديد مهمة إعداد الوظيفة لنسخ جميع الملفات. يتم تشغيل مهمة إعداد الوظيفة مرة واحدة عند تنفيذ مهمة الوظيفة الأولى على الجهاز الظاهري ولكن لا يتم تشغيلها مرة أخرى لأي مهام وظيفية لاحقة.
- عند الحاجة إلى تحديد مهمة إصدار وظيفة لإزالة الملفات لكل وظيفة بمجرد اكتمال المهمة؛ سيؤدي ذلك إلى تجنب تعبئة قرص الجهاز الظاهري بجميع ملفات أصول الوظيفة.
- عندما تكون هناك وظائف متعددة تستخدم نفس الأصول وتجري تغييرات متزايدة فقط على أصول كل وظيفة، يتم نسخ كل ملفات الأصول، حتى لو تم تحديث مجموعة فرعية فقط. قد يكون هذا غير فعال عند وجود الكثير من ملفات الأصول الكبيرة.
عند إعادة استخدام ملفات الأصول بين الوظائف، مع إجراء تغييرات متزايدة فقط بين الوظائف، تمثل الأسلوب الأكثر كفاءة والأكثر تعقيداً بقليل، في تخزين الأصول بالمجلد المشترك على الجهاز الظاهري ومزامنة الملفات المتغيرة.
- تتمثل مهمة إعداد الوظيفة في النسخ باستخدام azcopy مع المعلمة /XO إلى المجلد المشترك بالجهاز الظاهري الذي حدده متغير البيئة AZ_BATCH_NODE_SHARED_DIR. هذا الأمر ينسخ الملفات التي تم تغييرها إلى كل جهاز ظاهري فقط.
- يجب التفكير في حجم جميع الأصول لضمان احتواؤها على محرك الأقراص المؤقت لتجمع الأجهزة الظاهرية.
يحتوي Azure Batch على دعم مدمج لنسخ الملفات بين حساب التخزين ودفعة مجموعة الأجهزة الظاهرية. تنسخ ملفات مورد المهمة الملفات من المخزن إلى مجموعة الأجهزة الظاهرية ويمكن تحديدها لمهمة إعداد الوظيفة. لسوء الحظ، عندما يكون هناك مئات الملفات، من الممكن الوصول إلى حد وفشل المهام. عندما تكون هناك أعداد كبيرة من الأصول، يوصى باستخدام سطر الأوامر azcopy في مهمة إعداد الوظيفة، والتي يمكن أن تستخدم أحرف البدل وليس لها حد.
نسخ ملفات الإخراج إلى مخزن blob من مجموعة الأجهزة الظاهرية
يمكن استخدام ملفات الإخراج لنسخ الملفات من نظام مجموعة الجهاز الظاهري إلى المخزن. يمكن نسخ ملف واحد أو أكثر من الجهاز الظاهري إلى حساب تخزين محدد بمجرد انتهاء المهمة. يجب نسخ الإخراج المعروض، ولكن قد يكون من المستحسن أيضاً تخزين ملفات السجل.
استخدام نظام الملفات الظاهري blobfuse لنظام مجموعة Linux VM
Blobfuse هو برنامج تشغيل نظام الملفات الظاهري لـ Azure Blob Storage والذي يسمح لك بالوصول إلى الملفات المخزنة كنقط في حساب التخزين من خلال نظام الملفات Linux.
يمكن إدخال عقد نظام المجموعة على نظام الملفات في البداية أو يمكن أن يحدث الإدخال كجزء من مهمة إعداد الوظيفة-المهمة التي تعمل عند تشغيل المهمة الأولي في الوظيفة على العقدة. يمكن تكوين Blobfuse للاستفادة من كل من ramdisk وSSD والأجهزة الظاهرية المحلية لتخزين الملفات بشكل مؤقت، ما سيزيد الأداء بشكل كبير إذا دخلت مهام متعددة على عقدة إلى بعض الملفات نفسها.
نماذج القوالب المتاحة لتشغيل عروض V-Ray المستقلة باستخدام نظام ملفات blobfuse والتي يمكن استخدامها كأساس لقوالب لتطبيقات أخرى.
الوصول إلى الملفات
تحدد مهام الوظيفة مسارات لملفات الإدخال وملفات الإخراج باستخدام نظام الملفات المحملة.
نسخ ملفات أصول الإدخال من مخزن كائن ثنائي كبير الحجم إلى دفعة مجموعة الأجهزة الظاهرية
نظراً لأن الملفات هي مجرد كائن ثنائي كبير الحجم في Azure Storage فيمكن استخدام واجهات برمجة التطبيقات والأدوات وواجهة المستخدم القياسية لـ blob لنسخ الملفات بين نظام الملفات المحلي ومخزن كائن ثنائي كبير الحجم مثل azcopy وStorageExplorer وBatch Explorer وما إلى ذلك.
استخدام ملفات Azure مع Windows VMs
تقدم Azure Files مشاركات ملفات مُدارة بالكامل في السحابة يمكن الوصول إليها عبر بروتوكول SMB. تستند ملفات Azure إلى Azure Blob Storage؛ إنها فعالة من حيث التكلفة ويمكن تكوينها مع النسخ المتماثل للبيانات إلى منطقة أخرى مكررة عالميا. يجب مراجعة أهداف تغير السعة لتحديد ما إذا كان يجب استخدام ملفات Azure بالنظر إلى حجم المتوقع لنظام المجموعة وعدد ملفات الأصول.
هناك وثائق تغطي كيفية تحميل مشاركة ملف Azure.
إدخال ملفات Azure المشتركة
للاستخدام في Batch، يجب تنفيذ عملية التحميل في كل مرة يتم فيها تشغيل مهمة حيث لا يمكن استمرار الاتصال بين المهام. أسهل طريقة للقيام بذلك هي استخدام cmdkey للحفاظ على استمرار بيانات الاعتماد باستخدام مهمة البداية في تكوين نظام المجموعة وبعد ذلك يتم إدخال المشاركة قبل كل مهمة.
مثال على استخدام cmdkey في قالب نظام مجموعة (خرج ليستخدم في ملف JSON) - لاحظ أنه عند فصل استدعاء cmdkey عن استدعاء net use يجب أن يكون سياق المستخدم لمهمة البدء هو نفسه المستخدم لتشغيل المهام:
"startTask": {
"commandLine": "cmdkey /add:storageaccountname.file.core.windows.net
/user:AZURE\\markscuscusbatch /pass:storage_account_key",
"userIdentity":{
"autoUser": {
"elevationLevel": "nonadmin",
"scope": "pool"
}
}
مثال سطر أوامر مهمة الوظيفة:
"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\""
الوصول إلى الملفات
تحدد مهام الوظيفة مسارات لملفات الإدخال وملفات الإخراج مستخدمة نظام الملفات المدخلة، إما باستخدام محرك أقراص معين أو مسار UNC.
نسخ ملفات أصول الإدخال من مخزن كائن ثنائي كبير الحجم إلى دفعة مجموعة الأجهزة الظاهرية
تدعم كل واجهات برمجة التطبيقات الرئيسية ملفات Azure والأدوات التي لديها دعم منAzure Storage مثلazcopy, Azure CLI, Storage Explorer Azure PowerShell, Batch Explorer وما إلى ذلك
تتوافر Azure File Sync لمزامنة الملفات تلقائياً بين نظام الملفات المحلي ومشاركة ملف Azure.
الخطوات التالية
لمزيد من المعلومات حول خيارات التخزين، راجع الوثائق المتعمقة: