در این راهنما به شما نشان می‌دهیم که چگونه می‌توانید از یک سرور ریموت اوبونتو 14.04 از طریق اتصال شبکه، پشتیبان تهیه کنید. این فرایند شامل نصب و پیکربندی نرم‌افزار کلاینت باکولا (Bacula) روی میزبان ریموت و ایجاد برخی تغییرات در پیکربندی سرور باکولای موجود است.

پیش‌نیازها

در این راهنما فرض می‌کنیم که یک سرور دارید که اجزای Bacula server روی آن در حال اجرا هستند. اگر چنین سروری را پیکربندی نکرده‌اید، می‌توانید از مطلب «نصب سرور باکولا (Bacula) روی اوبونتو» بدین منظور استفاده کنید.

همچنین فرض می‌کنیم که از رابط‌های شبکه خصوصی برای پشتیبان گرفتن از ارتباط‌های بین کلاینت-سرور استفاده می‌کنید. ما در این مقاله از FQDN خصوصی سرورها (یعنی FQDN که به آدرس IP خصوصی سرورها اشاره می‌کند) استفاده می‌کنیم. همچنین برای اشاره به میزبان ریموت که قرار است پشتیبان‌گیری شود از ClientHost یا میزبان کلاینت یا صرفاً کلاینت استفاده می‌کنیم.ابتدا با ایجاد برخی تغییرات سریع در پیکربندی سرور باکولا کار خود را آغاز می‌کنیم.

سازمان‌دهی فایل پیکربندی Bacula Director (سرور)

اقدامات زیر را روی سرور باکولا انجام دهید. وقتی سرور باکولا را راه‌اندازی می‌کنید، ممکن است متوجه شده باشید که فایل‌های پیکربندی به طرز آزاردهنده‌ای طولانی هستند. سعی می‌کنیم فایل پیکربندی باکولا دایرکتور را اندکی سازمان ببخشیم و از این رو از فایل‌های جداگانه‌ای برای افزودن پیکربندی جدید برای job، FileSet و pool ها بهره می‌گیریم.

در ادامه یک دایرکتوری ایجاد می‌کنیم تا به سازمان‌دهی فایل‌های پیکربندی Bacula کمک کنیم:

سپس فایل پیکربندی باکولا دایرکتور را باز می‌کنیم:

در انتهای فایل خط زیر را اضافه می‌کنیم:

فایل را ذخیره کرده و خارج شوید. این خط باعث می‌شود که Director در دایرکتوری etc/bacula/conf.d/ به دنبال فایل‌های پیکربندی دیگر که باید الحاق شوند بگردد. یعنی هر فایل conf. که آنجا اضافه می‌شود به عنوان بخشی از پیکربندی بارگذاری می‌شود.

افزودن pool برای RemoteFile

می‌خواهیم یک pool دیگر برای پیکربندی Bacula Director اضافه کنیم که از پیکربندی job های پشتیبان‌گیری ریموت ما استفاده می‌کند. فایل conf.d/pools.conf را باز کنید:

منبع pool زیر را اضافه کنید:

فایل را ذخیره کرده و ببندید. این فایل یک pool به نام «RemoteFile» تعریف می‌کند که از سوی job پشتیان گیری که بعدتر ایجاد خواهیم کرد مورد استفاده قرار می‌گیرد. شما می‌توانید هر تغییری که می‌خواهید را در پارامترها اعمال کنید تا با نیازهای شما هماهنگ باشد.

هنوز لازم نیست Bacula Director را ری‌استارت کنیم؛ اما باید صحت پیکربندی را تأیید کنیم تا مطمئن شویم که هیچ خطایی باقی نمانده است:

اگر خطایی وجود نداشت، آماده هستیم که به ادامه راه‌اندازی کلاینت باکولا بپردازیم.

نصب و پیکربندی کلاینت Bacula

این بخش را در مورد هر یک از کلاینت‌های میزبان که می‌خواهید به مجموعه Bacula خود اضافه کنید باید انجام دهید. ابتدا apt-get را به‌روزرسانی کنید:

سپس بسته bacula-client را نصب کنید:

دستور فوق، (Bacula File Daemon (FD را نصب می‌کند که غالباً به نام کلاینت باکولا نامیده می‌شود.

پیکربندی کلاینت

پیش از پیکربندی کردن Daemon فایل در کلاینت، باید با اطلاعات زیر که در بخش‌های باقی مانده مقاله به تناوب مورد اشاره قرار می‌گیرند آشنا باشید:

  • Client hostname – در این مثال از «ClientHost» استفاده می‌شود.
  • Client Private FQDN – منظور از این عبارت FQDN خصوصی کلاینت است که در این مقاله از مقدار «client_private_FQDN» استفاده می‌شود. برای نمونه: clienthost.private.example.com
  • Bacula Server hostname – در این مثال از «BackupServer» استفاده می‌شود.

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

باید چند مورد را تغییر دهیم و برخی اطلاعات را که در پیکربندی سرور خود نیاز خواهیم داشت ذخیره کنیم.

ابتدا با یافتن منبع Director که پس از نام میزبان کلاینت قرار دارد کار خود را آغاز می‌کنیم. از آنجا که آن Bacula Director که می‌خواهیم این کلاینت را کنترل کند، روی سرور باکولا قرار دارد، باید پارامتر «Name» را به نام میزبانی سرور پشتیبانی که در ادامه آن «dir-» آمده است تغییر دهیم. برای نمونه در مورد «BackupServer» به عنوان نام میزبانی سرور باکولا این مقدار پس از به‌روزرسانی مانند زیر خواهد بود:

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

سپس باید یک پارامتر را در منبع FileDaemon تنظیم کنیم. پارامتر FAddress را برای مطابقت با FQDN خصوصی رایانه‌های کلاینت خود تغییر خواهیم داد. پارامتر Name باید از قبل به طرز صحیحی با نام Daemon فایل کلاینت تعیین شده باشد. این منبع باید چیزی مانند زیر باشد. مقدار FQDN یا IP واقعی را جایگزین کنید:

همچنین باید این daemon را طوری پیکربندی کنیم که پیام‌های لاگ خود را به سرور پشتیبان ارسال کند. منبع message را یافته و پارامتر director را طوری تغییر دهید که با نام میزبانی سرور پشتیبان به همراه پسوند «dir-» مطابقت داشته باشد. ظاهر این فایل باید به صورت زیر باشد:

فایل را ذخیره کنید و خارج شوید. Daemon فایل شما (کلاینت باکولا) اینک طوری پیکربندی شده است که به اتصال‌های ورودی از شبکه خصوصی گوش فرا دهد. با دستور زیر بررسی کنید که فایل پیکربندی ساختار صحیحی داشته باشد:

اگر دستور فوق هیچ خروجی باز نگرداند، نشان می‌دهد که فایل ساختار صحیحی دارد. daemon فایل را ری‌استارت کنید تا از تنظیمات جدید استفاده کند:

اینک یک دایرکتوری ایجاد می‌کنیم که سرور باکولا بتواند فایل‌ها را به آنجا بازیابی کنید. ساختار فایل را ایجاد کنید و مجوزها و مالکیت این دایرکتوری را مانند زیر تنظیم کنید:

این رایانه کلاینت اینک به طور صحیحی پیکربندی شده است. سپس سرور باکولا را طوری پیکربندی می‌کنیم که به کلاینت باکولا وصل شود.

افزودن FileSetها (سرور)

منظور از مجموعه فایل (FileSet) در باکولا، مجموعه‌ای از فایل‌ها یا دایرکتوری‌ها هستند که باید مشمول یک پشتیبان‌گیری باشند و از سوی job های پشتیبان‌گیری روی سرور باکولا مورد استفاده قرار می‌گیرند.

اگر مقاله قبلی ما که در آن سرور پشتیبان باکولا را نصب کردیم مطالعه کرده باشید، اینک یک FileSet به نام «Full Set» دارید. اگر می‌خواهید job های پشتیبان‌گیری را اجرا کنید که شامل تقریباً همه فایل‌های روی کلاینت‌های پشتیبان‌گیری می‌شوند، در این صورت می‌توانید از این FileSet در job های خود استفاده کنید. البته ممکن است دریابید که در اغلب موارد نیاز ندارید از همه چیز روی یک سرور، پشتیبان بگیرید و تنها زیرمجموعه‌ای از فایل‌ها کفایت می‌کند.

این که در زمینه انتخاب فایل‌هایی که باید پشتیبان‌گیری شوند و در یک FileSet قرار گیرند به صورت گزینشی‌تری عمل کنید، باعث می‌شود که فضای دیسک و همچنین زمان آزاد بیشتری روی سرور پشتیبان‌گیری برای اجرای یک job پشتیبان داشته باشید. همچنین باعث می‌شود که بازیابی نیز ساده‌تر باشد، چون دیگر لازم نیست در مجموعه فایل بزرگی مانند Full Set به دنبال فایل‌هایی که باید بازیابی شوند بگردید. در ادامه نشان می‌دهیم که چگونه می‌توانید منابع FileSet را ایجاد کنید و از این رو می‌توانید در زمان پشتیبان‌گیری به صورت گزیده‌تری عمل کنید. روی سرور باکولا یک فایل به نام filesets.conf باز کنید. ما در دایرکتوری پیکربندی Bacula Director قبلاً چنین فایلی ایجاد کرده‌ایم:

یک منبع FileSet برای هر مجموعه از فایل‌هایی که می‌خواهید در job های پشتیبانی خودان استفاده کنید، ایجاد نمایید. در این نمونه ما یک FileSet ایجاد می‌کنیم که تنها شامل دایرکتوری‌های home و etc است:

در این فایل موارد مختلفی وجود دارند؛ اما چند مورد را باید حتماً به خاطر بسپارید:

  • نام FileSet باید منحصر به فرد باشد.
  • هر فایل یا پارتیشنی که می‌خواهید پشتیبان‌گیری شود را در آن وارد کنید.
  • هر فایلی که نمی‌خواهید پشتیبان‌گیری شود؛ اما در نتیجه انتخاب دایرکتوری وارد فهرست پشتیبان‌گیری شده است، استثنا کنید.

شما می‌توانید هر چند FileSet که می‌خواهید، داشته باشد. در نهایت فایل را ذخیره کرده و خارج شوید. اینک آماده هستیم که یک job پشتیبان‌گیری ایجاد کنیم که از FileSet جدید ما استفاده خواهد کرد.

افزودن کلاینت و job پشتیبان‌گیری به سرور باکولا

اینک آماده هستیم تا کلاینت خود را به سرور باکولا اضافه کنیم. بدین منظور باید Bacula Director را با یک کلاینت جدید و منابع job پیکربندی کنیم. فایل conf.d/clients.conf را بازکنید:

افزودن منبع کلاینت

منبع کلاینت به پیکربندی Director با اطلاعاتی که برای اتصال به میزبان کلاینت نیاز دارد می‌پردازد. این اطلاعات شامل نام، آدرس و رمز عبور Daemon فایل کلاینت است. تعریف منبع کلاینت را در فایل بچسبانید. مطمئن شوید که نام میزبان کلاینت، FQDN خصوصی و رمز عبور (bacula-fd.conf) که هایلایت شده است را جایگزین کرده‌اید:

برای هر کلاینت تنها یک بار باید این کار را تکرار کنید.

ایجاد job پشتیبان‌گیری

یک job پشتیبان‌گیری باید نامی منحصر به فرد داشته باشد و جزییات مواردی که باید پشتیبان‌گیری شوند را مشخص کرده باشد. سپس job پشتیبان‌گیری را در فایل قرار می‌دهیم و نام میزبانی کلاینت را به جای مواردی که هایلایت شده است جایگزین می‌کنیم:

بدین ترتیب یک job پشتیبان‌گیری به نام «BackupClientHost» ایجاد می‌شود که از دایرکتوری‌های home و etc میزبان کلاینت را چنان که در Fileset به نام «Home and Etc» تعیین شده است، پشتیبان تهیه می‌کند. این job از تنظیماتی که در بخش «DefaultJob» و منابع pool «RemoteFile» تعیین شده استفاده می‌کند. هر دوی آنها در فایل اصلی bacula-dir.conf تعریف شده‌اند. به طور پیش فرض job هایی که به صورت “JobDefs = “DefaultJob تنظیم شده‌اند، به صورت هفتگی اجرا می‌شوند. هرزمان کارتان پایان یافت، فایل را ذخیره کرده و خارج شوید.

تأیید پیکربندی Director

در این بخش به بررسی اعتبار فایل پیکربندی Director می‌پردازیم:

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

ری‌استارت Bacula Director

برای این که تغییرات پیکربندی اعمال شوند، باید Bacula Director را ری‌استارت کنید:

اینک کلاینت یا همان میزبان ریموت شما طوری پیکربندی شده است که از سوی سرور باکولا پشتیبان‌گیری شود.

تست اتصال کلاینت

ابتدا باید مطمئن شویم که Director باکولا می‌تواند به کلاینت خود وصل شود:

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

تست Job پشتیبانی

اجازه دهید که job پشتیبانی را اجرا کنیم تا ببینیم کار می‌کند یا نه. روی سرو باکولا، همچنان که در کنسول هستید، دستور زیر را اجرا کنید:

از شما خواسته می‌شود که کدام job اجرا شود. آن job که جلوتر ایجاد کردید یعنی «4. BackupClientHost» را انتخاب کنید:

در اعلان تأیید گزینه «yes» را انتخاب کنید:

بررسی پیام‌ها و وضعیت‌ها

باکولا پس از اجرای job به ما می‌گوید که پیام‌هایی دارید. این پیام‌ها خروجی تولید شده از سوی job های در حال اجرا هستند. با وارد کردن دستور زیر می‌توانید این پیام‌ها را بررسی کنید:

این پیام‌ها باید این متن را نشان دهند: «No prior Full backup Job record found» و اعلام کنند که job پشتیان گیری آغاز شده است. اگر خطایی وجود داشته باشد یا چیزی درست نباشد در این پیام سرنخی از منشأ خطا ارائه خواهد شد. یک راه دیگر برای مشاهده وضعیت job بررسی وضعیت Director است. بدین منظور باید دستور زیر را در اعلان bconsole وارد کنید:

اگر همه چیز درست باشد، پیامی می‌بینید که job در حال اجرا است و یا این که job با یک وضعیت «OK» پایان یافته است.

اجرای بازیابی

نخستین باری که کلاینت باکولا را راه‌اندازی می‌کنید باید تست کنید که آیا ریموت به طور درستی کار می‌کند یا نه. اگر می‌خواهید یک عملیات بازیابی اجرا کنید، از دستور restore در کنسول باکولا استفاده کنید.

در منوی انتخاب که ظاهر می‌شود، گزینه‌های بسیار متفاوتی وجود دارند که برای این که کدام فایل‌های پشتیبان باید بازیابی شوند مورد استفاده قرار می‌گیرند. از آنجا که ما تنها یک پشتیبان داریم «Select the most recent backup» یعنی گزینه 5 را انتخاب می‌کنیم:

سپس باید تعیین کنیم که کدام کلاینت‌ها باید بازیابی شوند. ما می‌خواهیم میزبان ریموت را که قبلاً راه‌اندازی کردیم (برای نمونه «ClientHost-fd»)، را بازیابی نماییم:

دستور فوق یک درخت فایل مجازی پیش روی شما می‌گذارد که کل ساختار دایرکتوری پشتیبان‌گیری شده را به نمایش می‌گذارد. این رابط شبیه به یک shell است و اجازه می‌دهد که با دستورهای ساده‌ای، فایل‌هایی که باید بازیابی شوند را انتخاب کنیم. از آنجا که قبلاً اشاره کردیم می‌خواهیم از گزینه «restore all» استفاده کنیم، بنابراین همه فایل‌های پشتیبان‌گیری برای بازیابی علامت‌گذاری شده‌اند. فایل‌های علامت‌گذاری شده با یک کاراکتر (*) مشخص می‌شوند.

اگر می‌خواهید انتخاب خود را تغییر دهید، می‌توانید با دستورهای ls و cd وارد بخش‌های مختلف این فهرست شوید و فایل‌هایی که می‌خواهید بازیابی شوند را علامت‌گذاری کنید یا آن‌هایی که نمی‌خواهید بازیابی شوند را از حالت انتخاب خارج کنید. فهرست کامل دستورهای موجود در این بخش با وارد کردن دستور help در کنسول قابل مشاهده است. زمانی که کار انتخاب فایل‌های بازیابی تکمیل شد، می‌توانید با وارد کردن دستور زیر کار خود را ادامه دهید:

تأیید کنید که می‌خواهید job بازیابی اجرا شود:

بررسی پیام‌ها و وضعیت‌ها

همانند job های پشتیبان در این مورد نیز می‌توانید پیام‌ها و وضعیت Director را پس از اجرای یک job بازیابی بررسی کنید. با وارد کردن دستور زیر پیام‌ها را بررسی کنید:

در این بخش احتمالاً پیامی را می‌بینید که job بازیابی آغاز شده و یا با وضعیت restore OK پایان یافته است. اگر هر گونه خطایی وجود داشته باشد، در این صورت در این پیام سرنخی در مورد منشأ این خطا به شما ارائه شده است.

در این مورد نیز بررسی وضعیت Director روشی عالی برای مشاهده وضعیت یک job در حال اجرا است:

زمانی که کار بازیابی پایان یافت، می‌توانید با وارد کردن دستور exit از کنسول باکولا خارج شوید:

اگر همه چیز به درستی عمل کرده باشد، شما توانسته‌اید فایل‌های بازیابی شده را روی میزبان کلاینت در دایرکتوری bacula/restore/ ببینید. اگر قصد شما صرفاً تست فر‌ایند بازیابی بوده است می‌توانید همه فایل‌ها را از این دایرکتوری حذف کنید.

سخن پایانی

در این مقاله موفق شدیم سرور باکولا را طوری پیکربندی کنیم که فایل‌ها را از روی یک کلاینت ریموت باکولا پشتیبان‌گیری کند. اطمینان حاصل کنید که پیکربندی خود را بررسی و بازبینی کرده‌اید تا یقین کنید که FileSet صحیحی را در زمان‌بندی مناسبی برای نیازهای خود پشتیبان‌گیری می‌کنید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

میثم لطفی (+)

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

آیا این مطلب برای شما مفید بود؟

یک نظر ثبت شده در “پشتیبان گیری از سرور اوبونتو ۱۴.۴ با باکولا (Bacula) — به زبان ساده

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *