بخش اول: مقدمه – چرا پشتیبان‌گیری از داده‌ها اهمیت دارد؟

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

  • پایگاه‌های داده‌ی مشتریان یک فروشگاه اینترنتی
  • نتایج تحقیقات یک تیم علمی
  • فایل‌های طراحی یک شرکت مهندسی
  • ایمیل‌ها، اسناد مالی و قراردادهای حقوقی
  • حتی عکس‌ها و ویدئوهای شخصی کاربران

هر کدام از این داده‌ها در جای خود حیاتی هستند و از دست دادن آن‌ها می‌تواند خسارت‌های مالی، اعتباری و حتی حقوقی جبران‌ناپذیری به همراه داشته باشد.

تهدیدهای اصلی برای داده‌ها

داده‌های ما همیشه در معرض خطر قرار دارند. این تهدیدها را می‌توان در چند دسته‌ی اصلی بررسی کرد:

  1. خرابی سخت‌افزاری
    • دیسک‌های سخت (HDD/SSD) طول عمر محدودی دارند و ممکن است به دلیل فرسودگی یا مشکلات ناگهانی از کار بیفتند.
    • یک خرابی ساده در کنترلر یا قطعات الکترونیکی نیز می‌تواند باعث از دست رفتن کامل اطلاعات شود.
  2. خطاهای انسانی
    • پاک شدن ناخواسته‌ی فایل‌ها توسط کاربر یا مدیر سیستم
    • اجرای دستورات اشتباه (مثلاً فرمت کردن پارتیشن اشتباه)
  3. حوادث غیرمترقبه
    • آتش‌سوزی، سیل، زلزله یا حتی سرقت تجهیزات
    • این رویدادها نه‌تنها سیستم‌ها، بلکه نسخه‌های اصلی داده‌ها را هم از بین می‌برند.
  4. حملات سایبری
    • باج‌افزارها (Ransomware) که تمام فایل‌ها را رمزگذاری می‌کنند و برای بازگردانی آن‌ها باج می‌خواهند.
    • نفوذگران و بدافزارهایی که ممکن است داده‌ها را خراب یا حذف کنند.

چرا فقط امنیت کافی نیست؟

ممکن است بگویید: «اگر سیستم را امن کنم، دیگر نیازی به پشتیبان‌گیری ندارم.»

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

بنابراین، پشتیبان‌گیری (Backup) مکمل امنیت است. امنیت جلوی ورود تهدیدات را می‌گیرد، اما پشتیبان‌گیری تضمین می‌کند که حتی اگر تهدید موفق شد، داده‌ها از بین نروند.

اصول طلایی پشتیبان‌گیری

مدیران سیستم و متخصصان فناوری اطلاعات معمولاً از یک قاعده‌ی معروف استفاده می‌کنند: قاعده‌ی 3-2-1

  • ۳ نسخه از داده‌ها: یک نسخه اصلی + دو نسخه پشتیبان
  • ۲ نوع رسانه متفاوت: مثلاً روی دیسک و نوار یا روی دیسک و فضای ابری
  • ۱ نسخه خارج از محل: برای حفاظت در برابر حوادثی مثل آتش‌سوزی

این قاعده تضمین می‌کند که حتی در بدترین شرایط، دست‌کم یک نسخه سالم از داده‌ها وجود دارد.

چرا نیاز به ابزارهای پیشرفته داریم؟

شاید در نگاه اول به نظر برسد که می‌توان با یک کپی ساده (مثلاً با دستور cp یا rsync در لینوکس) پشتیبان گرفت. اما در عمل، این کار برای سازمان‌ها و شبکه‌های بزرگ اصلاً کافی نیست. دلایلش عبارتند از:

  • حجم زیاد داده‌ها: کپی دستی میلیون‌ها فایل عملی نیست.
  • پشتیبان‌گیری زمان‌بندی‌شده: باید بتوان به صورت خودکار در ساعات مشخص عملیات انجام شود.
  • پشتیبان‌گیری شبکه‌ای: لازم است چندین سرور و کلاینت از طریق شبکه پشتیبان‌گیری شوند.
  • مدیریت نسخه‌ها (Versions): باید بتوان به نسخه‌های قدیمی‌تر داده‌ها نیز دسترسی داشت.
  • امنیت و رمزنگاری: داده‌های پشتیبان باید محرمانه بمانند.
  • سازگاری با رسانه‌های مختلف: دیسک، نوار مغناطیسی (Tape)، و حتی فضای ابری.

اینجاست که ابزارهایی مانند Amanda وارد میدان می‌شوند.

بخش دوم: معرفی ابزار Amanda

Amanda چیست؟

نام Amanda مخفف عبارت:

Advanced Maryland Automatic Network Disk Archiver

به فارسی: بایگانی‌گر پیشرفته‌ی خودکار دیسک شبکه‌ای مریلند

Amanda یک ابزار پیشرفته و متن‌باز (Open Source) برای پشتیبان‌گیری (Backup) و بایگانی (Archiving) داده‌هاست که می‌تواند:

  • داده‌های موجود روی چندین رایانه (Client) را از طریق شبکه جمع‌آوری کند،
  • سپس آن‌ها را روی یک یا چند رسانه‌ی ذخیره‌سازی (مثل دیسک، نوار مغناطیسی یا فضای ابری) ذخیره نماید.

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

