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