معرفی و بررسی کامل GlusterFS
من ارسلان میربزرگی، قصد دارم در این مقاله در مورد GlusterFS و ویژگی های آن با شما مخاطبان گرامی صحبت کنم .GlusterFS یک File-system توزیع شده و Scalable است که اجزای ذخیرهسازی را از چندین سرور در یک File-system Uniform جمعآوری میکند. File-system ها در Background کار میکنند و پس از نصب به ندرت کسی به آنها توجه میکند. File-system بیشتر اوقات در مواقع از دست دادن داده یا محدود شدن به دلایلی مثل استفاده از حداکثر اندازهی پارتیشن یا محدودیتهای موجود در مسیر ذخیرهسازی، دچار تغییر میشود.
مقدمه ای دربارهی GlusterFS:
تاریخچه:
نام “Gluster” ترکیبی از “GNU” (که خود مخفف “GNU’s not Unix” است) و “Cluster” است. این سیستم با GNU-General Public License منتشرشده که استفاده از آن را رایگان میکند. اصطلاح “Cluster”، در رابطه با Data carrier، برای توصیف ترکیبی از واحدهای ذخیرهسازی فیزیکی استفاده میشود. همچنین در رابطه با کامپیوترها، برای نشان دادن یک شبکه متصل از چندین سیستم نیز کاربرد دارد. GlusterFS با ترکیب فضای ذخیرهسازی از کامپیوترهای متصل به شبکه و استفاده از آن بهعنوان یک Logical entity، این مفاهیم را ادغام میکند.
این پروژه در سال 2005 توسط Gluster Inc منتشر شد. در سال 2011، Linux RedHat مدیریت این شركت را بر عهده گرفت و از آن زمان به توسعه File-system ادامه داد. نسخهی هفتم از GlusterF اولین بار در ژانویه 2020 انجام شد و برای برخی ورژنهای لینوکس مانند CentOS، Debian، Fedora، RedHat / RHEL، SUSE و Ubuntu، Precompiled شده است.
کاربرد:
این سیستم برای سیستم عامل هایUnix-based هست و به دلیل ادغام حافظه در ماژول FUSE، هنوز بهاندازهی کافی برای سیستمهای ویندوز پایدار نیست.
توجه داشته باشید FUSE مخفف Filesystem در Userspace است. سیستمعاملها معمولاً به دو حالت User و Kernel تقسیم میشوند. حالت Kernel بهطور ویژه از امنیت خوبی برخوردار است. بهعنوان مثال، فقط افرادی که عضو گروه مدیران هستند میتوانند به حالت Kernel دسترسی پیدا کنند. بدین ترتیب، نصب و مدیریت درایوها بهطورمعمول فقط توسط یک مدیر شبکه انجام میشود. بااینحال، FUSE به سایر کاربران نیز امکان مدیریت File-system را میدهد.
کامپیوترها میتوانند بهعنوان سرور و Client عمل کنند. دسترسی به File-system از طریق سایر سیستمهای پشتیبانی شده مانند Network File System و SMB / Block Message Server / Common File System نیز امکانپذیر است.
ویژگیهای GlusterFS:
یک File-system توزیعشده فقط وقتی معنادار است که چندین کامپیوتر به یکدیگر متصل شوند. در فایلهایی که توسط GlusterFS منتشرشده است، حداقل سه سرور موردنیاز است. تقریباً هر نوع سختافزار فیزیکی میتواند یکپارچه شود. علاوه بر کامپیوترهای معمولی، استفاده از Virtual machine نیز امکانپذیر است. این امر علاوه بر انعطافپذیری، مزایای زیاد دیگری نیز به همراه دارد.
سرورهای یکپارچه مانند Node هایی عمل میکنند که از طریق شبکه TCP / IP به یکدیگر متصل شدهاند. دستگاههای یکپارچه یک Storage pool قابلاعتماد ایجاد میکنند که حافظه بهصورت Brick در آن ارائه میشود و سپس از این Brick ها Volume ها ساخته میشوند. Volume ها متعاقباً میتواند مانند Data carrier های عادی یکپارچهسازی شده و استفاده شوند. کامپیوترهای دارای دسترسی بهعنوان Client شناخته میشوند، اما این امکان وجود دارد که یک کامپیوتر هم سرور باشد و هم Client.
خاصیت Scalability فوقالعادهی این نرمافزار یک ویژگی خاص است. به این معنی که هر تعداد Node و Brick را میتوان بعداً اضافه کرد و اندازهی فضای ذخیرهسازی را نیز میتوان با توجه به نیازهای جدید تنظیم کرد. فضای ذخیرهسازی که باید مدیریت شود دارای حداکثر اندازهی چند Petabytes است.
Reliability:
GlusterFS، Reliability را به کمک Redundancy تضمین میکند. ریسک عملکرد بد در ابتدا بین چندین سیستم که میتوانند ازنظر مکانی نیز از یکدیگر جدا شوند، توزیع میشود. همچنین امکان راهاندازی شبکههای RAID نیز وجود دارد. بااینحال، برخلاف استاندارد مشخصشده برای Distributed volume، باید یک Replicated volume نیز در این حالت ذخیره شود. بهاینترتیب، هر پرونده دو بار ذخیره میشود که به آن RAID mirroring میگویند.
Redundant Array of Independent Disks شبکهای از هارددیسکهای است که ازنظر فیزیکی مستقل هستند و از آن یک Unified drive ایجاد میشود. با توجه به هدف شما، تمرکز کار میتواند بر روی سرعت یا امنیت داده باشد. به همین دلیل فضای ذخیرهسازی از طریق صرفهجویی مکرر در دادهها یا ذخیرهی اطلاعات اضافی موردنیاز برای بازیابی پرونده، کاهش مییابد.
GlusterFS برای عملیاتی که در فضای ذخیرهسازی انجام میشود، ده مترجم از پیش تعریفشده ارائه میدهد. این دستورات برای اجرا به کاربران داده شده ترجمه میشوند. مترجم “ذخیرهسازی” که دادهها را در File system محلی ذخیره میکند و دسترسی به آن را کنترل میکند و مترجم “رمزگذاری”، دو نمونه از این مترجمها هستند.
Geo-replication:
یک تابع جدید به نام Geo-replication وجود دارد که میتواند برای اجرای توزیع Asynchronous دادهها در بین سرورها در مکانهای مختلف مورداستفاده قرار گیرد. این امر، از سرورها در برابر اثرات فیزیکی و خارجی مانند آتشسوزی یا سرقت محافظت میکند. در این حالت، یک کامپیوتر بهعنوان Master و دیگری بهعنوان Slave عمل میکند. انتقال داده نیز توسط Secure Shell محافظت میشود.
مزایا و معایب GlusterFS :
در جدول زیر به بررسی یک File-system توزیعشده با یک حافظهی Conventional network پرداختهشده است:
برنامهها:
GlusterFS اساساً یک Classic cloud ایجاد میکند. فضای ذخیرهسازی درون شبکه در دسترس Client های متصل قرار میگیرد. GlusterFS بهویژه برای شبکههای بزرگی که از قبل منابع کافی برای ایجاد یک شبکه گروهی ندارند، مناسب است.
ازآنجاکه سیستمها از طریق پروتکل اینترنت به هم متصل میشوند، استفاده از File system توزیعشده بهویژه برای ساختارهای شرکتی که شامل چندین شعبه هستند، بسیار مناسب است. بااینحال، حافظهی Dedicated network را میتوان در شبکههای محدود محلی نیز ذخیره کرد.
جایگزینها:
یکی از گزینههای قابلتوجه در برابر GlusterFS، Ceph است که بهصورت رایگان در دسترس است و همچنین بسیاری از مزایای ذکرشده در File system های توزیعشده را نیز ارائه میدهد. Ceph و Gluster هرکدام مزایا و معایب متفاوت خود را دارند.
BeeGFS و FhGFS سابق نیز توسط انجمن Fraunhofer در آلمان بهطور خاص برای سیستمهای کامپیوتری قدرتمند ساختهشده است. این برنامه بهصورت رایگان در دسترس است و بر قابلیت استفادهی آسان تمرکز دارد.
در بخش تجاری هم، سیستمهایی مانند Storage Spaces Direct S2D توسط مایکروسافت اضافهشده است. بااینحال، استفاده از این سیستم محدود به سرورهای ویندوز دارای مجوز Fee-based است.
و در آخر
وبسایت میربزرگی قصد دارد تا با ارائه مقالهها و تجربههای کاربردی شما را در زمینه یادگیری و رفع اشکالاتتان کمک کند. در صورت وجود هرگونه سوالی به من ایمیل بزنید.