ایجاد یک سرور پشتیبان لینوکسی - بخش اول

ارزانی بی‌علت است!

در سال گذشته، مبحث محاسبات ابری موج گسترده‌ای ایجاد کرد که بسیاری تمایل پیدا کردند اطلاعات خود را به سرور دیگری منتقل کنند و کلیه داده‌های خود را بر بستر اینترنت بگذارند (البته نه به ‌صورت عمومی و قابل دسترس). سرویس‌های پشتیبان‌گیری زیادی به ‌صورت رایگان و پولی همانند دراپ‌باکس و اسکای‌درایو وجود دارند که گاهی اوقات به اندازه یک دیسک سخت نیز فضا در اختیار کاربر می‌گذارند. قبل از آن که آدم بخواهد با پرداخت هزینه اطلاعات خود را به سروری مطمئن و خارجی منتقل کند می‌توان به یک راه‌حل دیگر اندیشید که بدون پرداخت هزینه انجام می‌شود و با لینوکس قابل پیاده‌سازی است.
کد خبر: ۳۸۰۵۶۱

لازم به اشاره این نکته است که رایگان بودن یک چیز نباید مانع امن بودن یا محدود بودن امکانات آن شود. در ‌واقع پیکربندی‌های لازم برای این راه‌حل به‌ گونه‌ای باید انجام شود که نرخ قابل اعتماد بودن چنین راه‌حلی نیز در وضع قابل قبولی باشد. در مورد این راه‌حل خاص، استفاده از RAID برای پشتیبان‌گیری یک امر اساسی است.

رید (RAID) نرم‌افزاری، همان طور که از نامش بر می‌آید، ارائه‌ای موازی از دیسک‌های ارزان است که به جای آن که از طریق سخت‌افزار مخصوص و با هزینه بالا انجام شود، به صورت نرم‌افزاری صورت می‌پذیرد. کلید اصلی چنین کاری نیز هزینه آن است. همان طور که سخت‌افزار مخصوص آن قابلیت‌های بیشتری به پیکربندی پیش‌فرض سیستم اضافه می‌کند، می‌توان این اقدام را به صورت نرم‌افزاری نیز انجام داد. یکی از تنها نقص‌های روش نرم‌افزاری، بازدهی پایین‌تر آن نسبت به سخت‌افزاری است، چراکه سخت‌افزارهای مخصوص عموما یک ماشین کوچک (RAM+CPU)‌ را برای محاسبات لازم و انتقال داده به چند دیسک میسر می‌کنند.

با استفاده از سیستم رید نرم‌افزاری، بخشی از بازدهی پردازنده فدا می‌شود، اما هزینه ایجاد سیستم پایین می‌آید، هرچند پردازنده‌های امروزی مقدار زیادی توان پردازشی دارند که همواره از آنها استفاده نمی‌شود. در این مثال بخصوص که می‌خواهیم از یک سیستم به‌عنوان فایل سرور استفاده کنیم، استفاده از پردازنده برای امور دیگر مساله مهمی نخواهد بود.

پیش‌نیازها

دانش اولیه نسبت به رید و کاربردهای آن (ر.ک. کلیک شماره 216صفحه 13)‌

سیستم‌عامل دبیانی (اوبونتو، مینت،‌ دبیان)‌

ویرایشگر متنی: (VIM, gedit, nano)‌

بسته به نوع ریدی که می‌خواهید ایجاد کنید، لازم است حداقل دو دیسک سخت مستقل به سیستم متصل شده باشد، در این مثال از ? دیسک مختلف استفاده خواهیم کرد.

انتخاب دیسک‌ها گام مهمی است که نباید سرسری از آن گذشت و بسیاری ممکن است با از بین رفتن دیسک‌ها و خرابی اطلاعات مواجه شوند. هیچ گاه از دیسک‌های مصرف‌کننده استفاده نکرده و به‌جای آن از دیسک‌های مخصوص سرور استفاده کنید.

این موضوع البته هدف این مطلب مبنی بر ارزان بودن سرور پشتیبان را رد نخواهد کرد، از آنجا که مهم‌ترین بخش یک فایل‌سرور، دیسک سخت است نباید بسادگی از کنار این مساله گذشت و تمام پیکربندی و داده‌های مهم را روی دیسک‌هایی گذاشت که به هر حال بر اثر نوسانات یا تکان خوردن امکان خرابی بالایی دارند. ضمن آن که باید اشاره شود دیسک‌های مصرف‌کننده قرار نیست 24 ساعت و 7 روز هفته روشن باشند و سرویس بدهند. به‌طور معمول در چنین شرایطی بعد از 1/5 تا 1/8  سال پس از راه‌اندازی سرور، دیسک‌های مصرف‌کننده از کار می‌افتند؛ هرچند به دلیل ماهیت رید، هیچ داده‌ای حذف نمی‌شود، اما پایین آمدن زمان سرویس‌دهی سرور، هزینه مجدد برای جایگزین‌کردن اطلاعات خود ممکن است هزینه‌ای بالاتر از هزینه خرید دیسک‌های سروری داشته باشد.

گاهی عده‌ای ممکن است معتقد باشند که بین این دو نوع، نرخ خرابی یکسان است، هر چند این اصل ممکن است درست باشد، اما درایوهای سروری از نظر S.M.A.R.T در سطح بالاتری هستند و همچنین نسبت به دیسک‌های مصرف‌کننده با تاخیر بیشتری وارد بازار می‌شوند. از این رو توصیه می‌شود که برای ارتقای کیفی رید، از دیسک‌های سروری استفاده کنید.

پارتیشن‌بندی دیسک‌ها

