مقدمة إلى GlusterFS (نظام الملفات) والتثبيت على RHEL / CentOS و Fedora

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

GlusterFS Storage

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

على سبيل المثال، يمكن ضبط أذونات الملفات/المجلدات كما في نموذج أذونات النظام العادي، أي المالك، المجموعة والآخرين. يعتمد الوصول إلى نظام الملفات بشكل أساسي على كيفية تصميم بروتوكول معين للعمل عليه.

ما هو GlusterFS؟

GlusterFS هو نظام ملفات موزع محدد ليُستخدم في الفضاء الخاص للمستخدم، أي نظام ملفات في الفضاء الخاص للمستخدم (FUSE). إنه نظام ملفات قائم على البرمجيات مما يعزز ميزة المرونة الخاصة به.

انظر إلى الشكل التوضيحي التالي الذي يمثل بشكل تسلسلي موقع GlusterFS في نموذج هرمي. سيتم استخدام بروتوكول TCP بشكل افتراضي مع GlusterFS.

GlusterFS Design

مزايا GlusterFS

  1. الابتكار – إنه يقضي على البيانات الوصفية ويمكن أن يحسن بشكل كبير الأداء مما سيساعدنا على توحيد البيانات والكائنات.
  2. المرونة – مكيف لنمو وانخفاض حجم البيانات.
  3. توسيع الحجم بشكل خطي – لديه توفر للبيتابايتات وما بعدها.
  4. البساطة – إنه سهل الإدارة ومستقل عن النواة أثناء التشغيل في فضاء المستخدم.

ما الذي يميز Gluster بين أنظمة الملفات الموزعة الأخرى؟

  1. فعّالية – غياب خادم البيانات الوصفية يوفر نظام ملفات أسرع.
  2. ميسور التكلفة – يتم تنفيذه على أجهزة الأجهزة القياسية.
  3. مرن – كما ذكرت سابقًا، GlusterFS هو نظام ملفات برمجي فقط. يتم تخزين البيانات هنا على أنظمة الملفات الأساسية مثل ext4، xfs الخ.
  4. مفتوح المصدر – حاليًا يتم الاحتفاظ بـ GlusterFS بواسطة Red Hat Inc، وهي شركة مصدر مفتوح تبلغ قيمتها مليار دولار، كجزء من تخزين Red Hat.

مفاهيم التخزين في GlusterFS

  1. سند – السند هو في الأساس أي دليل يُعتقد أنه مخصص ليتم مشاركته بين برك تخزين الموثوق بها.
  2. برك تخزين الموثوق بها – هي مجموعة من هذه الملفات/الدلائل المشتركة، التي تستند إلى البروتوكول المصمم.
  3. تخزين الكتل – إنها الأجهزة التي يتم نقل البيانات من خلالها عبر الأنظمة على شكل كتل.
  4. مجموعة – في Red Hat Storage، كل من المجموعة وبركة التخزين الموثوق بها ينقلان نفس المعنى للتعاون بين خوادم التخزين على أساس بروتوكول محدد.
  5. نظام ملفات موزع – نظام ملفات يتم فيه نشر البيانات على عقد مختلفة حيث يمكن للمستخدمين الوصول إلى الملف دون معرفة الموقع الفعلي للملف. المستخدم لا يشعر بأنه يقوم بالوصول عن بُعد.
  6. فيوز – هو وحدة نواة يمكن تحميلها تتيح للمستخدمين إنشاء أنظمة ملفات فوق النواة دون الاعتماد على أي من شifر النواة.
  7. جلستيردي – جلستيردي هو داعم نظام GlusterFS لإدارة الشياطين التي تشكل عمود النظام الملفي والتي ستكون قيد التشغيل طوال الوقت كلما كانت الخوادم في حالة نشطة.
  8. بوزكس – واجهة نظام التشغيل المحمولة (بوزكس) هي عائلة من المعايير التي حددها معهد الهندسة الكهربائية والإلكترونية (IEEE) كحلاً للتوافق بين متغيرات Unix على شكل واجهة تطبيق برمجي (API).
  9. رايد – مصفوفة تخزين ذاتي الاعتماد (RAID) هي تقنية توفر موثوقية تخزين متزايدة من خلال التكرار.
  10. الجزء الفرعي – قطعة بريك بعد معالجتها على الأقل بواسطة أحد المترجمين.
  11. المترجم – هي قطعة الرمز التي تنفذ الإجراءات الأساسية التي بادر بها المستخدم من نقطة الجبل. إنه يربط مجلدًا أو أكثر.
  12. المجلد – المجلد هو مجموعة منطقية من الكتل. تعتمد جميع العمليات على أنواع مختلفة من المجلدات التي قام بها المستخدم.
أنواع مختلفة من المجلدات

كما يُسمح أيضًا بتمثيل أنواع مختلفة من المجلدات والتجميعات بين هذه الأنواع الأساسية للمجلدات كما هو موضح أدناه.

Distributed Volume
Replicated Volume
Striped Volume
توزيع الحجم المتكرر

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

Distributed Replicated Volume

تثبيت GlusterFS في RHEL/CentOS و Fedora

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

الخطوة: 1 يجب أن يكون لديك على الأقل خادمين

  1. قم بتثبيت CentOS 6.5 (أو أي نظام تشغيل آخر) على خادمين.
  2. قم بتعيين أسماء المضيفين بـ ” server1 ” و ” server2 “.
  3. A working network connection.
  4. قم بتسمية قرص التخزين على كلا الخادمين بـ ” /data/brick “.

الخطوة 2: تمكين مستودع EPEL و GlusterFS

قبل تثبيت GlusterFS على كلا الخادمين، نحتاج إلى تمكين مستودعات EPEL و GlusterFS لتلبية الاعتمادات الخارجية. استخدم الرابط التالي لتثبيت وتمكين مستودع epel تحت كلا النظامين.

  1. كيفية تمكين مستودع EPEL في RHEL/CentOS

بعد ذلك، نحتاج إلى تمكين مستودع 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

  1. التعافي التلقائي – إذا كان أي من الطوب في حجم مُكرر متوقفًا وقام المستخدمون بتعديل الملفات في الطوب الآخر، سيتم تنشيط ديمون التعافي التلقائي تلقائيًا بمجرد أن يُعاد تشغيل الطوب في المرة القادمة ويتم مزامنة المعاملات التي حدثت خلال فترة التوقف وفقًا لذلك.
  2. إعادة التوازن – إذا قمنا بإضافة طوب جديد إلى حجم موجود، حيث كانت كمية كبيرة من البيانات تتواجد مسبقًا، فيمكننا تنفيذ عملية إعادة توازن لتوزيع البيانات بين جميع الطوب بما في ذلك الطوب الجديد المضاف.
  3. تكرار الجغرافي – يوفر نسخًا احتياطية من البيانات لاستعادة الكوارث. هنا يأتي مفهوم الأحجام الرئيسية والفرعية. بحيث إذا كانت الرئيسية متوقفة يمكن الوصول إلى كل البيانات عبر الفرعية. يُستخدم هذا الميزة لمزامنة البيانات بين الخوادم المتقاطعة جغرافيًا. يتطلب بدء جلسة تكرار جغرافي مجموعة من أوامر Gluster.

هنا، هي لقطة الشاشة التالية التي تُظهر وحدة تكرار الجغرافي.

Geo Replication

روابط المراجع

GlusterFS Homepage

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

Source:
https://www.tecmint.com/introduction-to-glusterfs-file-system-and-installation-on-rhelcentos-and-fedora/