به روز رسانی سیستم فایل کلاستر LizardFS 3.13.0-rc2

پس از یک سال استراحت در توسعه از سر گرفته شد کار بر روی شاخه جدیدی از یک سیستم فایل توزیع شده با تحمل خطا LizardF 3.13 и منتشر شد نامزد آزادی دوم به تازگی اتفاق افتاده تغییر صاحبان شرکت توسعه دهنده LizardFS، مدیریت جدید اتخاذ شد و توسعه دهندگان جایگزین شدند. در دو سال گذشته این پروژه از جامعه کنار گذاشته شده و توجه کافی به آن نشده است، اما تیم جدید قصد دارد رابطه قبلی را با جامعه احیا کند و تعامل نزدیکی با آن برقرار کند. کد پروژه به زبان های C و C++ نوشته شده است و توزیع شده توسط تحت مجوز GPLv3.

مارمولک آن است یک سیستم فایل خوشه ای توزیع شده، که به شما امکان می دهد داده ها را در سرورهای مختلف توزیع کنید، اما دسترسی به آنها را به شکل یک پارتیشن بزرگ فراهم می کند، که به روشی مشابه با پارتیشن های دیسک سنتی کار می کند. یک پارتیشن نصب شده با LizardFS از ویژگی های فایل POSIX، ACL ها، قفل ها، سوکت ها، لوله ها، فایل های دستگاه، پیوندهای نمادین و سخت پشتیبانی می کند. سیستم یک نقطه خرابی ندارد، همه اجزاء اضافی هستند. موازی سازی عملیات داده ها پشتیبانی می شود (چند مشتری می توانند به طور همزمان به فایل ها دسترسی داشته باشند).

برای اطمینان از تحمل خطا، داده‌ها به نسخه‌هایی تقسیم می‌شوند که در گره‌های مختلف با افزونگی توزیع می‌شوند (چند کپی روی گره‌های مختلف قرار می‌گیرند)؛ اگر گره‌ها یا درایوها خراب شوند، سیستم بدون از دست دادن اطلاعات به کار خود ادامه می‌دهد و به طور خودکار داده‌ها را دوباره توزیع می‌کند. با در نظر گرفتن گره های باقی مانده برای گسترش فضای ذخیره سازی کافی است گره های جدید را بدون توقف کار برای نگهداری به آن متصل کنید (خود سیستم بخشی از داده ها را به سرورهای جدید کپی می کند و با در نظر گرفتن سرورهای جدید ذخیره سازی را متعادل می کند). شما می توانید همین کار را برای کاهش اندازه خوشه انجام دهید - به سادگی می توانید تجهیزات منسوخ شده ای را که از سیستم حذف می شوند غیرفعال کنید.

داده ها و ابرداده ها به طور جداگانه ذخیره می شوند. برای عملیات، توصیه می شود دو سرور ابرداده که در حالت master-slave کار می کنند و همچنین حداقل دو سرور ذخیره سازی داده (chunkserver) نصب کنید. علاوه بر این، برای پشتیبان‌گیری از ابرداده‌ها، می‌توان از سرورهای گزارش برای ذخیره اطلاعات مربوط به تغییرات فراداده استفاده کرد و به شما امکان می‌دهد در صورت آسیب دیدن همه سرورهای ابرداده موجود، عملیات را بازیابی کنید. هر فایل به بلوک (تکه) تا 64 مگابایت حجم تقسیم می شود. بلوک ها در بین سرورهای ذخیره سازی مطابق با حالت تکرار انتخابی توزیع می شوند: استاندارد (تعیین صریح تعداد کپی هایی که در گره های مختلف قرار می گیرند، از جمله در رابطه با دایرکتوری های فردی - برای داده های مهم تعداد کپی ها را می توان افزایش داد، و برای داده‌های بی‌اهمیت کاهش می‌یابد)، XOR (RAID5) و EC (RAID6).

فضای ذخیره سازی می تواند تا اندازه پتابایت باشد. زمینه های کاربردی شامل بایگانی، ذخیره سازی تصاویر ماشین مجازی، داده های چند رسانه ای، پشتیبان گیری، استفاده به عنوان DRC (مرکز بازیابی فاجعه) و به عنوان ذخیره سازی در خوشه های محاسباتی با کارایی بالا است. LizardFS سرعت خواندن بسیار بالایی را برای فایل‌های با هر اندازه ارائه می‌کند و هنگام نوشتن، عملکرد خوبی را هنگام نوشتن کل فایل‌های بزرگ و متوسط ​​نشان می‌دهد، زمانی که تغییر مداوم وجود ندارد، کار فشرده با فایل‌های باز و عملیات یکبار مصرف با دسته ای از فایل های کوچک