در گنو/لینوکس می‌توان از تمام دیسک برای ذخیره‌سازی استفاده کرد، اما در اینجا با پارتیشن‌بندی می‌خواهیم بخشی از دیسک را جدا کنیم و به ابزارهای بازیابی و اضطراری اختصاص دهیم تا در موارد خاص بتوان از آنها استفاده کرد. در این مطلب از ابزار fdisk استفاده خواهیم کرد، اما اگر بخواهید با دیسک‌های بزرگ‌تر از 2 ترابایت کار کنید باید از ابزار مناسب این کار همچون gparted استفاده کنید. برای شروع می‌توان از دستور زیر استفاده کرد:

sudo fdisk /dev/sdb

توجه کنید که نصب اوبونتو در درایو dev/sda/ انجام شده است، بنابراین اولین دیسک خالی بعد از آن sdb خواهد بود.

گزینه‌های موجود در fdisk به‌صورت زیر است. بعد از این دستور کلیدهای زیر را بزنید:

n برای ایجاد پارتیشن جدید

p برای ایجاد یک پارتیشن اصلی

1 برای تعداد پارتیشن‌ها

t برای تغییر نوع

fdتنظیم برای تشخیص خودکار رید توسط لینوکس

w ذخیره تغییرات و خروج

برای تمام دیسک‌ها چنین عملی را تکرار کنید.

ایجاد رید 10 لینوکسی

مزیت استفاده از رید 10 لینوکسی این است که لینوکس می‌تواند از تعداد دیسک‌های غیر زوج استفاده کند تا بازدهی و امنیت سیستم را افزایش دهد. همچنین می‌توان این ارائه 10 را در یک گام انجام داد.

حالا باید دیسک‌هایی که در مرحله قبلی آماده کرده‌ایم را به‌صورت یک ارائه در بیاوریم. این اقدام با نوشتن دستور زیر صورت می‌گیرد:

sudo mdadm--create/dev/md0--chunk=256--level=10--p f2—raid-devices=5/dev/sda1/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1--verbose

حالا بهتر است پارامترهای این دستور را با هم بررسی کنیم:

گزینه chunk=256 حجم بایت‌هایی است که تکه‌های رید به آن تقسیم خواهد شود. رقم 256 برای دیسک‌های جدیدتر پیشنهاد می‌شود.

گزینه level=10 نیز از رید 10 لینوکسی استفاده می‌کند.

گزینه p f2 از نقشه چرخشی دور استفاده می‌کند و 2 نشان می‌دهد که ارائه از هر داده دو کپی تهیه خواهد کرد.

این که چرا از نقشه دور استفاده کرده‌ایم به این دلیل است که طرح‌بندی فیزیکی داده‌ها روی دیسک یکسان نباشد. اگر به ‌دلیل مشکلات تولیدکننده یک دیسک، داده‌ای خراب شد و دیسک‌های شما هر دو از یک نوع و مدل بودند، کپی آن نیز خراب نشود. با استفاده از این گزینه، داده‌های پشتیبان روی نقاط متفاوتی با دیسک اصلی ذخیره می‌شود و به‌ این ترتیب ریسک خرابی داده‌ها پایین‌تر می‌آید. بعد از ایجاد ارائه، پردازشی جهت همخوان کردن اطلاعات انجام می‌شود و بعد از آن می‌توان از این ارائه فورا استفاده کرد. پروسه همخوان کردن را می‌توان از طریق دستور زیر مشاهده کرد:

Watch-d cat /proc/mdstat

ایجاد فایل پیکربندی

هرچند مطمئن هستیم اوبونتو به‌صورت خودکار می‌توان ارائه را اسکن و فعال کند، اما برای محکم‌کاری فایل پیکربندی لازم را ایجاد می‌کنیم. سیستم به‌ صورت خودکار این فایل را تولید نمی‌کند و قاعدتا همه مشخصات و پارتیشن‌های دیسک RAID را به‌خاطر نمی‌آورد، بنابراین اطلاعاتی که در این فایل پیکربندی قرار می‌گیرد، اطلاعات حساس و مرتبط با وضعیت دیسک‌هاست و عدم تنظیم صحیح آن می‌تواند منجر به ذخیره خراب اطلاعات و از دست رفتن فوری آنها شود. برای این که اطلاعات را درست و صحیح وارد کنیم، می‌توان از دستورmdadm-detail-scan-verbose استفاده کرد که خروجی آن، ورودی مناسبی برای فایل پیکربندی خواهد بود.

اگر از توزیع دیگری بجز اوبونتو استفاده می‌کنید، توجه داشته باشید که اکثر توزیع‌ها فایل mdadm.conf را در مسیر etc/ جستجو می‌کنند، اما اوبونتو این فایل را در مسیر etc/mdadm/ جستجو می‌کند.

به این ترتیب، دستور فوق را به‌صورت زیر بازنویسی می‌کنیم تا فایل تنظیمات ایجاد شود:

sudo mdadm—detail—scan--verbose » /etc/mdadm/mdadm.conf

توجه داشته باشید که باید از فایل ایجاد شده، کاراکتر صفر را حذف کنید. برای مطمئن شدن از درستی فایل پیکربندی کافی است دستور زیر را وارد کنیم:

Mdadm--examine--scan

برای حل مشکل رخ داده، فایل etc/mdadm/mdadm.conf/ را باز کرده و عبارت metadata=00.90 را به ‌صورت زیر تبدیل کنید:

metadata=0.90

اجرای دستور Mdadm--examine--scan این بار بدون هیچ پیغام خطایی کار می‌کند. ادامه تنظیمات را در شماره بعدی پیگیری خواهیم کرد.

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها