توزيع IBM DB2 pureScale على Azure
توضح هذه المقالة كيفية توزيع بنية نموذجية استخدمها عميل مؤسسة مؤخراً للترحيل من بيئة IBM DB2 التي تعمل على z/OS إلى IBM DB2 pureScale على Azure.
لاتباع الخطوات المستخدمة للترحيل، راجع البرامج النصية للتثبيت في مستودع DB2onAzure على GitHub. تستند هذه البرامج النصية إلى بنية حمل عمل نموذجي متوسط الحجم لمعالجة المعاملات عبر الإنترنت (OLTP).
الشروع في العمل
لنشر هذه البنية، قم بتنزيل وتشغيل البرنامج النصي deploy.sh الموجود في مستودع DB2onAzure على GitHub.
يحتوي المستودع أيضاً على برامج نصية لإعداد لوحة معلومات Grafana. يمكنك استخدام لوحة المعلومات للاستعلام عن Prometheus، وهو نظام المراقبة والتنبيه مفتوح المصدر المُضمن في DB2.
إشعار
يقوم البرنامج النصي deploy.sh على العميل بإنشاء مفاتيح SSH خاصة وتمريرها إلى قالب التوزيع عبر HTTPS. لمزيد من الأمان، نوصي باستخدام Azure Key Vault لتخزين البيانات السرية، والمفاتيح، وكلمات المرور.
كيفية عمل البرنامج النصي للتوزيع
يقوم البرنامج النصي deploy.sh بإنشاء موارد Azure لهذه البنية وتكوينها. يطالبك البرنامج النصي باشتراك Azure والأجهزة الظاهرية المستخدمة في البيئة الهدف، ثم يقوم بتنفيذ العمليات التالية:
- إعداد مجموعة الموارد، والشبكة الظاهرية، والشبكات الفرعية على Azure للتثبيت.
- إعداد مجموعات أمان الشبكة وSSH للبيئة.
- إعداد بطاقات واجهة الشبكة (NIC) متعددة على كل من وحدة التخزين المشتركة والأجهزة الظاهرية DB2 pureScale.
- إنشاء الأجهزة الظاهرية للتخزين المشترك. إذا كنت تستخدم Storage Spaces Direct أو حل تخزين آخر، فراجع نظرة عامة على Storage Spaces Direct.
- إنشاء الجهاز الظاهري jumpbox.
- إنشاء الأجهزة الظاهرية DB2 pureScale.
- إنشاء الجهاز الظاهري المراقب الذي يقوم DB2 pureScale باختباره. تخطي هذا الجزء من التوزيع إذا كان إصدار Db2 pureScale الخاص بك لا يتطلب مراقاً.
- ينشئ جهازاً ظاهرياً بنظام Windows لاستخدامه للاختبار، ولكنه لا يقوم بتثبيت أي شيء عليه.
بعد ذلك، تقوم البرامج النصية للتوزيع بإعداد شبكة مساحة تخزين ظاهرية iSCSI (vSAN) للتخزين المشترك على Azure. في هذا المثال، يتصل iSCSI بنظام مجموعة التخزين المشترك. في حل العميل الأصلي، تم استخدام GlusterFS. ومع ذلك، لم تعد IBM تدعم هذا النهج. للحفاظ على دعمك من IBM، تحتاج إلى استخدام نظام ملفات مدعوم متوافق مع iSCSI. تقوم Microsoft بتقديم Storage Spaces Direct (S2D) كخيار.
يمنحك هذا الحل أيضاً خيار تثبيت أهداف iSCSI كعقدة Windows أحادية. يوفر iSCSI واجهة تخزين كتلة مشتركة عبر TCP/IP تسمح لإجراء إعداد DB2 pureScale باستخدام واجهة جهاز للاتصال بوحدة التخزين المشتركة.
تقوم البرامج النصية للتوزيع بتشغيل الخطوات العامة التالية:
- إعداد نظام مجموعة تخزين مشترك على Azure. تتضمن هذه الخطوة عقدتين على الأقل من عقد Linux.
- إعداد واجهة iSCSI Direct على خوادم Linux المستهدفة لمجموعة التخزين المشترك.
- إعداد بادئ iSCSI على أجهزة Linux الظاهرية. سيقوم البادئ بالوصول إلى نظام مجموعة التخزين المشترك باستخدام هدف iSCSI. للحصول على تفاصيل الإعداد، راجع كيفية تكوين هدف iSCSI وبادئ في Linux في وثائق RootUsers.
- تثبيت طبقة التخزين المشترك لواجهة iSCSI.
بعد إنشاء البرامج النصية لجهاز iSCSI، فإن الخطوة الأخيرة هي تثبيت DB2 pureScale. كجزء من إعداد DB2 pureScale، يتم تجميع IBM Spectrum Scale (المعروف سابقاً باسم GPFS) وتثبيته على مجموعة GlusterFS. يمكِّن نظام الملفات المجمعة هذا DB2 pureScale من مشاركة البيانات بين الأجهزة الظاهرية التي تقوم بتشغيل محرك DB2 pureScale. لمزيد من المعلومات، راجع وثائق IBM Spectrum Scale على موقع IBM على الويب.
ملف استجابة DB2 pureScale
مستودع GitHub يتضمن DB2server.rsp، وهو ملف استجابة (.rsp) يمكِّنك من إنشاء برنامج نصي تلقائي لتثبيت DB2 pureScale. يسرد الجدول التالي خيارات DB2 pureScale التي يستخدمها ملف الاستجابة للإعداد. يمكنك تخصيص ملف الاستجابة حسب الحاجة لبيئتك.
إشعار
يتم تضمين نموذج ملف استجابة، DB2server.rsp، في مستودع DB2onAzure على GitHub. إذا كنت تستخدم هذا الملف، فيجب عليك تحريره قبل أن يتمكن من العمل في بيئتك.
اسم الشاشة | الحقل | القيمة |
---|---|---|
مرحبًا | تثبيت جديد | |
اختر منتجاً | DB2 الإصدار 11.1.3.3. إصدارات الخادم مع DB2 pureScale | |
التكوين | الدليل | /data1/opt/ibm/db2/V11.1 |
حدد نوع التثبيت | نموذجي | |
أوافق على شروط IBM | محدد | |
مالك المثيل | مستخدم حالي للمثيل، اسم المستخدم | DB2sdin1 |
مستخدم Fenced | المستخدم الحالي، اسم المستخدم | DB2sdfe1 |
نظام الملفات المجموعة | مسار جهاز تقسيم القرص المشترك | /dev/dm-2 |
نقطة التركيب | /DB2sd_1804a |
|
قرص مشترك للبيانات | /dev/dm-1 |
|
نقطة تركيب (بيانات) | /DB2fs/datafs1 |
|
قرص مشترك للسجل | /dev/dm-0 |
|
نقطة تركيب (السجل) | /DB2fs/logfs1 |
|
DB2 Cluster Services Tiebreaker. مسار الجهاز | /dev/dm-3 |
|
قائمة المضيفين | d1 [eth1], d2 [eth1], cf1 [eth1], cf2 [eth1] | |
CF الأولي المفضل | cf1 | |
CF الثانوي المفضل | cf2 | |
ملف الاستجابة والملخص | الخيار الأول | تثبيت DB2 Server Edition مع ميزة IBM DB2 pureScale وحفظ إعداداتي في ملف استجابة |
اسم ملف الاستجابة | /root/DB2server.rsp |
ملاحظات حول هذا التوزيع
يمكن تغيير قيم
/dev-dm0
و/dev-dm1
/dev-dm2
و/dev-dm3
بعد إعادة التشغيل على الجهاز الظاهري حيث يتم الإعداد (d0 في البرنامج النصي التلقائي). للعثور على القيم الصحيحة، يمكنك إصدار الأمر التالي قبل إكمال ملف الاستجابة على الخادم حيث سيتم تشغيل الإعداد:sudo ls -als /dev/mapper
total 0 0 drwxr-xr-x 2 root root 140 May 30 11:07 . 0 drwxr-xr-x 19 root root 4060 May 30 11:31 .. 0 crw------- 1 root root 10, 236 May 30 11:04 control 0 lrwxrwxrwx 1 root root 7 May 30 11:07 db2data1 -\> ../dm-1 0 lrwxrwxrwx 1 root root 7 May 30 11:07 db2log1 -\> ../dm-0 0 lrwxrwxrwx 1 root root 7 May 30 11:26 db2shared -\> ../dm-2 0 lrwxrwxrwx 1 root root 7 May 30 11:08 db2tieb -\> ../dm-3
تستخدم البرامج النصية للإعداد أسماء مستعارة لأقراص iSCSI بحيث يمكن العثور على الأسماء الفعلية بسهولة.
عند تشغيل البرنامج النصي للإعداد على d0،
/dev/dm-\*
قد تختلف القيم على d1 و cf0 و cf1. لا يؤثر الاختلاف في القيم في إعداد DB2 pureScale.
استكشاف الأخطاء وإصلاحها والمشاكل المعروفة
يتضمن مستودع GitHub قاعدة معارف يحافظ عليها المؤلفون. يسرد المشكلات المحتملة التي قد تواجهها والحلول التي يمكنك تجربتها. على سبيل المثال، يمكن أن تحدث المشكلات المعروفة عندما:
- تحاول الوصول إلى عنوان IP للبوابة.
- تقوم بتجميع General Public License (GPL).
- يفشل تأكيد اتصال الأمان بين المضيفين.
- يكتشف مثبت DB2 نظام ملفات موجوداً.
- تقوم بتثبيت IBM Spectrum Scale يدوياً.
- تقوم بتثبيت DB2 pureScale عندما يكون IBM Spectrum Scale قد تم إنشاؤه بالفعل.
- تقوم بإزالة DB2 pureScale وIBM Spectrum Scale.
لمزيد من المعلومات حول هذه المشكلات وغيرها من المشكلات المعروفة، راجع ملف kb.md في مستودع DB2onAzure.