اذهب إلى المحتوى

لمحة على الشبكات العنقودية DRBD على خواديم أوبنتو


عبد اللطيف ايمش

ينشئ DRBD (الذي هو اختصار لـ Distributed Replicated Block Device والذي يُمكن ترجمته إلى «جهاز كتلي موزع ومُستنسَخ») نسخة انعكاسية من الأجهزة الكتلية بين عدِّة مضيفين؛ الاستنساخ غير مرئي لبقية التطبيقات على الأنظمة المضيفة. أي أقراص صلبة، أو أقسام، أو أجهزة RAID، أو حجوم منطقية ...إلخ. يمكن أن تُنسَخ انعكاسيًا (mirrored).

ubuntu-server-drbd.png.a0f8ec25269a7efe2

للبدء باستخدام DRBD، عليك أولًا تثبيت الحزم الضرورية؛ وذلك بإدخال الأمر الآتي من الطرفية:

sudo apt-get install drbd8-utils

ملاحظة: إذا كنت تستخدم نواةً وهمية (virtual kernel) كجزءٍ من الآلة الوهمية، فستحتاج إلى تصريف (compile) وحدة debd؛ ربما من الأسهل تثبيت حزمة linux-server داخل الآلة الوهمية.

يشرح هذا القسم كيفية ضبط debd لاستنساخ القسم ‎/srv بنظام ملفات ext3 بين مضيفَين؛ لا يهم حجم القسم، لكن يجب أن يكون كلا القسمَين بنفس الحجم.

الضبط

اسم المضيفين في هذا المثال هو debd01 و drbd02؛ وسنحتاج إلى الحصول على خدمة استبيان أسماء إما عبر DNS أو ملف ‎/etc/hosts؛ راجع درس DNS للتفاصيل.

  • لضبط drbd، عدِّل ملف ‎/etc/drbd.conf على المضيف الأول:

global { usage-count no; }
common { syncer { rate 100M; } }
resource r0 {
        protocol C;
        startup {
                wfc-timeout  15;
                degr-wfc-timeout 60;
        }
        net {
                cram-hmac-alg sha1;
                shared-secret "secret";
        }
        on drbd01 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 192.168.0.1:7788;
                meta-disk internal;
        }
        on drbd02 {
                device /dev/drbd0;
                disk /dev/sdb1;
                address 192.168.0.2:7788;
                meta-disk internal;
        }
} 

ملاحظة: هنالك خيارات أخرى كثيرة في ‎/etc/drbd.conf، لكن القيم الافتراضية كافيةٌ لهذا المثال.

  • انسخ الآن الملف ‎/etc/drbd.conf إلى المضيف الثاني:

scp /etc/drbd.conf drbd02:~
  • الآن، انسخ الملف إلى ‎ /‎etcفي drbd02:

sudo mv drbd.conf /etc/
  • باستخدام أداة drbdadm لتهيئة تخزين البيانات الوصفية؛ نفِّذ على كل خادوم ما يلي:

sudo drbdadm create-md r0
  • وعلى كلا المضيفين، شغِّل عفريت drbd:

sudo service drbd start
  • في drbd01، أو أي مضيف تريد أن يكون هو المضيف الرئيسي، أدخِل ما يلي:

sudo drbdadm -- --overwrite-data-of-peer primary all
  • ستبدأ البيانات بالمزامنة مع المضيف الثاني بعد تنفيذ الأمر السابق؛ نفِّذ الأمر الآتي على drbd02 لمشاهدة العملية:

watch -n1 cat /proc/drbd

اضغط Ctrl+c لإيقاف الأمر السابق.

  • في النهاية، أضف نظام ملفات إلى ‎/dev/drbd0 وصِله:

sudo mkfs.ext3 /dev/drbd0
sudo mount /dev/drbd0 /srv

الاختبار

لتختبر إذا كانت الملفات تُزامَن فعليًا بين المضيفين، فانسخ بعض الملفات في drbd01، إلى ‎/srv:

sudo cp -r /etc/default /srv

ثم افصل ‎/srv:

sudo umount /srv

الآن نزِّل مرتبة الخادوم الرئيسي إلى دور ثانوي:

sudo drbdadm secondary r0

ورقّ الخادوم الثانوي إلى رئيسي:

sudo drbdadm primary r0

ثم صِل القسم:

sudo mount /dev/drbd0 /srv

وباستخدام ls، يجب أن تشاهد ‎/srv/default منسوخةً من الخادوم الرئيسي (سابقًا) الذي هو drbd01.

مصادر

  • للمزيد من المعلومات حول DRBD، راجع الصفحة الرئيسية الخاصة به.
  • تحتوي صفحة دليل man drbd.conf على شرح لخيارات لم نغطها في هذا الفصل.
  • راجع أيضًا صفحة الدليل man drbdadm.
  • صفحة ويكي أوبنتو «DRBD» فيها المزيد من المعلومات.

ترجمة -وبتصرف- للمقال Ubuntu Server Guide: DRBD.


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...