<h1 id="blocklevelbackupexplained">Block-Level Backup Explained</h1> <hr /> <p>Block-level backup is a <a href="https://www.cloudberrylab.com/resources/guides/backup-types/">type of backup</a> that backs up only modified parts of a file as against of incremental or full backups that back up whole files. Block-level backup takes less bandwidth and reduces backup times.</p> <p>In this article, we discuss main differences between full and block-level backups. We also cover best practices and everything else you should take into account when scheduling a <a href="https://www.cloudberrylab.com/resources/blog/best-practices-block-level-backup/">block-level backup plan</a>.</p> <h3 id="tableofcontents">Table of Contents</h3> <ul> <li><a href="https://kb.cloudberrylab.com/standalone-backup/general/block-level-backup-explained#schedulingablocklevelbackupplan">Scheduling a Block-Level Backup Plan</a></li> <li><a href="https://kb.cloudberrylab.com/standalone-backup/general/block-level-backup-explained#retentionfullandblocklevelbackup">Retention, Full and Block-Level Backup</a></li> <li><a href="https://kb.cloudberrylab.com/standalone-backup/general/block-level-backup-explained#syntheticfullbackup">Synthetic Full Backup</a></li> <li><a href="https://kb.cloudberrylab.com/standalone-backup/general/block-level-backup-explained#conclusion">Conclusion</a></li> </ul> <hr /> <h2 id="schedulingablocklevelbackupplan">Scheduling a Block-Level Backup Plan</h2> <p>To enable block-level backup, please launch Backup Wizard and select the <strong>Use block level backup</strong> checkbox at the <strong>Advanced Options</strong> step.</p> <p><img src="/content/images/13f4b80a-ef8b-4870-92ec-9d7a4bb3dfba.png" alt="" /></p> <p>When you <strong>first run</strong> backup plan with block-level backup enabled, a <strong>full copy</strong> of each file will be <strong>uploaded</strong> to storage. <strong>Next time</strong> you run the plan, <strong>new files</strong> and only <strong>modified parts</strong> of previously uploaded files are going to be backed up.</p> <p><img src="/content/images/709113ed-46a7-45a0-bbd0-abd3ceae7eae.png" alt="" /></p> <hr /> <h2 id="retentionfullandblocklevelbackup">Retention, Full and Block-Level Backup</h2> <p>To enable retention policy, it is required to <strong>schedule full backup</strong> in addition to regular block-level backup. And it can be specified at the <strong>Full Backup Options</strong> step of the wizard:</p> <p><img src="/content/images/657f8e52-ce28-487c-92ba-6a7e9dc562db.png" alt="" /></p> <p>CloudBerry backup agent purges versions based on</p> <ul> <li><strong>Age</strong> – purges version in X days/weeks/months/years after backup</li> <li><strong>Number</strong> – purges the oldest version once X+1 versions are backed up</li> </ul> <p>Once every backup plan completes, agent confirms retention policy and purges versions if any affected</p> <p><img src="/content/images/6ce42b42-be6b-40f2-9b46-7a8ecbc00a02.png" alt="" /></p> <p>Below we illustrate 14 rounds of 3 versions retention policy applied to an image-based backup plan of the following schedule:</p> <ul> <li>Block-Level (regular) schedule: weekly, every M, Tu, Wd, Fr</li> <li>Full-Backup schedule: weekly, every Th</li> </ul> <p>INTRODUCTION: Each completed backup run (regardless of type) is always available for further restore – represents a restore point. However, not every backup run represents a version of retention policy. With block level backup enabled, <strong>first (oldest) version</strong> equals to a backup chain of the first (oldest) full, plus all further blocks backed up before the next (second) full which represents the second version. Uploaded afterwards block-level backup represents the third. Moreover, the golden rule of the <strong>first-in-first-out CloudBerry retention policy</strong> is that the (oldest) version is always being purged right after one additional version (X+1) is successfully backed up.</p> <p><img src="/content/images/83ebc016-7c1e-4d87-a8a6-8772a61e5676.png" alt="" /></p> <h4 id="day1firstmondayfirstfullf1">Day 1 - First Monday: First Full (F1)</h4> <ul> <li>Backup storage: (F)</li> <li>Number of retention policy versions retained: 1</li> <li>Number of restore points available: 1</li> </ul> <p><img src="/content/images/06938042-0734-46f9-97eb-91d7290cad46.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day2firsttuesdayfirstblocklevelafterfirstfullf1b1">Day 2 - First Tuesday: First Block-Level after First Full (F1B1)</h4> <ul> <li>Backup storage: (F) + (B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 2</li> </ul> <p><img src="/content/images/86654ce9-0da3-454a-9d33-d5cb8ddf78f0.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day3firstwednesdaysecondblocklevelafterfirstfullf1b2">Day 3 - First Wednesday: Second Block-Level after First Full (F1B2)</h4> <ul> <li>Backup storage: (F) + 2(B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 3</li> </ul> <p><img src="/content/images/29e45db3-75f8-44c4-bf63-5e0888c56e0b.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day4firstthursdaysecondfullf2">Day 4 - First Thursday: Second Full (F2)</h4> <ul> <li>Backup storage: (F) + 2(B) + (F)</li> <li>Number of retention policy versions retained: 2 </li> <li>Number of restore points available: 4</li> </ul> <p><img src="/content/images/b784c114-4499-499b-9a2e-ea40635046c7.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day5firstfridayfirstblocklevelaftersecondfullf2b1">Day 5 - First Friday: First Block-Level after Second Full (F2B1)</h4> <ul> <li>Backup storage: (F) + 2(B) + (F) + (B)</li> <li>Number of retention policy versions retained: 3 </li> <li>Number of restore points available: 5</li> </ul> <p><img src="/content/images/f1bc70a1-5734-47a3-b388-58dba687aab0.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day6secondmondaysecondblocklevelaftersecondfullf2b2">Day 6 - Second Monday: Second Block-Level after Second Full (F2B2)</h4> <ul> <li>Backup storage: (F) + 2(B) + (F) + 2(B)</li> <li>Number of retention policy versions retained: 4</li> <li>Number of restore points available: 6</li> </ul> <p><img src="/content/images/495cee5d-c773-4a93-b1c9-1c91f156640b.png" alt="" /></p> <ul> <li>The one oldest version is being purged afterwards</li> <li>Backup storage: (F) + 2(B)</li> <li>Number of retention policy versions retained: 1</li> <li>Number of restore points available: 3</li> </ul> <h4 id="day7secondtuesdaythirdblocklevelaftersecondfullf2b3">Day 7 - Second Tuesday: Third Block-Level after Second Full (F2B3)</h4> <ul> <li>Backup storage: (F) + 3(B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 4</li> </ul> <p><img src="/content/images/643ab3b8-b58d-43eb-a396-93c3d0f55ad8.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day8secondwednesdayfourthblocklevelaftersecondfullf2b3">Day 8 - Second Wednesday: Fourth Block-Level after Second Full (F2B3)</h4> <ul> <li>Backup storage: (F) + 4(B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 5</li> </ul> <p><img src="/content/images/f9af7207-19a3-4c89-bb65-d752dd2f498c.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day9secondthursdaythirdfullf3">Day 9 - Second Thursday: Third Full (F3)</h4> <ul> <li>Backup storage: (F) + 4(B) + (F)</li> <li>Number of retention policy versions retained: 2</li> <li>Number of restore points available: 6</li> </ul> <p><img src="/content/images/ef4d94b3-e7de-4ee8-94ce-2ccd2e8b16d8.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day10secondfridayfirstblocklevelafterthirdfullf3b1">Day 10 - Second Friday: First Block-Level after Third Full (F3B1)</h4> <ul> <li>Backup storage: (F) + 4(B) + (F) + (B)</li> <li>Number of retention policy versions retained: 3</li> <li>Number of restore points available: 7</li> </ul> <p><img src="/content/images/9f335a67-25b5-4ada-8de9-cabbaabcfe79.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day11thirdmondaysecondblocklevelafterthirdfullf3b2">Day 11 - Third Monday: Second Block-Level after Third Full (F3B2)</h4> <ul> <li>Backup storage: (F) + 4(B) + (F) + (B) + (B)</li> <li>Number of retention policy versions retained: 4 </li> <li>Number of restore points available: 8</li> </ul> <p><img src="/content/images/79394769-9191-4fb6-b791-0953dc085a44.png" alt="" /></p> <ul> <li>The one oldest version is being purged afterwards</li> <li>Backup storage: (F) + 2(B)</li> <li>Number of retention policy versions retained: 1</li> <li>Number of restore points available: 3</li> </ul> <p><img src="/content/images/221581ed-81f3-4822-ac4d-339d8f20aa0e.png" alt="" /></p> <h4 id="day12thirdtuesdaythirdblocklevelafterthirdfullf3b3">Day 12 - Third Tuesday: Third Block-Level after Third Full (F3B3)</h4> <ul> <li>Backup storage: (F) + 3(B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 4</li> </ul> <p><img src="/content/images/ee52fe89-110c-4ce6-8192-2bc85a62edd7.png" alt="" /></p> <ul> <li>No purge performed afterwards</li> </ul> <h4 id="day13thirdwednesdayfourthblocklevelafterthirdfullf3b4">Day 13 - Third Wednesday: Fourth Block-Level after Third Full (F3B4)</h4> <ul> <li>Backup storage: (F) + 4(B)</li> <li>Number of retention policy versions retained: 1 </li> <li>Number of restore points available: 5</li> <li>No purge performed afterwards</li> </ul> <h4 id="day14thirdthursdayfourthfullf4">Day 14 - Third Thursday: Fourth Full (F4)</h4> <ul> <li>Backup storage: (F) + 4(B) + (F)</li> <li>Number of retention policy versions retained: 2 </li> <li>Number of restore points available: 6</li> <li>No purge performed afterwards</li> </ul> <p><img src="/content/images/fb7dbd15-e5ba-4ea1-a385-91b09ddd4e5e.gif" alt="" /></p> <hr /> <h2 id="syntheticfullbackup">Synthetic Full Backup</h2> <p>Available with certain cloud storages and CloudBerry image-based backup, <a href="https://www.cloudberrylab.com/resources/blog/synthetic-full-backup-with-cloudberry-backup/">Synthetic Full</a> is a great feature that substitutes regular full backups scheduled along with block-level backups.</p> <p><img src="/content/images/553057a1-77db-4cc3-8673-5bd55b040a62.png" alt="" /></p> <p>If enabled, Synthetic Full Backup replaces regular full, which still has to be scheduled. When synthetic full is initiated, a backup agent compares data on the storage with data on machine, and only uploads the changes. A new full dataset is going to be automatically created in a cloud afterwards. In other words, synthetic full backup just replaces full upload with incremental. NOTE: Please contact us to learn about cloud storage providers supporting Synthetic Full Backup type. </p> <hr /> <h2 id="conclusion">Conclusion</h2> <p>CloudBerry block-level backup software is a perfect solution for everyday backup as it can significantly reduce amounts of data that is moved to a storage each day. However, it is still required to schedule full backups to trigger retention policy which clears storage space from unnecessary old versions. In addition, it is highly recommended to take advantage of Synthetic Full backup if possible.</p> <hr /> <p><center>Contact Us </p> <p><strong>Tech questions</strong>: <a href="mailto:tech@cloudberrylab.com">tech@cloudberrylab.com</a> <br /> <strong>Sales questions</strong>: <a href="mailto:sales@cloudberrylab.com">sales@cloudberrylab.com</a>   </center></p>