چرا Amanda مهم است؟

اگر یک شرکت ۵۰ سرور مختلف داشته باشد، آیا منطقی است هر روز تک‌تک آن‌ها را دستی پشتیبان بگیریم؟ قطعاً نه!

Amanda این مشکل را حل می‌کند:

  • همه‌ی کلاینت‌ها (رایانه‌های تحت شبکه) داده‌هایشان را به سرور Amanda می‌فرستند.
  • سرور، این داده‌ها را مدیریت، زمان‌بندی و ذخیره‌سازی می‌کند.

این یعنی:

  • مدیریت آسان‌تر
  • خودکار بودن فرایند پشتیبان‌گیری
  • کاهش خطای انسانی

ساختار کلی Amanda

Amanda بر اساس مدل کلاینت–سرور (Client–Server) طراحی شده است.

اجزای اصلی:

  1. کلاینت (Client):
    • روی هر ماشین نصب می‌شود.
    • وظیفه‌اش ارسال داده‌ها برای پشتیبان‌گیری به سرور است.
  2. سرور (Server):
    • مرکز اصلی مدیریت پشتیبان‌گیری است.
    • تصمیم می‌گیرد چه داده‌هایی، چه زمانی و در چه رسانه‌ای ذخیره شوند.

📌 مثال ساده:

فرض کنید سه کامپیوتر در یک اداره داریم:

  • PC1 : حاوی اسناد مالی
  • PC2 : شامل ایمیل‌های کاری
  • PC3 : پایگاه داده مشتریان

این سه کامپیوتر (کلاینت‌ها) داده‌ها را به سرور Amanda می‌فرستند. سرور تصمیم می‌گیرد مثلاً:

  • نسخه‌ی پشتیبان روی دیسک داخلی ذخیره شود،
  • یا روی یک نوار مغناطیسی برای آرشیو طولانی‌مدت،
  • یا حتی در Amazon S3 به‌عنوان فضای ابری.

ویژگی‌های کلیدی Amanda

ابزار Amanda امکاناتی دارد که آن را از یک کپی ساده متمایز می‌کند. در جدول زیر خلاصه‌ای از قابلیت‌های اصلی آورده شده است:

ویژگی

توضیح

متن‌باز (Open Source)

کد منبع آزاد است؛ قابل بررسی، تغییر و توسعه.

پشتیبان‌گیری شبکه‌ای

امکان گرفتن بکاپ از چندین کامپیوتر در شبکه.

مدل کلاینت–سرور

تفکیک نقش‌ها: کلاینت برای ارسال داده، سرور برای مدیریت.

پشتیبانی از رسانه‌های مختلف

دیسک، نوار مغناطیسی (Tape)، و فضای ابری.

زمان‌بندی خودکار (Scheduler)

پشتیبان‌گیری در زمان مشخص بدون دخالت انسانی.

سازگاری با سیستم‌های مختلف

لینوکس، یونیکس و حتی ویندوز (با Samba یا کلاینت win32).

رمزنگاری و فشرده‌سازی

امنیت بیشتر (GPG, SSH) و کاهش حجم داده.

گزارش‌دهی پیشرفته

ارسال گزارش و خطاها از طریق ایمیل.

چه کسانی از Amanda استفاده می‌کنند؟

  • مدیران سیستم (SysAdmins): برای حفظ امنیت داده‌های سازمان.
  • شرکت‌های بزرگ: با سرورهای متعدد و نیاز به مدیریت متمرکز.
  • مراکز داده (Data Centers): برای بکاپ‌گیری دوره‌ای از صدها ماشین.
  • محققان و دانشگاه‌ها: برای آرشیو نتایج تحقیقات.
  • کاربران حرفه‌ای خانگی: که می‌خواهند داده‌های حساس خود را ایمن نگه دارند.

یک نگاه مقایسه‌ای

برای درک بهتر، اجازه دهید Amanda را با دو روش دیگر مقایسه کنیم:

روش پشتیبان‌گیری

مزایا

معایب

کپی دستی (cp, rsync)

ساده، بدون نیاز به ابزار اضافی

وقت‌گیر، بدون زمان‌بندی، بدون مدیریت چندین سیستم

نرم‌افزارهای تجاری (مثل Acronis, Veeam)

رابط گرافیکی قوی، پشتیبانی فنی

گران، وابستگی به فروشنده (Vendor Lock-in)

Amanda

رایگان، متن‌باز، انعطاف‌پذیر، مقیاس‌پذیر

رابط کاربری گرافیکی ضعیف‌تر (بیشتر خط فرمان)

بخش سوم: تاریخچه و سیر تکامل Amanda

آغاز ماجرا در دانشگاه مریلند

ابزار Amanda در ابتدا در دانشکده علوم کامپیوتر دانشگاه مریلند (University of Maryland) متولد شد. این دانشگاه از دهه‌ی ۱۹۸۰ یکی از مراکز فعال در زمینه توسعه نرم‌افزارهای متن‌باز و ابزارهای تحقیقاتی بوده است.

