# مقایسه Forward و Reverse Incremental در Veeam؛ انتخاب روش بکاپ

مقایسه دقیق روش‌های بکاپ در ویم؛ ساختار زنجیره، بازیابی، مصرف فضا، مزایا و معایب و کاربرد هر روش، همراه با محدودیت‌های نسخه ۱۳.

## ۱. تفاوت اصلی و وضعیت نسخه ۱۳

در Forward، یک Full در ابتدای زنجیره داریم و تغییرات بعدی به آن وابسته‌اند. در Reverse، آخرین وضعیت داخل Full قرار دارد و اطلاعات برگشت به گذشته جدا ذخیره می‌شود. هر دو با Full شروع می‌شوند؛ اجرای افزایشی بعدی فقط بلوک‌های تغییرکرده را دریافت می‌کند، نه یک Full تازه از کل ماشین.

مستندات رسمی در ۱۴ اکتبر ۲۰۲۶ بررسی شده‌اند. از Veeam Backup & Replication نسخه ۱۳، Reverse Incremental منسوخ است؛ Jobهای قدیمی که این گزینه در آن‌ها فعال بوده همچنان کار می‌کنند. بنابراین کاربرد آن را برای محیط قدیمی بررسی کنید، نه طراحی جدید. موضوع مقاله زنجیره بکاپ ماشین مجازی است؛ گزینه‌های Agent، NAS و بکاپ مستقیم روی Object Storage را یکسان فرض نکنید.

## ۲. کجا استفاده کنیم و کجا نباید؟

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

| سناریو | انتخاب مناسب‌تر | دلیل و مورد پرهیز |
| --- | --- | --- |
| راه‌اندازی جدید ویم ۱۳ | Forward با Full دوره‌ای | طراحی جدید را بر Reverse منسوخ بنا نکنید |
| مخزن Linux Hardened تغییرناپذیر | Forward همراه Active یا Synthetic Full | Reverse و Forever Forward قابل انتخاب نیستند |
| مخزن کند یا با تأخیر زیاد | معمولاً Forward؛ ارزیابی هزینه ساخت Full | بدون سنجش ظرفیت سراغ Reverse نروید |
| تغییرات زیاد و هم‌زمانی بالا | معمولاً Forward | خواندن و نوشتن Reverse می‌تواند گلوگاه شود |
| فضای محدود روی مخزن دیسکی قابل تغییر | بررسی Forever Forward | Merge باید در زمان مجاز تمام شود |
| منبع یا شبکه توان Fullخوانی پرتکرار ندارد | بررسی Forward با Synthetic Full | بدون ظرفیت کافی Active Full پرتکرار نگذارید |
| خواندن مستقل و مجدد منبع لازم است | Forward با Active Full | زمان، پهنای باند و فضا اختصاص دهید |
| Job قدیمی Reverse؛ مخزن سریع؛ اولویت آخرین Restore | ادامه موقت پس از ارزیابی | بازیابی را اندازه بگیرید و برای مهاجرت برنامه داشته باشید |
| دستگاه Deduplication | مطابق راهنمای ویم برای همان دستگاه | بازنویسی تصادفی را بدون ارزیابی کارآمد فرض نکنید |

## ۳. قبل از انتخاب روش چه چیزهایی لازم است؟

نسخه ویم، نوع Workload، فایل‌سیستم مخزن، نیاز Immutability، Retention و حجم تغییرات روزانه را مشخص کنید. وجود Fast Clone را تأیید کنید. برای زنجیره‌های باقی‌مانده و عملیات Full برنامه‌ریزی‌شده ظرفیت کافی اختصاص دهید.

## ۴. چرا در ویم از بکاپ افزایشی استفاده می‌شود؟

Full گرفتن در هر اجرا، ظرفیت خواندن Storage تولیدی، پهنای باند و فضای مخزن را مصرف می‌کند. بکاپ افزایشی با انتقال تغییرات، چند نقطه بازیابی نگه می‌دارد. در بکاپ VM پشتیبانی‌شده، CBT به شناسایی بلوک‌های تغییرکرده کمک می‌کند. روش زنجیره تعیین می‌کند این تغییرات چگونه ذخیره شوند و بازیابی به چه فایل‌هایی وابسته باشد.

RPO میزان قابل‌قبول از دست رفتن داده است و به فاصله بکاپ‌های موفق بستگی دارد. RTO زمان قابل‌قبول بازیابی است. انتخاب Reverse خودبه‌خود RPO را بهتر نمی‌کند؛ وابستگی کوتاه‌تر بازیابی هم بدون اندازه‌گیری Restore واقعی، تضمین رسیدن به RTO نیست.

## ۵. Forward Incremental؛ بازیابی به سمت جلو

اجرای اول Full با پسوند VBK می‌سازد. اجراهای بعدی تغییرات نسبت به بکاپ قبلی را در VIB می‌نویسند. برای بازیابی روز چهارم مثال زیر، VBK روز اول و VIBهای لازم روز دوم تا چهارم نیاز است. روز دوم فقط به Full و اولین Incremental نیاز دارد.

```text
Day 1: Full.vbk
Day 2: Changes.vib
Day 3: Changes.vib
Day 4: Changes.vib
Restore day 4: VBK + required VIBs through day 4
```

در اصطلاح ویم، Forward دارای Full دوره‌ای با ساخت هر Active یا Synthetic Full، زنجیره تازه‌ای شروع می‌کند. این زنجیره‌های کوتاه‌تر وابستگی به زنجیره‌های قبلی را محدود می‌کنند. Restore بلوک‌های لازم را از بکاپ‌ها می‌خواند؛ الزاماً ابتدا یک فایل Full جداگانه نمی‌سازد.

## ۶. محافظت از نقاط بازیابی

برای Linux Hardened Repository تغییرناپذیر، Forward با Active یا Synthetic Full دوره‌ای استفاده کنید. تغییر روش زنجیره به‌تنهایی بکاپ را Immutable نمی‌کند. دسترسی مخزن را محدود کنید و نسخه محافظت‌شده جداگانه داشته باشید؛ سلامت Full را با بازیابی تأیید کنید، نه صرف وجود فایل.

## ۷. Reverse Incremental؛ Full همیشه آخرین وضعیت است

بعد از Full اولیه، هر اجرای موفق بلوک‌های جدید را داخل VBK وارد می‌کند. بلوک‌های قدیمی جایگزین‌شده در فایل‌های VRB برای برگشت نگهداری می‌شوند. Full جاری بنابراین آخرین نقطه بازیابی را نشان می‌دهد. بازیابی گذشته به همین Full و Reverseهای لازم وابسته است.

```text
After day 4:
Latest.vbk = day 4
Rollback VRBs = transitions to days 3, 2 and 1
Restore latest: VBK
Restore day 2: latest VBK + required VRBs back to day 2
```

جذابیت تاریخی آن، داشتن Full برای آخرین بازیابی بدون خواندن روزانه کل منبع بود. هزینه این انتخاب، عملیات خواندن و نوشتن مخزن هنگام هر بکاپ است. مخزن کند می‌تواند سرعت Job را کم کند و زمان باز ماندن Snapshot ماشین را افزایش دهد؛ به‌ویژه با تغییرات زیاد و Jobهای هم‌زمان.

## ۸. جدول مقایسه فنی دقیق

| معیار | Forward با Full دوره‌ای | Reverse |
| --- | --- | --- |
| فایل‌ها | VBK + VIB | VBK + VRB |
| جایگاه Full | ابتدای هر زنجیره | آخرین نقطه بازیابی |
| اجرای افزایشی | نوشتن VIB جدید | تغییر VBK و ساخت VRB |
| آخرین بازیابی | Full پایه و VIBهای لازم | آخرین VBK |
| بازیابی گذشته | Full همان زنجیره و VIBها تا نقطه هدف | Full جاری و VRBهای لازم |
| کار روزانه مخزن | عمدتاً نوشتن فایل افزایشی جدید | خواندن بلوک قدیمی و نوشتن برگشت و بلوک جدید |
| الگوی مصرف فضا | Fullهای دوره‌ای و هم‌پوشانی زنجیره‌ها | Full جاری و Reverseها |
| نگهداری نقاط | زنجیره قدیمی تا رفع وابستگی باقی می‌ماند | نقاط Reverse قدیمی منقضی حذف می‌شوند |
| مخزن Hardened تغییرناپذیر | با Active یا Synthetic Full دوره‌ای قابل استفاده | قابل انتخاب نیست |
| ویم ۱۳ | قابل استفاده برای طراحی جدید | منسوخ؛ ادامه Jobهای قدیمی فعال |

این تفاوت‌ها درباره وابستگی و نوع بار کاری‌اند، نه نسبت ثابت سرعت. زمان بازیابی به Storage، مقصد و نوع Restore وابسته است. فضا هم به نرخ تغییر، فشرده‌سازی و اشتراک بلوک وابسته است؛ اندازه VRB الزاماً برابر VIB نیست.

## ۹. Active Full، Synthetic Full و Forever Forward

| روش | نحوه کار | هزینه یا محدودیت اصلی |
| --- | --- | --- |
| Active Full | خواندن مجدد داده لازم برای Full از منبع | خواندن منبع، انتقال شبکه و نوشتن مخزن |
| Synthetic Full | ساخت Full از بکاپ‌های موجود مخزن | پردازش مخزن؛ Fast Clone می‌تواند هزینه را کاهش دهد |
| Forever Forward | یک Full اولیه؛ ادغام Incremental قدیمی در Full هنگام Retention | هزینه Merge؛ غیرقابل انتخاب روی Hardened تغییرناپذیر |

انتخاب Incremental بدون Active یا Synthetic Full دوره‌ای به معنی Forever Forward است. Full آن به قدیمی‌ترین نقطه باقی‌مانده جلو می‌رود؛ برخلاف Reverse، به آخرین نقطه تبدیل نمی‌شود. این تفاوت در محاسبه ظرفیت و طراحی Immutability مهم است.

## ۱۰. مزایا و معایب هر روش

| روش | مزایا | معایب |
| --- | --- | --- |
| Forward با Full دوره‌ای | ساختار روشن؛ فایل جدید؛ مرز زنجیره دوره‌ای؛ سازگاری با Hardened | هزینه فضا و پردازش Full؛ وابستگی فایل‌های Restore؛ هم‌پوشانی Retention |
| Forever Forward | Fullهای کمتر؛ حذف Fullخوانی دوره‌ای از منبع | بار Merge؛ تغییر Full پایه؛ وابستگی به سلامت زنجیره؛ محدودیت Hardened |
| Reverse | داده آخرین Restore داخل یک Full؛ انتقال افزایشی از منبع | فشار خواندن و نوشتن مخزن؛ وابستگی گذشته به VRB؛ تغییر Full در هر اجرا؛ منسوخ |

نبودن یا خرابی VIB لازم می‌تواند Restoreهای وابسته Forward را مختل کند؛ نقاط قبلی مستقل ممکن است سالم بمانند. خرابی VRB لازم می‌تواند برگشت از آن مرحله را مختل کند، درحالی‌که Full آخر همچنان قابل استفاده باشد. خرابی Full پایه یا جاری می‌تواند نقاط وابسته زیادی را تحت تأثیر قرار دهد. هیچ‌کدام جای بررسی سلامت و نسخه محافظت‌شده جداگانه را نمی‌گیرند.

## ۱۱. Retention و مثال محاسبه ظرفیت

تنظیم ۱۴ نقطه نگهداری در Forward به معنی وجود دقیقاً ۱۴ فایل یا نقطه روی دیسک نیست. تا وقتی Incrementalهای لازم به یک Full وابسته‌اند، Full حذف نمی‌شود. زنجیره قبلی می‌تواند تا زمان حذف امن با زنجیره جدید هم‌پوشانی داشته باشد؛ Immutability نیز می‌تواند حذف را عقب بیندازد.

```text
Illustrative decimal units; stored Full = 1000 GB; each increment = 50 GB
1 full + 13 increments = 1000 + 13 * 50 = 1650 GB
2 fulls + 12 increments = 2 * 1000 + 12 * 50 = 2600 GB
```

این فقط حساب حجم فایل‌هاست، نه ظرفیت‌سنجی محیط واقعی یا تضمین مصرف فیزیکی. برای هم‌پوشانی زنجیره، ساخت Full، نگهداری و رشد فضا در نظر بگیرید. Fast Clone روی ReFS یا XFS می‌تواند بلوک‌های Synthetic Full را مشترک نگه دارد؛ در نتیجه مجموع اندازه منطقی فایل‌ها ممکن است از مصرف فیزیکی بیشتر باشد. حجم واقعی Incrementalها و بیشترین مصرف فضا را اندازه بگیرید.

## ۱۲. عیب‌یابی بکاپ و نگهداری

| نشانه | چه چیزی را بررسی کنیم؟ |
| --- | --- |
| کند شدن بکاپ Reverse | تأخیر و IOPS مخزن، Jobهای هم‌زمان و حجم تغییرات |
| نقاط بیشتر از Retention | وابستگی زنجیره، Fullهای جدید و پایان دوره Immutability |
| نقطه بازیابی خوانده نمی‌شود | وجود و سلامت VBK/VIB/VRB لازم؛ آزمایش نسخه محافظت‌شده دیگر |
| کند شدن Synthetic Full | وجود Fast Clone و بار مخزن هنگام ساخت Full |

## ۱۳. چطور تصمیم نهایی بگیریم؟

برای استقرار جدید از Forward و Full دوره‌ای شروع کنید. نوع و برنامه Full را بعد از بررسی ظرفیت منبع، سرعت مخزن، فضا و Retention تعیین کنید. روی مخزن قابل تغییر با ظرفیت محدود، Forever Forward و زمان Merge آن را مقایسه کنید. بررسی Reverse را به Jobهای موجود محدود کنید.

قبل از تأیید طراحی، زمان بکاپ، مدت Snapshot، تأخیر مخزن و بیشترین مصرف فضا را ثبت کنید. هم آخرین نقطه و هم یک نقطه قدیمی را Restore کنید، داده برنامه را بررسی و زمان بازیابی را ثبت کنید. موفق بودن Job به‌تنهایی اثبات نمی‌کند بازیابی موردنیاز شما کار می‌کند.

## ۱۴. انتخاب متناسب با نیاز بازیابی

برای طراحی جدید ویم ۱۳، Forward با Full دوره‌ای را مبنا بگذارید. Forever Forward روی مخزن قابل تغییر مناسب، وقتی ظرفیت و عملکرد Merge توجیه دارد قابل بررسی است. Reverse مربوط به ارزیابی Jobهای قدیمی است. طراحی را بعد از موفقیت تست بازیابی آخرین و یک نقطه قدیمی مطابق نیاز خود تأیید کنید.

## ۱۵. پرسش‌های رایج

آیا Reverse هر روز یک Full از منبع می‌گیرد؟ خیر؛ اجرای افزایشی تغییرات را منتقل و Full ذخیره‌شده را به‌روز می‌کند. آیا همیشه سریع‌تر Restore می‌کند؟ آخرین نقطه وابستگی فایل کمتری دارد، اما نتیجه را عملکرد اندازه‌گیری‌شده کل فرایند تعیین می‌کند.

آیا Forever Forward همان Reverse است؟ خیر؛ Merge آن Full قدیمی‌ترین نقطه نگهداری‌شده را جلو می‌برد، اما Reverse، Full را به آخرین وضعیت می‌رساند. آیا یکی از این دو را روی Hardened تغییرناپذیر می‌توان انتخاب کرد؟ خیر؛ مطابق الزامات ویم، Forward با Active یا Synthetic Full دوره‌ای استفاده کنید.

## ۱۶. منابع رسمی و دانلود مقاله

[روش Forward Incremental](https://helpcenter.veeam.com/docs/vbr/userguide/forward_incremental_backup.html)

[روش Reverse و منسوخ شدن از نسخه ۱۳](https://helpcenter.veeam.com/docs/vbr/userguide/reversed_incremental_backup.html)

[انواع Forward و نمایش سیاست نگهداری](https://www.veeam.com/kb1932)

[علت نگهداری نقاط بیشتر از Retention](https://www.veeam.com/kb1990)

[محدودیت‌های مخزن Hardened](https://helpcenter.veeam.com/docs/vbr/userguide/hardened_repository_limitations.html)

[راهنمای عملکرد روش‌های بکاپ](https://bp.veeam.com/vbr/4_Operations/O_Veeam_Jobs/O_backup_jobs/backup_job_methods.html)

[تفاوت Active و Synthetic Full](https://helpcenter.veeam.com/docs/vbr/qsg/backup_methods.html)