به روز رسانی سیستم فایل کلاستر LizardFS 3.13.0-rc2

از جمله ویژگی های FS، می توان به وجود پشتیبانی از عکس های فوری، انعکاس وضعیت فایل ها در یک زمان خاص، و اجرای داخلی "سطل بازیافت" اشاره کرد (فایل ها بلافاصله حذف نمی شوند و در دسترس هستند بهبودی برای مدتی). دسترسی به یک پارتیشن را می توان با آدرس IP یا رمز عبور (مشابه NFS) محدود کرد. مکانیزم های مدیریت سهمیه و کیفیت خدمات وجود دارد که به شما امکان می دهد اندازه و پهنای باند را برای دسته های خاصی از کاربران محدود کنید. امکان ایجاد امکانات ذخیره سازی با توزیع جغرافیایی وجود دارد که بخش های آن در مراکز داده مختلف قرار دارند.

پروژه LizardFS در سال 2013 به عنوان یک فورک تاسیس شد MooseFSو عمدتاً در حضور یک حالت تکرار بر اساس کدهای تصحیح خطای Reed-Solomon (مشابه با raidzN)، پشتیبانی گسترده ACL، وجود یک کلاینت برای پلتفرم ویندوز، بهینه سازی های اضافی (به عنوان مثال، هنگام ترکیب یک کلاینت و یک سرور ذخیره‌سازی، بلوک‌ها، در صورت امکان، با گره فعلی ارسال می‌شوند، و ابرداده در حافظه پنهان ذخیره می‌شود)، یک سیستم پیکربندی انعطاف‌پذیرتر، پشتیبانی از خواندن پیش‌خوان داده‌ها، سهمیه‌های دایرکتوری و دوباره کاری داخلی.

LizardFS 3.13.0 قرار است در پایان دسامبر منتشر شود. نوآوری اصلی LizardFS 3.13 استفاده از یک الگوریتم اجماع برای اطمینان از تحمل خطا (تغییر سرورهای اصلی در صورت خرابی) است. قایق (از پیاده سازی خودمان از uRaft استفاده می کند که قبلاً در محصولات تجاری استفاده می شد). استفاده از uRaft پیکربندی را ساده می کند و تاخیرهای بازیابی خرابی را کاهش می دهد، اما حداقل به سه گره فعال نیاز دارد که یکی از آنها برای حد نصاب استفاده می شود.

تغییرات دیگر: کلاینت جدید مبتنی بر زیرسیستم FUSE3، حل مشکلات تصحیح خطا، افزونه nfs-ganesha به زبان C بازنویسی شده است. به روز رسانی 3.13.0-rc2 چندین باگ مهم را برطرف می کند که نسخه های آزمایشی قبلی شاخه 3.13 را غیرقابل استفاده می کرد (اصلاحات مربوط به شاخه 3.12 هنوز منتشر نشده است و به روز رسانی از 3.12 به 3.13 هنوز منجر به از دست رفتن کامل داده ها می شود).

در سال 2020، کار بر روی توسعه متمرکز خواهد شد
آگاما، یک هسته LizardFS کاملاً بازنویسی شده است که به گفته توسعه دهندگان، افزایش سه برابری عملکرد را نسبت به شاخه 3.12 ارائه می دهد. آگاما به معماری رویداد محور، مبتنی بر ورودی/خروجی ناهمزمان تغییر خواهد کرد آسیا، عمدتاً در فضای کاربر کار می کند (برای کاهش وابستگی به مکانیسم های ذخیره هسته). علاوه بر این، یک زیرسیستم اشکال زدایی جدید و یک تحلیلگر فعالیت شبکه با پشتیبانی از تنظیم خودکار عملکرد ارائه خواهد شد.

سرویس گیرنده LizardFS پشتیبانی کاملی را برای عملیات نوشتن نسخه اضافه می کند، که قابلیت اطمینان بازیابی فاجعه را بهبود می بخشد، مشکلاتی را که زمانی که کلاینت های مختلف دسترسی به داده های مشابه را به اشتراک می گذارند، حل می کند و امکان بهبود عملکرد قابل توجه را فراهم می کند. کلاینت به زیرسیستم شبکه خود که در فضای کاربر کار می کند منتقل می شود. اولین نمونه اولیه LizardFS مبتنی بر Agama قرار است در سه ماهه دوم سال 2020 آماده شود. در عین حال، آنها قول می دهند که ابزارهایی برای ادغام LizardFS با پلتفرم Kubernetes پیاده سازی کنند.

منبع: opennet.ru

اضافه کردن نظر