الترحيل إلى مشاركات ملفات NFS Azure
تتناول هذه المقالة الجوانب الأساسية للترحيل من خوادم ملفات Linux إلى مشاركات ملفات NFS Azure، والتي تتوفر فقط كمشاركات ملفات Premium (نوع حساب FileStorage). سنقارن أيضا أدوات نسخ الملفات مصدر مفتوح fpsync وrsync لفهم كيفية تنفيذها عند نسخ البيانات إلى مشاركات ملفات Azure.
إشعار
لا تدعم ملفات Azure قوائم التحكم في الوصول إلى NFS (ACLs).
ينطبق على
نوع مشاركة الملف | SMB | NFS |
---|---|---|
مشاركات الملفات القياسية (GPv2)، حسابات التخزين المكررة محليًا (LRS) وحسابات التخزين المكررة في المنطقة (ZRS) | ||
مشاركات الملفات القياسية (GPv2)، حساب تخزين مكرر جغرافي (GRS) أو حساب تخزين مكرر للمنطقة الجغرافية (GZRS) | ||
مشاركات الملفات المدفوعة (FileStorage)، حسابات التخزين المكررة محليًا (LRS) وحسابات التخزين المكررة في المنطقة (ZRS) |
المتطلبات الأساسية
ستحتاج إلى مشاركة ملف NFS Azure واحدة على الأقل مثبتة على جهاز ظاهري Linux (VM). لإنشاء ملف، راجع إنشاء مشاركة ملف NFS Azure وتثبيته على جهاز Linux الظاهري. نوصي بتحميل المشاركة مع nconnect لاستخدام اتصالات TCP متعددة. لمزيد من المعلومات، راجع تحسين أداء مشاركة ملف NFS Azure.
أدوات الترحيل
تتوفر العديد من أدوات مصدر مفتوح لنقل البيانات إلى مشاركات ملفات NFS. ومع ذلك، لا تكون جميعها فعالة عند التعامل مع نظام ملفات موزعة مع اعتبارات أداء مميزة مقارنة بالإعدادات المحلية. في نظام الملفات الموزعة، يتضمن كل استدعاء شبكة رحلة ذهابا وإيابا إلى خادم قد لا يكون محليا. لذلك، فإن تحسين الوقت المستغرق في مكالمات الشبكة أمر بالغ الأهمية لتحقيق الأداء الأمثل ونقل البيانات الفعال عبر الشبكة.
استخدام fpsync مقابل rsync
على الرغم من كونها ذات مؤشر ترابط واحد، فإن rsync هي أداة نسخ ملف متعددة الاستخدامات مصدر مفتوح. يمكنه النسخ محليا، إلى/من مضيف آخر عبر أي shell بعيد، أو إلى/من برنامج rsync الخفي البعيد. وهو يوفر العديد من الخيارات ويتيح مواصفات مرنة لمجموعة الملفات التي سيتم نسخها. ومع ذلك، fpsync هو تطبيق متعدد القراءة، وبالتالي يوفر بعض المزايا، بما في ذلك القدرة على تشغيل وظائف rsync بالتوازي.
في هذه المقالة، سنستخدم fpsync لنقل البيانات من خادم ملفات Linux إلى مشاركات ملفات NFS Azure.
لنسخ البيانات، يستخدم fpsync أدوات rsync (افتراضي) أو cpio أو tar. يحسب مجموعات فرعية من الدليل src_dir/
المصدر ويفرز مهام المزامنة لمزامنتها إلى الدليل الوجهة dst_dir/
. ينفذ مهام المزامنة أثناء تتبع ارتباطات نظام الملفات في وقت واحد، مما يجعله أداة مفيدة لترحيل أنظمة الملفات الكبيرة بكفاءة ونسخ مجموعات البيانات الكبيرة مع ملفات متعددة.
إشعار
يقوم Fpsync بمزامنة محتويات الدليل فقط، وليس الدليل المصدر نفسه. على عكس rsync، يفرض fpsync النهائي '/' على الدليل المصدر، مما يعني أنك لن تحصل على دليل فرعي باسم الدليل المصدر في الدليل الهدف بعد المزامنة.
تثبيت fpart
لاستخدام fpsync، ستحتاج إلى تثبيت مقسم نظام ملفات fpart. تثبيت fpart على توزيع Linux الذي تختاره. بمجرد تثبيته، يجب أن تشاهد fpsync ضمن /usr/bin/
.
نسخ البيانات من المصدر إلى الوجهة
تأكد من تحميل وجهة (الهدف) مشاركة ملف Azure على جهاز Linux الظاهري. راجع المتطلبات الأساسية.
إذا كنت تقوم بترحيل كامل، فستنسخ بياناتك على ثلاث مراحل:
- نسخة الأساس: نسخ من المصدر إلى الوجهة عندما لا توجد بيانات على الوجهة. بالنسبة للنسخة الأساسية، نوصي باستخدام fpsync مع cpio كأداة النسخ.
- نسخة تزايدية: انسخ التغييرات المتزايدة فقط من المصدر إلى الوجهة. للمزامنة المتزايدة، نوصي باستخدام fpsync مع rsync كأداة النسخ. يجب أن يتم ذلك عدة مرات من أجل التقاط جميع التغييرات.
- التمرير النهائي: يلزم الحصول على بطاقة نهائية لحذف أي ملفات على الوجهة غير موجودة في المصدر.
يتضمن نسخ البيانات باستخدام fpsync دائما بعض إصدار هذا الأمر:
fpsync -m <specify copy tool - rsync/cpio/tar> -n <parallel transfers> <absolute source path> <absolute destination path>
نسخة الأساس
للحصول على نسخة أساسية، استخدم fpsync مع cpio.
fpsync -m cpio -n <parallel transfers> <absolute source path> <absolute destination path>
لمزيد من المعلومات، راجع دعم Cpio وTar.
نسخة إضافية
للمزامنة المتزايدة، استخدم fpsync مع أداة النسخ الافتراضية (rsync). لالتقاط جميع التغييرات، نوصي بتشغيل هذا عدة مرات.
fpsync -n <parallel transfers> <absolute source path> <absolute destination path>
بشكل افتراضي، سيحدد fpsync خيارات rsync التالية: -lptgoD -v --numeric-ids
. يمكنك تحديد خيارات rsync إضافية عن طريق إضافة -o option
إلى الأمر fpsync.
التمرير النهائي
بعد عدة عمليات مزامنة تزايدية، تحتاج إلى إجراء تمرير نهائي لحذف أي ملفات على تلك الوجهة غير موجودة في المصدر. يمكنك إما القيام بذلك يدويا مع rsync --delete
لحذف ملفات إضافية من /data/dst/
الدليل، أو يمكنك استخدام fpsync مع الخيار -E. للحصول على التفاصيل، راجع الرمز النهائي.
مقارنة rsync وfpsync بمجموعات بيانات مختلفة
يقارن هذا القسم أداء rsync وfpsync مع مجموعات بيانات مختلفة.
مجموعات البيانات والتكوين
يسرد الجدول التالي مجموعات البيانات المختلفة التي استخدمناها لمقارنة أداء أداة النسخ ضمن أحمال عمل مختلفة.
التكوين # | نوع النسخ | عدد الملفات | عدد الدلائل | حجم الملف | الحجم الإجمالي |
---|---|---|---|---|---|
1.1 | نسخة الأساس | 1 مليون | 1 | 0-32 كيبيبايت | 18 جيبي بايت |
1.2 | تزايدي (تغيير دلتا) | 1 مليون | 1 | 0-32 كيبيبايت | 18 جيبي بايت |
2 | نسخة الأساس | 191,345 | 3,906 | 0-32 كيبيبايت | 3 غيغابايت |
3 | نسخة الأساس | 5,000 | 1 | 10 ميبي بايت | 50 GiB |
تم إجراء الاختبارات على Azure Standard_D8s_v3 VMs مع 8 وحدات vCPUs و32 جيبي بايت من الذاكرة وأكثر من 1 تيرابايت من مساحة القرص لمجموعات البيانات الكبيرة. بالنسبة إلى الهدف، قمنا بتكوين مشاركات ملف NFS Azure مع أكثر من 1 تيرابايت تم توفيرها.
التجارب والنتائج: rsync مقابل fpsync
استنادا إلى تجاربنا مع التكوينات المذكورة أعلاه، لاحظنا أن fpsync كان أداؤه أفضل عند استخدامه مع 64 مؤشر ترابط مع rsync و16 مؤشر ترابط مع cpio لمشاركة ملف Azure NFS المحملة مع nconnect=8
. ستختلف النتائج الفعلية استنادا إلى التكوين ومجموعات البيانات.
إشعار
يمكن أن يكون معدل النقل لملفات Azure أعلى بكثير من التمثيل في المخططات التالية. وقد أجريت بعض التجارب عمدا باستخدام مجموعات بيانات صغيرة من أجل البساطة.
التكوين 1
للحصول على دليل واحد مع 1 مليون ملف صغير يبلغ إجماليه 18 جيبي بايت، قمنا بتشغيل هذا الاختبار كنسخة أساسية ونسخة تزايدية.
لاحظنا النتائج التالية التي تقوم بنسخة أساسية من المصدر إلى الوجهة.
لاحظنا النتائج التالية التي تقوم بنسخة تزايدية (تغيير دلتا).
التكوين 2
لاحظنا النتائج التالية التي تقوم بنسخة أساسية من 191345 ملفا صغيرا في 3906 أدلة بحجم إجمالي 3 غيغابايت.
التكوين 3
لاحظنا النتائج التالية التي تقوم بنسخة أساسية من 5000 ملف كبير (10 ميبي بايت) في دليل واحد بحجم إجمالي 50 غيغابايت.
ملخص النتائج
يمكن أن يؤدي استخدام التطبيقات متعددة مؤشرات الترابط مثل fpsync إلى تحسين معدل النقل وIOOPS عند الترحيل إلى مشاركات ملفات NFS Azure مقارنة بأدوات النسخ ذات مؤشر الترابط الأحادي مثل rsync. تظهر اختباراتنا ما يلي:
- يساعد توزيع البيانات عبر الدليل على موازاة عملية الترحيل وبالتالي تحقيق أداء أفضل.
- يؤدي نسخ البيانات من أحجام ملفات أكبر إلى أداء أفضل من نسخ البيانات من أحجام ملفات أصغر.
يلخص الجدول التالي النتائج:
التكوين # | عدد الملفات | عدد الدلائل | حجم الملف | الحجم الإجمالي | مدة rsync | معدل نقل rsync | مدة fpsync | معدل نقل fpsync | زيادة الإنتاجية |
---|---|---|---|---|---|---|---|---|---|
1.1 (أساس) | 1 مليون | 1 | 0-32 كيبيبايت | 18 جيبي بايت | 837.06 دقيقة | 0.33 ميبي بايت/ثانية | 228.16 دقيقة | 1.20 ميبي بايت/ثانية | 267% |
1.2 (تزايدي) | 1 مليون | 1 | 0-32 كيبيبايت | 18 جيبي بايت | 84.02 دقيقة | 3.25 ميبي بايت/ثانية | 7.5 دقائق | 36.41 ميبي بايت/ثانية | 1,020% |
2 (أساس) | 191,345 | 3,906 | 0-32 كيبيبايت | 3 غيغابايت | 191.86 دقيقة | 0.27 ميبي بايت/ثانية | 8.47 دقيقة | 6.04 ميبي بايت/ثانية | 2,164% |
3 (أساس) | 5,000 | 1 | 10 ميبي بايت | 50 GiB | 8.12 دقيقة | 105.04 ميبي بايت/ثانية | 2.76 دقيقة | 308.90 ميبي بايت/ثانية | 194% |
إخلاء المسؤولية عن معلومات الجهات الخارجية
الأدوات مصدر مفتوح المذكورة في هذه المقالة هي حلول معروفة لجهة خارجية. لا يتم تطويرها أو امتلاكها أو دعمها من قبل Microsoft، سواء بشكل مباشر أو غير مباشر. تقع على عاتق العميل مسؤولية فحص ترخيص البرنامج وبيان الدعم المقدم في وثائق الجهة الخارجية.