Snapshot و Backup هر دو برای «بازگشت به گذشته» استفاده میشوند و به همین دلیل زیاد با هم اشتباه گرفته میشوند. اما نحوه کار، محل نگهداری و نوع خطری که از آن محافظت میکنند کاملاً متفاوت است. در این مقاله تفاوت Snapshot و Backup را از نظر فنی و کاربردی مقایسه میکنیم و میگوییم هرکدام کجا به کار میآید و چرا یک برنامه درست به هر دو نیاز دارد.
فهرست مطالب
Snapshot چیست؟
Snapshot تصویری از وضعیت دیسک یک سرور یا ماشین مجازی در یک لحظه مشخص است. در بیشتر سیستمهای مجازیسازی و ذخیرهسازی، Snapshot کپی کامل دادهها نیست؛ از لحظه گرفتن Snapshot، تغییرات جدید جداگانه ثبت میشوند و دادههای قبلی دستنخورده میمانند. به همین دلیل Snapshot در چند ثانیه گرفته میشود و بازگشت به آن هم سریع است. در برخی پلتفرمها، Snapshot میتواند وضعیت حافظه RAM را هم شامل شود. Snapshot همیشه به دیسک اصلی و زیرساخت ذخیرهسازی همان سرور وابسته است.
Backup چیست؟
Backup یک کپی مستقل از دادههاست که در محل دیگری نگهداری میشود: سرور دیگر، فضای ذخیرهسازی جداگانه یا دیتاسنتر دیگر. بکاپ میتواند کامل (Full)، افزایشی (Incremental) یا تفاضلی (Differential) باشد و برای بازیابی، به سرور اصلی وابسته نیست. ویژگیهای یک بکاپ قابل اعتماد را در بکاپ سرور چیست توضیح دادهایم.
جدول تفاوت Snapshot و Backup
| ویژگی | Snapshot | Backup |
|---|---|---|
| ماهیت | تصویر لحظهای وابسته به دیسک اصلی | کپی مستقل از دادهها |
| محل نگهداری | همان زیرساخت ذخیرهسازی | مقصد جداگانه |
| زمان ایجاد | چند ثانیه | دقیقهها تا ساعتها |
| سرعت بازیابی کل سرور | بسیار سریع | بسته به حجم و مقصد |
| بازیابی یک فایل یا جدول | دشوار | ساده (در بکاپ فایلمحور) |
| محافظت در برابر خرابی استوریج | ندارد | دارد |
| محافظت در برابر باجافزار | محدود | دارد، اگر جدا و ایمن نگهداری شود |
| مدت نگهداری مناسب | ساعتها تا چند روز | هفتهها تا سالها |
| اثر روی کارایی | نگهداری طولانی، دیسک را کند میکند | فقط هنگام تهیه بکاپ |
۴ دلیل که Snapshot جای Backup را نمیگیرد
۱. وابستگی به همان زیرساخت
اگر دیسکها، آرایه ذخیرهسازی یا خود سرور دچار خرابی جدی شود، Snapshotها هم همراه آن از دست میروند.
۲. آسیبپذیری در برابر باجافزار و دسترسی غیرمجاز
مهاجمی که به سرور یا پنل مدیریت دسترسی پیدا کند، میتواند Snapshotها را هم حذف کند. بکاپ جداگانه با دسترسی مستقل این ریسک را کاهش میدهد.
۳. نگهداری کوتاهمدت
Snapshotها به دلیل اثر روی کارایی، معمولاً فقط چند روز نگهداری میشوند. برای بازگشت به وضعیت چند هفته یا چند ماه قبل، به بکاپ نیاز دارید.
۴. بازیابی همه یا هیچ
بازگشت به Snapshot معمولاً کل سرور را به گذشته میبرد و همه تغییرات بعدی، از جمله سفارشها و دادههای جدید، از بین میروند. بکاپ امکان بازیابی انتخابی یک فایل یا دیتابیس را میدهد.
سناریوهای واقعی که این تفاوتها در آنها تعیینکننده میشوند را در چرا Snapshot جای Backup را نمیگیرد؟ ۶ سناریوی واقعی بررسی کردهایم.
RPO و RTO؛ زبان مشترک بکاپ
- RPO (نقطه بازیابی): حداکثر مقدار دادهای که از دست دادنش قابل قبول است. اگر بکاپ روزانه میگیرید، RPO شما ۲۴ ساعت است.
- RTO (زمان بازیابی): حداکثر زمانی که سرویس میتواند پس از حادثه از دسترس خارج باشد.
Snapshot برای تغییرات برنامهریزیشده RTO بسیار کوتاهی دارد. بکاپ مستقل RPO و RTO را در سناریوهای جدی مثل خرابی سختافزار و حمله تضمین میکند. این دو عدد را برای کسبوکارتان تعیین کنید و برنامه بکاپ را بر اساس آنها بچینید.
کدام را کی استفاده کنیم؟
| موقعیت | ابزار مناسب |
|---|---|
| قبل از آپدیت سیستمعامل یا کنترلپنل | Snapshot |
| قبل از ارتقای نسخه PHP یا دیتابیس | Snapshot و بکاپ دیتابیس |
| محافظت روزانه از دادهها | Backup |
| بازیابی فایلی که هفته پیش حذف شده | Backup |
| خرابی سختافزار یا حمله باجافزار | Backup خارج از سرور |
| ساخت سریع یک نسخه آزمایشی از سرور | Snapshot یا Clone |
برنامه پیشنهادی ترکیبی
- بکاپ خودکار روزانه از فایلها و دیتابیس به یک مقصد جداگانه.
- نگهداری چندنسخهای: مثلاً ۷ نسخه روزانه، ۴ نسخه هفتگی و چند نسخه ماهانه.
- یک نسخه در محل دیگر، با نام کاربری و رمز متفاوت.
- Snapshot پیش از هر تغییر مهم و حذف آن پس از اطمینان از موفقیت تغییر.
- تست بازیابی حداقل هر سه ماه یک بار.
اگر سرور مجازی دارید، تنظیمات امنیتی پایه را هم از تنظیمات امنیتی ضروری VPS اعمال کنید؛ بکاپ آخرین خط دفاع است، نه اولین.
سوالات متداول
فرق Snapshot و Backup در یک جمله چیست؟
Snapshot تصویری سریع و موقت روی همان زیرساخت است برای بازگشت فوری؛ Backup کپی مستقل در جای دیگر است برای بازیابی در هر نوع حادثه.
آیا Snapshot از حمله باجافزار محافظت میکند؟
بهتنهایی نه. اگر مهاجم به سرور یا پنل دسترسی داشته باشد، میتواند Snapshotها را هم حذف کند. بکاپ جداگانه با دسترسی مستقل لازم است.
Snapshot را چه مدت نگه داریم؟
تا زمانی که از موفقیت تغییر مطمئن شوید؛ معمولاً حداکثر چند روز. نگهداری طولانی، سرعت دیسک را کم و فضای ذخیرهسازی را مصرف میکند.
بکاپ هاست اشتراکی با بکاپ سرور فرق دارد؟
اصول یکسان است. در هاست اشتراکی، ابزارهای کنترلپنل مثل بکاپ cPanel را استفاده کنید و یک نسخه را خارج از هاست نگه دارید. راهنما در آموزش cPanel.
بکاپ و بازیابی با کمک متخصص
برای طراحی و پیادهسازی برنامه بکاپ سرورها، از خدمات پشتیبانی و مدیریت سرور تراست هاست کمک بگیرید. راهنمای CISA درباره محافظت از دادهها هم منبع خوبی برای مطالعه بیشتر است.