نحن نعيش في عالم ينمو فيه البيانات بطريقة لا تتنبأ وحاجتنا إلى تخزين هذه البيانات، سواء كانت منظمة أو غير منظمة، بطريقة فعالة. تقدم أنظمة الحوسبة الموزعة مجموعة واسعة من المزايا على أنظمة الحوسبة المركزية. حيث يتم تخزين البيانات بطريقة موزعة مع عدة نود كخوادم.

مفهوم خادم البيانات غير ضروري في نظام ملفات موزع. في أنظمة الملفات الموزعة، يتيح نقطة النظر المشتركة لجميع الملفات التي تم فصلها بين مخدمات مختلفة. يتم الوصول إلى الملفات/المجلدات على هذه الخوادم التخزينية بالطرق العادية.
على سبيل المثال، يمكن ضبط أذونات الملفات/المجلدات كما في نموذج أذونات النظام العادي، أي المالك، المجموعة والآخرين. يعتمد الوصول إلى نظام الملفات بشكل أساسي على كيفية تصميم بروتوكول معين للعمل عليه.
ما هو GlusterFS؟
GlusterFS هو نظام ملفات موزع محدد ليُستخدم في الفضاء الخاص للمستخدم، أي نظام ملفات في الفضاء الخاص للمستخدم (FUSE). إنه نظام ملفات قائم على البرمجيات مما يعزز ميزة المرونة الخاصة به.
انظر إلى الشكل التوضيحي التالي الذي يمثل بشكل تسلسلي موقع GlusterFS في نموذج هرمي. سيتم استخدام بروتوكول TCP بشكل افتراضي مع GlusterFS.

مزايا GlusterFS
- الابتكار – إنه يقضي على البيانات الوصفية ويمكن أن يحسن بشكل كبير الأداء مما سيساعدنا على توحيد البيانات والكائنات.
- المرونة – مكيف لنمو وانخفاض حجم البيانات.
- توسيع الحجم بشكل خطي – لديه توفر للبيتابايتات وما بعدها.
- البساطة – إنه سهل الإدارة ومستقل عن النواة أثناء التشغيل في فضاء المستخدم.
ما الذي يميز Gluster بين أنظمة الملفات الموزعة الأخرى؟
- فعّالية – غياب خادم البيانات الوصفية يوفر نظام ملفات أسرع.
- ميسور التكلفة – يتم تنفيذه على أجهزة الأجهزة القياسية.
- مرن – كما ذكرت سابقًا، GlusterFS هو نظام ملفات برمجي فقط. يتم تخزين البيانات هنا على أنظمة الملفات الأساسية مثل ext4، xfs الخ.
- مفتوح المصدر – حاليًا يتم الاحتفاظ بـ GlusterFS بواسطة Red Hat Inc، وهي شركة مصدر مفتوح تبلغ قيمتها مليار دولار، كجزء من تخزين Red Hat.
مفاهيم التخزين في GlusterFS
- سند – السند هو في الأساس أي دليل يُعتقد أنه مخصص ليتم مشاركته بين برك تخزين الموثوق بها.
- برك تخزين الموثوق بها – هي مجموعة من هذه الملفات/الدلائل المشتركة، التي تستند إلى البروتوكول المصمم.
- تخزين الكتل – إنها الأجهزة التي يتم نقل البيانات من خلالها عبر الأنظمة على شكل كتل.
- مجموعة – في Red Hat Storage، كل من المجموعة وبركة التخزين الموثوق بها ينقلان نفس المعنى للتعاون بين خوادم التخزين على أساس بروتوكول محدد.
- نظام ملفات موزع – نظام ملفات يتم فيه نشر البيانات على عقد مختلفة حيث يمكن للمستخدمين الوصول إلى الملف دون معرفة الموقع الفعلي للملف. المستخدم لا يشعر بأنه يقوم بالوصول عن بُعد.
- فيوز – هو وحدة نواة يمكن تحميلها تتيح للمستخدمين إنشاء أنظمة ملفات فوق النواة دون الاعتماد على أي من شifر النواة.
- جلستيردي – جلستيردي هو داعم نظام GlusterFS لإدارة الشياطين التي تشكل عمود النظام الملفي والتي ستكون قيد التشغيل طوال الوقت كلما كانت الخوادم في حالة نشطة.
- بوزكس – واجهة نظام التشغيل المحمولة (بوزكس) هي عائلة من المعايير التي حددها معهد الهندسة الكهربائية والإلكترونية (IEEE) كحلاً للتوافق بين متغيرات Unix على شكل واجهة تطبيق برمجي (API).
- رايد – مصفوفة تخزين ذاتي الاعتماد (RAID) هي تقنية توفر موثوقية تخزين متزايدة من خلال التكرار.
- الجزء الفرعي – قطعة بريك بعد معالجتها على الأقل بواسطة أحد المترجمين.
- المترجم – هي قطعة الرمز التي تنفذ الإجراءات الأساسية التي بادر بها المستخدم من نقطة الجبل. إنه يربط مجلدًا أو أكثر.
- المجلد – المجلد هو مجموعة منطقية من الكتل. تعتمد جميع العمليات على أنواع مختلفة من المجلدات التي قام بها المستخدم.
أنواع مختلفة من المجلدات
كما يُسمح أيضًا بتمثيل أنواع مختلفة من المجلدات والتجميعات بين هذه الأنواع الأساسية للمجلدات كما هو موضح أدناه.



توزيع الحجم المتكرر
تمثيل لحجم موزع ومكرر.

تثبيت GlusterFS في RHEL/CentOS و Fedora
في هذه المقالة، سنقوم بتثبيت وتكوين GlusterFS لأول مرة لضمان توافر عالٍ للتخزين. لهذا الغرض، سنأخذ خادمين لإنشاء أحجام وتكرار البيانات بينهما.
الخطوة: 1 يجب أن يكون لديك على الأقل خادمين
- قم بتثبيت CentOS 6.5 (أو أي نظام تشغيل آخر) على خادمين.
- قم بتعيين أسماء المضيفين بـ ” server1 ” و ” server2 “.
- A working network connection.
- قم بتسمية قرص التخزين على كلا الخادمين بـ ” /data/brick “.
الخطوة 2: تمكين مستودع EPEL و GlusterFS
قبل تثبيت GlusterFS على كلا الخادمين، نحتاج إلى تمكين مستودعات EPEL و GlusterFS لتلبية الاعتمادات الخارجية. استخدم الرابط التالي لتثبيت وتمكين مستودع epel تحت كلا النظامين.
بعد ذلك، نحتاج إلى تمكين مستودع GlusterFs على كلا الخوادم.
# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
الخطوة 3: تثبيت GlusterFS
قم بتثبيت البرنامج على كلا الخوادم.
# yum install glusterfs-server
ابدأ خادم إدارة GlusterFS.
# service glusterd start
الآن تحقق من حالة الخادم.
# service glusterd status
ناتج عينة
service glusterd start service glusterd status glusterd.service - LSB: glusterfs server Loaded: loaded (/etc/rc.d/init.d/glusterd) Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS) CGroup: name=systemd:/system/glusterd.service ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost... └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...
الخطوة 4: تكوين SELinux و iptables
افتح ‘/etc/sysconfig/selinux‘ وقم بتغيير SELinux إما إلى “permissive” أو “disabled” على كلا الخادمين. احفظ وأغلق الملف.
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
بعد ذلك، اطلق سراح iptables في كلا العقدتين أو تحتاج إلى السماح بالوصول إلى العقدة الأخرى عبر iptables.
# iptables -F
الخطوة 5: تكوين مجموعة الثقة
قم بتشغيل الأمر التالي على ‘Server1’Server1‘.
gluster peer probe server2
قم بتشغيل الأمر التالي على ‘Server2’Server2‘.
gluster peer probe server1
ملاحظة: بمجرد الاتصال بهذه المجموعة، يمكن للمستخدمين الموثوقين فقط استكشاف خوادم جديدة في هذه المجموعة.
الخطوة 6: إعداد مجلد GlusterFS
على كل من الخادم 1 والخادم 2.
# mkdir /data/brick/gv0
قم بإنشاء مجلد على أحد الخوادم وابدأ المجلد. هنا، لقد اخترت ‘Server1’Server1‘.
# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0 # gluster volume start gv0
بعد ذلك، قم بتأكيد حالة المجلد.
# gluster volume info
ملاحظة: في حالة عدم بدء التشغيل، يتم تسجيل رسائل الخطأ تحت ‘/var/log/glusterfs‘ على أحد أو كلا الخوادم.
الخطوة 7: التحقق من مجلد GlusterFS
قم بتوصيل المجلد بدليل تحت ‘/mnt‘.
# mount -t glusterfs server1:/gv0 /mnt
الآن يمكنك إنشاء وتحرير الملفات على نقطة الوصول المشتركة كعرض واحد لنظام الملفات.
ميزات GlusterFS
- التعافي التلقائي – إذا كان أي من الطوب في حجم مُكرر متوقفًا وقام المستخدمون بتعديل الملفات في الطوب الآخر، سيتم تنشيط ديمون التعافي التلقائي تلقائيًا بمجرد أن يُعاد تشغيل الطوب في المرة القادمة ويتم مزامنة المعاملات التي حدثت خلال فترة التوقف وفقًا لذلك.
- إعادة التوازن – إذا قمنا بإضافة طوب جديد إلى حجم موجود، حيث كانت كمية كبيرة من البيانات تتواجد مسبقًا، فيمكننا تنفيذ عملية إعادة توازن لتوزيع البيانات بين جميع الطوب بما في ذلك الطوب الجديد المضاف.
- تكرار الجغرافي – يوفر نسخًا احتياطية من البيانات لاستعادة الكوارث. هنا يأتي مفهوم الأحجام الرئيسية والفرعية. بحيث إذا كانت الرئيسية متوقفة يمكن الوصول إلى كل البيانات عبر الفرعية. يُستخدم هذا الميزة لمزامنة البيانات بين الخوادم المتقاطعة جغرافيًا. يتطلب بدء جلسة تكرار جغرافي مجموعة من أوامر Gluster.
هنا، هي لقطة الشاشة التالية التي تُظهر وحدة تكرار الجغرافي.

روابط المراجع
هذا كل شيء للآن! تابع التحديث للوصف المفصل للميزات مثل التعافي التلقائي وإعادة التوازن، تكرار الجغرافي، وما إلى ذلك في مقالاتي القادمة.