هدف اولیه از طراحی Amanda ساده بود:

  • ایجاد یک راهکار رایگان و قدرتمند برای پشتیبان‌گیری شبکه‌ای که بتواند با نرم‌افزارهای تجاری گران‌قیمت رقابت کند.
  • این ابزار باید هم قابل اعتماد باشد و هم انعطاف‌پذیر، تا در محیط‌های دانشگاهی و تحقیقاتی بتواند به راحتی مورد استفاده قرار گیرد.

از پروژه دانشگاهی تا ابزار سازمانی

Amanda ابتدا صرفاً در محیط‌های دانشگاهی و تحقیقاتی استفاده می‌شد. اما با گذشت زمان و اثبات کارایی آن، مدیران سیستم در سازمان‌ها و شرکت‌ها هم به سراغ آن رفتند. چرا؟ چون Amanda چند ویژگی کلیدی داشت:

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

به همین دلیل، Amanda از یک پروژه دانشگاهی کوچک به یک ابزار پشتیبان‌گیری سازمانی تبدیل شد.

توقف پشتیبانی دانشگاه و مهاجرت به SourceForge

پس از چند سال، دانشگاه مریلند دیگر ادامه‌ی توسعه رسمی Amanda را بر عهده نگرفت. این موضوع برای بسیاری از پروژه‌های متن‌باز طبیعی است؛ چون دانشگاه‌ها معمولاً بودجه و نیروی کافی برای پشتیبانی بلندمدت ندارند.

اما خبر خوب این بود که:

  • پروژه Amanda به SourceForge منتقل شد.
  • در آنجا، توسعه توسط جامعه‌ای از برنامه‌نویسان و شرکت‌های علاقه‌مند ادامه یافت.
  • همین امر باعث شد Amanda نه‌تنها فراموش نشود، بلکه روزبه‌روز پیشرفته‌تر هم بشود.

ورود به دنیای تجاری با Zmanda

در ادامه، یک شرکت به نام Zmanda تصمیم گرفت نسخه‌ی تجاری Amanda را توسعه دهد. این نسخه با نام Amanda Enterprise شناخته می‌شود.

ویژگی‌های نسخه تجاری:

  • رابط کاربری گرافیکی تحت وب به نام Zmanda Management Console (ZMC)
  • امکان پشتیبان‌گیری مستقیم روی فضای ابری Amazon S3
  • افزونه‌های (Plugin) مخصوص برای پایگاه‌داده‌هایی مثل Oracle Database یا سرویس‌هایی مثل Samba
  • پشتیبان‌گیری از ماشین‌های مجازی (مثل VMware) به‌صورت تصویری (Image Backup)

در واقع، Zmanda تلاش کرد تا Amanda را برای محیط‌های سازمانی بزرگ ساده‌تر و کاربرپسندتر کند.

جایگاه Amanda در تاریخ نرم‌افزارهای پشتیبان‌گیری

اگر بخواهیم Amanda را در یک خط زمانی (Timeline) قرار دهیم، تصویر کلی این‌گونه است:

سال

رویداد

دهه ۱۹۸۰

آغاز توسعه اولیه در دانشگاه مریلند

دهه ۱۹۹۰

استفاده در محیط‌های دانشگاهی و سازمانی کوچک

اوایل ۲۰۰۰

توقف پشتیبانی رسمی دانشگاه – مهاجرت پروژه به SourceForge

اواسط ۲۰۰۰

ورود شرکت Zmanda و عرضه نسخه تجاری (Enterprise)

تاکنون

توسعه همزمان نسخه‌ی رایگان (Community) و نسخه‌ی تجاری (Enterprise)

اهمیت تاریخی Amanda

  • Amanda یکی از قدیمی‌ترین و پایدارترین پروژه‌های متن‌باز در حوزه پشتیبان‌گیری است.
  • جامعه کاربری فعال باعث شده این پروژه همیشه به‌روز بماند.
  • بسیاری از ابزارهای جدید پشتیبان‌گیری ایده‌های خود را از Amanda گرفته‌اند.

بخش چهارم: ویژگی‌های کلیدی Amanda

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

۱. متن‌باز بودن (Open Source)

Amanda تحت مجوز GPL منتشر شده است. این یعنی:

  • کد منبع آن در دسترس همه است.
  • امکان بازبینی (Audit) امنیتی وجود دارد.
  • هر کسی می‌تواند تغییرات دلخواه خود را اعمال کند.

📌 مثال: یک سازمان می‌تواند اسکریپت‌های خاصی برای هماهنگی Amanda با پایگاه‌داده داخلی خودش بنویسد و به سیستم اضافه کند. در نرم‌افزارهای تجاری چنین آزادی‌ای معمولاً وجود ندارد.

۲. پشتیبان‌گیری شبکه‌ای

Amanda می‌تواند هم‌زمان از چندین ماشین در یک شبکه پشتیبان بگیرد.

  • این ویژگی به‌ویژه در سازمان‌هایی با چند سرور حیاتی است.
  • داده‌ها از کلاینت‌ها (Client) جمع‌آوری می‌شوند و در سرور مرکزی ذخیره می‌گردند.

📌 مثال: فرض کنید یک شرکت ۱۰ سرور دارد (برای ایمیل، وب‌سایت، پایگاه‌داده و …). Amanda می‌تواند شب‌ها به‌طور خودکار از همه آن‌ها بکاپ بگیرد و در یک دستگاه ذخیره‌سازی مرکزی ذخیره کند.

۳. مدل کلاینت–سرور

Amanda بر اساس معماری Client–Server کار می‌کند:

  • کلاینت: نرم‌افزاری که روی هر کامپیوتر نصب می‌شود و وظیفه‌اش ارسال داده‌هاست.
  • سرور: مرکز مدیریت، ذخیره‌سازی و زمان‌بندی بکاپ‌ها.

این مدل باعث می‌شود:

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

۴. پشتیبانی از رسانه‌های مختلف (Disk, Tape, Cloud)

Amanda انعطاف بالایی در انتخاب رسانه ذخیره‌سازی دارد:

  • دیسک سخت (HDD/SSD): سریع و مناسب برای بکاپ‌های روزانه.
  • نوار مغناطیسی (Tape): برای آرشیو طولانی‌مدت (سال‌ها).
  • فضای ابری: مثل Amazon S3 یا سایر ارائه‌دهندگان Cloud.

📌 نکته مهم: بسیاری از سازمان‌های بزرگ همچنان از Tape استفاده می‌کنند، چون ارزان و بادوام است و می‌تواند ده‌ها سال داده را نگه دارد.

۵. زمان‌بندی خودکار (Scheduling)

Amanda از یک سیستم زمان‌بندی داخلی برخوردار است.

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

📌 مثال: می‌توان تنظیم کرد که هر شب ساعت ۲ بامداد از کل سیستم بکاپ گرفته شود و یک‌بار در هفته یک بکاپ کامل (Full Backup) روی نوار نوشته شود.

۶. نسخه‌های مختلف (Community و Enterprise)

Amanda در دو نسخه عرضه می‌شود:

نسخه

توضیح

Community Edition

رایگان و متن‌باز. مناسب برای افراد و شرکت‌های کوچک.

Enterprise Edition (Zmanda)

نسخه تجاری با امکانات بیشتر مثل رابط کاربری تحت وب (ZMC) و پشتیبانی رسمی.

این تقسیم‌بندی باعث شده هم کاربران کوچک و هم سازمان‌های بزرگ بتوانند از Amanda بهره ببرند.

۷. پشتیبانی از سیستم‌عامل‌های مختلف

  • بیشتر توزیع‌های لینوکس (Debian, Ubuntu, CentOS, RHEL, Fedora و …)
  • یونیکس (FreeBSD و مشابه‌ها)
  • ویندوز (از طریق Samba یا کلاینت Win32)

این ویژگی، Amanda را برای محیط‌های هتروژن (چندسیستمی) بسیار ارزشمند می‌کند.

۸. رمزنگاری و امنیت

Amanda چندین لایه امنیتی دارد:

  • ارتباط امن بین سرور و کلاینت با OpenSSH
  • امکان رمزنگاری داده‌ها با GPG
  • امکان فشرده‌سازی برای کاهش حجم و افزایش سرعت انتقال

📌 مثال: فرض کنید یک شرکت بخواهد از پایگاه‌داده‌ی مشتریان بکاپ بگیرد و آن را در Amazon S3 ذخیره کند. با فعال‌سازی رمزنگاری GPG، حتی اگر فایل‌ها در فضای ابری دزدیده شوند، بدون کلید خصوصی قابل استفاده نخواهند بود.

۹. مدیریت خطا و گزارش‌دهی

Amanda نه‌تنها بکاپ می‌گیرد، بلکه وضعیت عملیات را هم به‌طور کامل گزارش می‌کند:

  • ارسال گزارش به مدیر سیستم از طریق ایمیل
  • نمایش خطاها و هشدارها
  • امکان ادامه عملیات پس از بروز خطا (Graceful Recovery)

۱۰. قابلیت Tape-Spanning

گاهی حجم داده‌ها بیشتر از ظرفیت یک نوار است. Amanda می‌تواند فایل‌ها را تقسیم کرده و روی چندین نوار بنویسد. این ویژگی در بکاپ‌های حجیم (چند ترابایتی) حیاتی است.

۱۱. افزونه‌ها و پشتیبانی از برنامه‌ها

در نسخه Enterprise (Zmanda)، Amanda از Plugin Framework پشتیبانی می‌کند. این یعنی می‌توان بکاپ‌های ویژه برای نرم‌افزارهای زیر گرفت:

  • Oracle Database
  • VMware (Image Backup)
  • Samba

۱۲. سرعت و کارایی

به دلیل طراحی بهینه، Amanda معمولاً برای بکاپ گرفتن از حجم مشابه داده، زمان کمتری نسبت به بسیاری از ابزارهای دیگر نیاز دارد.

📌 نکته فنی: Amanda از الگوریتم‌های هوشمند برای تعیین اینکه چه بخشی از داده‌ها تغییر کرده‌اند استفاده می‌کند. بنابراین نیازی نیست هر بار کل سیستم دوباره بکاپ شود.

بخش پنجم: ساختار فنی Amanda

معماری کلی Amanda

Amanda بر پایه‌ی معماری کلاینت–سرور (Client–Server) طراحی شده است.

  • کلاینت‌ها (Clients): رایانه‌هایی که باید از آن‌ها پشتیبان‌گیری شود. روی هر کلاینت، سرویس کوچکی نصب می‌شود که داده‌ها را آماده کرده و برای سرور ارسال می‌کند.
  • سرور (Server): یک رایانه مرکزی که عملیات پشتیبان‌گیری را مدیریت می‌کند، داده‌ها را دریافت کرده و روی رسانه‌ی انتخابی (دیسک، نوار، فضای ابری) ذخیره می‌نماید.

📌 به زبان ساده: کلاینت مثل شاگردی است که دفتر تکالیفش (داده‌ها) را تحویل می‌دهد، و سرور مثل معلمی است که آن‌ها را جمع‌آوری کرده و در جعبه‌ای امن (رسانه ذخیره‌سازی) نگه می‌دارد.

اجزای نرم‌افزاری Amanda

Amanda از چند ماژول و ابزار تشکیل شده است:

  1. amadmin
    • ابزار مدیریتی اصلی.
    • مدیر سیستم از طریق آن عملیات بکاپ و ری‌استور را کنترل می‌کند.
  2. amdump
    • فرمانی برای شروع پشتیبان‌گیری کامل (Dump).
    • مثلاً وقتی می‌خواهیم از تمام کلاینت‌ها بکاپ بگیریم.
  3. amflush
    • وقتی داده‌ها در صف (Queue) بکاپ قرار دارند، با این دستور به رسانه مقصد منتقل می‌شوند.
  4. amcheck
    • ابزاری برای بررسی پیکربندی قبل از شروع بکاپ.

📌 این ابزارها به هم وابسته‌اند و روی هم یک اکوسیستم کامل می‌سازند.

چرخه‌ی پشتیبان‌گیری در Amanda

چرخه‌ی بکاپ در Amanda معمولاً ۳ مرحله دارد:

  1. جمع‌آوری داده‌ها (Data Collection):
    • کلاینت‌ها داده‌های انتخاب‌شده (فایل‌سیستم، دایرکتوری یا دیتابیس) را آماده کرده و به سرور می‌فرستند.
  2. پردازش (Processing):
    • سرور داده‌ها را فشرده‌سازی می‌کند (برای کاهش حجم).
    • سپس آن‌ها را رمزنگاری می‌کند (برای امنیت).
  3. ذخیره‌سازی (Storage):
    • داده‌ها روی رسانه انتخابی ذخیره می‌شوند: دیسک، نوار، یا فضای ابری.

امنیت در Amanda

امنیت داده‌ها در بکاپ اهمیت ویژه‌ای دارد. Amanda چندین لایه امنیتی دارد:

  • انتقال امن: ارتباط بین سرور و کلاینت‌ها از طریق SSH رمزگذاری می‌شود.
  • رمزنگاری داده‌ها: پیش از ذخیره شدن، داده‌ها می‌توانند با GPG (GNU Privacy Guard) رمز شوند.
  • کنترل دسترسی: فقط کلاینت‌های مجاز می‌توانند داده‌های خود را به سرور بفرستند.

📌 مثال عملی: فرض کنید سرور Amanda در یک دیتاسنتر است و کلاینت‌ها در شعبات مختلف یک شرکت قرار دارند. داده‌ها از طریق اینترنت منتقل می‌شوند. بدون رمزنگاری، هکرها می‌توانند این اطلاعات را شنود کنند. اما با SSH + GPG، داده‌ها کاملاً محرمانه باقی می‌مانند.

فشرده‌سازی (Compression)

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

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

📌 مثال: اگر یک دیتابیس ۵۰ گیگابایتی داشته باشیم، ممکن است پس از فشرده‌سازی حجم آن به ۲۰ گیگابایت کاهش پیدا کند.

مدیریت خطاها

Amanda طراحی شده تا در برابر خطاها مقاوم باشد:

  • اگر در حین بکاپ یک کلاینت دچار مشکل شد، بکاپ کل سیستم متوقف نمی‌شود.
  • پس از رفع مشکل، عملیات می‌تواند ادامه یابد (Graceful Recovery).
  • گزارش خطاها برای مدیر سیستم ارسال می‌شود تا پیگیری کند.

دیاگرام ساده از معماری Amanda

[ Client 1 ] —-\

[ Client 2 ] —–+–> [ Amanda Server ] —> [ Disk / Tape / Cloud ]

[ Client 3 ] —-/

  • هر کلاینت داده‌های خود را ارسال می‌کند.
  • سرور داده‌ها را دریافت، فشرده و رمزنگاری می‌کند.
  • سپس روی رسانه انتخابی ذخیره می‌شوند.

بخش ششم: نسخه‌های مختلف Amanda و امکانات Zmanda

۱. نسخه رایگان (Community Edition)

این همان نسخه‌ی اصلی و متن‌باز Amanda است که از ابتدا در جامعه‌ی لینوکسی و متن‌باز توسعه یافته.

ویژگی‌ها:

  • کاملاً رایگان و تحت GPL License
  • نصب و استفاده از طریق خط فرمان (CLI)
  • پشتیبانی گسترده در انجمن‌های کاربری و مستندات آنلاین
  • مناسب برای:

    • مدیران سیستم حرفه‌ای که به خط فرمان مسلط هستند
    • سازمان‌های کوچک و متوسط که بودجه محدودی دارند
    • محیط‌های تحقیقاتی و دانشگاهی

📌 نکته: در این نسخه، همه‌چیز باید با ویرایش فایل‌های کانفیگ (مثل amanda.conf) و اجرای دستورات دستی مدیریت شود.

۲. نسخه تجاری (Enterprise Edition) – محصول Zmanda

شرکت Zmanda، نسخه‌ای تجاری از Amanda را توسعه داده است که با نام Amanda Enterprise شناخته می‌شود. این نسخه امکانات بیشتری دارد و مخصوص سازمان‌های بزرگ و شرکت‌هایی است که نیاز به پشتیبانی رسمی دارند.

امکانات ویژه نسخه Zmanda:

  1. Zmanda Management Console (ZMC):
    • یک رابط کاربری گرافیکی (Web-based GUI)
    • امکان مدیریت بکاپ‌ها بدون نیاز به خط فرمان
    • داشبورد برای مشاهده وضعیت، گزارش‌ها و لاگ‌ها
  2. پشتیبان‌گیری ابری (Cloud Backup):
    • ذخیره مستقیم داده‌ها روی Amazon S3 یا سایر سرویس‌های ابری
    • مناسب برای شرکت‌هایی که دیتاسنتر اختصاصی ندارند یا می‌خواهند بکاپ‌ها را خارج از سازمان نگه دارند.
  3. پشتیبانی از برنامه‌ها و پایگاه‌داده‌ها (Application Plugins):
    • بکاپ‌گیری اختصاصی برای Oracle Database
    • پشتیبانی از Samba (اشتراک‌گذاری فایل در شبکه‌های ویندوزی)
    • بکاپ تصویری (Image Backup) از ماشین‌های مجازی VMware
  4. پشتیبانی رسمی (Technical Support):
    • تیم پشتیبانی Zmanda در صورت بروز مشکل پاسخگو است.
    • برای شرکت‌های بزرگ که نمی‌توانند ریسک از دست رفتن داده را بپذیرند، این گزینه حیاتی است.

۳. تفاوت نسخه Community و Enterprise

برای درک بهتر، جدول زیر را ببینیم:

ویژگی

Community Edition

Enterprise Edition (Zmanda)

هزینه

رایگان

تجاری (با لایسنس)

رابط کاربری

خط فرمان (CLI)

رابط گرافیکی تحت وب (ZMC)

پشتیبانی

انجمن‌ها و مستندات آنلاین

پشتیبانی رسمی شرکت Zmanda

پشتیبان‌گیری ابری

به‌صورت دستی قابل تنظیم

پشتیبانی مستقیم از Amazon S3 و دیگر سرویس‌ها

افزونه‌های برنامه‌ای

ندارد

دارد (Oracle, VMware, Samba و …)

جامعه کاربری

گسترده و فعال

محدودتر اما با خدمات رسمی

۴. چرا Zmanda وارد شد؟

هرچند Amanda متن‌باز بسیار قدرتمند است، اما:

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

به همین دلیل، Zmanda نسخه تجاری را ارائه داد تا نیاز سازمان‌های Enterprise هم برآورده شود.

۵. ترکیب قدرت متن‌باز و تجاری

  • نسخه Community همچنان توسعه داده می‌شود و رایگان باقی مانده.
  • نسخه Enterprise هم در کنار آن وجود دارد و برای سازمان‌هایی که نیاز به امکانات بیشتر دارند عرضه می‌شود.

📌 این مدل ترکیبی (Open Source + Commercial Support) باعث شده Amanda هم محبوب جامعه متن‌باز بماند و هم در دنیای سازمانی جایگاه پیدا کند.

بخش هفتم: نصب Amanda در لینوکس

نصب Amanda در لینوکس چند روش دارد:

  1. نصب از مخازن (Repository) توزیع (ساده‌تر، ولی نسخه همیشه آخرین نیست).
  2. نصب از سورس (Source Code) (انعطاف‌پذیرتر و به‌روزتر).

در این بخش، هر دو روش را بررسی می‌کنیم.

۱. پیش‌نیازها (Dependencies)

قبل از نصب، باید بسته‌های توسعه‌ای (Development Packages) را نصب کنیم. این بسته‌ها برای کامپایل از سورس لازم هستند.

در توزیع‌های Red Hat, CentOS, Fedora

# yum install gcc make gcc-c++ glib2-devel gnuplot perl-ExtUtils-Embed bison flex

در توزیع‌های Debian, Ubuntu, Linux Mint

$ sudo apt-get install build-essential gnuplot

📌 توضیح بسته‌ها:

  • gcc / gcc-c++ → کامپایلر زبان C و C++ برای ساخت سورس.
  • make → ابزار ساخت پروژه‌ها.
  • glib2-devel → کتابخانه توسعه GLib (کتابخانه پایه‌ای در لینوکس).
  • gnuplot → برای ترسیم نمودارها و گزارش‌های گرافیکی بکاپ.
  • perl-ExtUtils-Embed → ماژول پرل که Amanda از آن استفاده می‌کند.
  • bison / flex → ابزارهای تحلیل زبان که در سورس‌کد Amanda مورد نیاز هستند.

۲. دانلود آخرین نسخه Amanda

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

لینک رسمی:

http://sourceforge.net/projects/amanda/files/latest/download

یا با دستور wget:

# wget http://jaist.dl.sourceforge.net/project/amanda/amanda%20-%20stable/3.3.5/amanda-3.3.5.tar.gz

۳. نصب از سورس (Build & Install)

پس از دانلود:

# tar -zxvf amanda-3.3.5.tar.gz
# cd amanda-3.3.5/
# ./configure
# make
# make install [برای RedHat / CentOS / Fedora]
# sudo make install [برای Debian / Ubuntu / Mint]

📌 توضیحات مرحله‌ها:

  • tar -zxvf → استخراج فایل فشرده سورس.
  • ./configure → بررسی وابستگی‌ها و آماده‌سازی محیط.
  • make → کامپایل سورس‌کد.
  • make install → نصب برنامه روی سیستم.

۴. تأیید نصب

پس از نصب موفق، دستور زیر را اجرا کنید:

# amadmin –version

خروجی نمونه:

amadmin-3.3.5

این یعنی Amanda با موفقیت نصب شده است. 🎉

۵. مکان فایل‌های تنظیمات

فایل اصلی تنظیمات در مسیر زیر قرار دارد:

/etc/amanda/intra/amanda.conf

📌 در این فایل می‌توانید مسیر ذخیره بکاپ، زمان‌بندی، ایمیل گزارش‌ها، و سیاست‌های رمزنگاری/فشرده‌سازی را مشخص کنید.

۶. تفاوت نصب روی RPM-Based و DEB-Based

برای شفافیت بیشتر، جدول زیر را ببینیم:

مرحله

RedHat / CentOS / Fedora

Debian / Ubuntu / Mint

نصب پیش‌نیازها

yum install …

apt-get install …

نصب از سورس

make install

sudo make install

مدیریت بسته‌ها

RPM, YUM, DNF

DEB, APT

مسیر پیش‌فرض کانفیگ

/etc/amanda/…

/etc/amanda/…

بخش هشتم: تنظیمات اولیه و تست نصب Amanda

بعد از اینکه Amanda روی سیستم نصب شد، باید تنظیمات اولیه انجام شود تا آماده‌ی استفاده برای پشتیبان‌گیری باشد. در این بخش دستورات مدیریتی مهم مثل amadmin، amdump و amflush را بررسی می‌کنیم.

۱. ابزار مدیریتی amadmin

🔹 دستور amadmin رابط مدیریتی Amanda است.

  • با این دستور می‌توان نسخه نرم‌افزار را بررسی کرد.
  • وضعیت سرور بکاپ را دید.
  • و حتی برخی عملیات مدیریتی را انجام داد.

مثال:

# amadmin –version

خروجی نمونه:

amadmin-3.3.5

📌 این دستور برای تست نصب موفقیت‌آمیز استفاده می‌شود.

۲. فایل تنظیمات اصلی (amanda.conf)

محل اصلی فایل کانفیگ:

/etc/amanda/intra/amanda.conf

در این فایل می‌توانید:

  • مسیر ذخیره بکاپ‌ها (disklist)
  • ایمیل مدیر برای گزارش‌ها
  • تنظیمات رمزنگاری و فشرده‌سازی
  • سیاست زمان‌بندی بکاپ

را مشخص کنید.

📌 مثال:

فرض کنید می‌خواهیم بکاپ‌ها در /backup ذخیره شوند و گزارش‌ها برای admin@example.com ارسال شود. در فایل amanda.conf باید این پارامترها ویرایش شوند.

۳. اجرای اولین بکاپ با amdump

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

# amdump all

🔹 این دستور:

  • کل فایل‌سیستم‌هایی که در کانفیگ تعریف شده‌اند را بکاپ می‌گیرد.
  • گزارش کار را به ایمیل تعریف‌شده در کانفیگ ارسال می‌کند.

📌 مثال کاربردی:

اگر در فایل disklist سیستم‌های زیر معرفی شده باشند:

  • سرور وب: /var/www
  • سرور دیتابیس: /var/lib/mysql

با اجرای amdump all هر دو مسیر بکاپ‌گیری می‌شود.

۴. فلش کردن بکاپ با amflush

گاهی اوقات Amanda داده‌ها را به‌صورت موقت ذخیره می‌کند تا بعداً روی نوار یا مقصد نهایی منتقل کند.

برای اینکه داده‌های موقت سریع‌تر نوشته شوند، از دستور زیر استفاده می‌کنیم:

# amflush -f all

🔹 این دستور باعث می‌شود داده‌های موجود در صف (queue) به مقصد نهایی منتقل شوند.

📌 سناریو واقعی:

فرض کنید سیستم بکاپ‌گیری شبانه اجرا شده اما هنوز داده‌ها روی نوار نوشته نشده‌اند. مدیر سیستم می‌تواند صبح با amflush داده‌ها را سریعاً روی نوار منتقل کند.

۵. معماری تستی (مثال ساده)

تصور کنید یک شبکه کوچک با سه سیستم داریم:

سیستم

مسیر بکاپ

توضیح

Web Server

/var/www

شامل وب‌سایت‌ها

DB Server

/var/lib/mysql

شامل دیتابیس‌ها

File Server

/home

شامل فایل کاربران

در فایل disklist این سه مسیر تعریف می‌شوند. سپس:

  • اجرای amdump all → همه مسیرها بکاپ‌گیری می‌شود.
  • اجرای amflush all → داده‌ها روی نوار منتقل می‌شوند.
  • گزارش به ایمیل مدیر ارسال می‌شود.

۶. نکته امنیتی

ارتباط بین کلاینت و سرور Amanda می‌تواند با OpenSSH امن شود.

همچنین داده‌ها می‌توانند با GPG رمزنگاری شوند.

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

بخش نهم: مثال‌های عملی از پشتیبان‌گیری با Amanda

Amanda این قابلیت رو داره که از منابع مختلف بکاپ بگیره:

  • دیسک (Disk)
  • نوار مغناطیسی (Tape)
  • فضای ابری (Cloud)

در این بخش، برای هر کدوم مثال عملی می‌زنیم.

۱. پشتیبان‌گیری روی دیسک (Disk Backup)

ساده‌ترین روش، ذخیره بکاپ روی دیسک محلی یا یک دیسک متصل به شبکه (NAS) است.

مراحل:

  1. ویرایش فایل disklist و معرفی مسیرهای بکاپ:
webserver1.example.com /var/www comp-root-tar

dbserver1.example.com /var/lib/mysql comp-root-tar

fileserver1.example.com /home comp-root-tar
  1. ویرایش فایل amanda.conf و مشخص کردن مسیر مقصد:

tapetype DISK

tpchanger “chg-disk”

tapedev “/backup/amanda”

  1. اجرای بکاپ:

# amdump DailySet1

📌 نکته: این روش بیشتر برای شبکه‌های کوچک یا سازمان‌هایی که سرور ذخیره‌سازی مرکزی دارند مناسب است.

۲. پشتیبان‌گیری روی نوار (Tape Backup)

بکاپ‌گیری روی نوار هنوز در دیتاسنترهای بزرگ رایج است چون:

  • ظرفیت بالایی دارد.
  • هزینه نگهداری بلندمدت پایین است.
  • امنیت فیزیکی (می‌توان نوارها را در گاوصندوق نگه داشت).

مراحل:

  1. تعریف دستگاه نوار در فایل amanda.conf:

tapedev “/dev/nst0”

tapetype LTO-5

  1. اجرای بکاپ:

# amdump WeeklySet1

  1. در صورت باقی ماندن داده‌ها در دیسک موقت، انتقال به نوار:

# amflush WeeklySet1

📌 مثال واقعی:

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

۳. پشتیبان‌گیری روی فضای ابری (Cloud Backup)

در نسخه‌ی Enterprise (Zmanda)، امکان ذخیره بکاپ روی Amazon S3 یا سرویس‌های مشابه وجود دارد.

مراحل:

  1. در Zmanda Management Console (ZMC)، بخش مقصد بکاپ را روی “Cloud Storage” تنظیم می‌کنیم.
  2. اطلاعات دسترسی AWS (Access Key, Secret Key, Bucket Name) را وارد می‌کنیم.
  3. اجرای بکاپ همانند قبل انجام می‌شود:

# amdump CloudSet1

📌 مزیت:

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

📌 چالش:

  • نیاز به اینترنت پرسرعت و پایدار.
  • هزینه‌های ذخیره‌سازی ابری.

۴. مقایسه روش‌ها

روش ذخیره‌سازی

مزایا

معایب

کاربرد مناسب

دیسک (Disk)

سریع، ارزان، ساده

آسیب‌پذیر در برابر خرابی سخت‌افزار

شبکه‌های کوچک و متوسط

نوار (Tape)

ظرفیت بالا، نگهداری بلندمدت، امنیت فیزیکی

سرعت پایین‌تر، سخت‌افزار خاص

دیتاسنترها و سازمان‌های بزرگ

فضای ابری (Cloud)

دسترسی جهانی، امنیت ابری، انعطاف بالا

هزینه‌بر، نیازمند اینترنت

شرکت‌های چندملیتی، سازمان‌های توزیع‌شده

۵. مثال ترکیبی (Hybrid Backup Strategy)

در عمل، بسیاری از سازمان‌ها ترکیبی از روش‌ها را استفاده می‌کنند:

  • بکاپ روزانه روی دیسک (برای بازیابی سریع).
  • بکاپ هفتگی روی نوار (برای آرشیو بلندمدت).
  • بکاپ ماهانه روی فضای ابری (برای امنیت خارج از محل).

📌 مثال: دانشگاه بزرگ

  • داده‌های دانشجویان هر شب روی NAS بکاپ می‌شود.
  • هر هفته، داده‌های مهم پژوهشی روی نوار منتقل می‌شود.
  • هر ماه، یک کپی کامل روی Amazon S3 ذخیره می‌شود تا اگر آتش‌سوزی یا زلزله رخ داد، داده‌ها از بین نروند.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany