日期:2014-05-18  浏览次数:20430 次

差異備份問題【100分】
有沒有辦法計算出差異備份文件的大小,在未備份前?

------解决方案--------------------
假设以下条件:

 需要每周完全备份 1 TB 的用户数据。

 需要每天进行增量备份。

每天大约有 10% 的数据会发生更改。

上两个备份周期的数据是联机的,并可用于快速恢复。

 在一个有 20 个插槽的存储库中使用 2:1 压缩的 LTO 磁带驱动器。

 尽可能有效率地使用所有介质。

首先,计算存储当前备份操作的输出所需的容量。LTO 介质元素的原始容量为 200

GB,压缩比例为 2:1。减去 10% 用于开销的容量后,实际容量接近 180 GB。因此

完成 1 TB 数据的完全备份需要:

1 TB ÷ 180 GB / 介质元素 = 6 个介质元素

添加一个 5-10% 安全容差(本例中为 1 盘磁带)时,需要 7 个 LTO 磁带来存储完

全备份。根据估计的数据更改比率,增量备份的数据量为:

1 TB × 10% 更改数据 / 增量备份 × 5 个增量备份 = 500 GB 更改数据

因此,需要的介质元素至少为:

500GB ÷ 180 GB / 介质元素 = 3 个介质元素

由于三盘磁带 (500 GB) 提供了 9% 的安全容差,因此不需要额外添加磁带。只需三

盘磁带就可以存储单个增量备份数据集。

下一步,计算联机恢复数据需要的存储空间。由于需要在存储库中保留上两次的备

份集,因此要保存最旧和最新的恢复数据集,分别需要 10 盘磁带。要保存全部恢复

数据,需要 20 盘磁带。

因此,总存储要求如下所示:

用于当前备份的 10 盘磁带 + 用于恢复数据的 20 盘磁带 = 30 盘磁带

接下来,减去清洗插槽,以计算存储库容量:

20 个插槽/ 存储库 - 1 个清洗插槽 = 19 个可用插槽

因此,还缺少 11 个插槽,必须执行以下操作之一:

添加一个存储库。

压缩已存储的数据。

只联机存储一个恢复数据集。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/csucxcc/archive/2008/03/04/2146266.aspx


这个已经很强大了
------解决方案--------------------
这个貌似不好计算吧
最简单的方法,看下上次完全备份的大小,用这次的数据库文件(实际数据大小而不是占空间大小)+日志文件的大小减去上次的就是差异的大小了吧?
但是计算上次差异备份到这次备份估计不好算,可能还得追述上次完整大小+上次差异备份大小-目前数据库大小-日志大小。
------解决方案--------------------
這不是根本的解決方法。
你需要給備份文件存放預留足夠的磁盤空間,具體留多大,可以根據歷史情況促羅評估一下作為參考。
------解决方案--------------------
首先知道数据库压缩率(在上一次备份前看下数据库大小,备份后看下备份文件的大小,得出压缩率,)这次备份的时候在看下数据库的大小,不就能计算个差不多了吗?
------解决方案--------------------
探讨
引用:
lz是硬盘不够才要计算的吗??还是为了学习


不是,數據庫在備份時,如果磁盤還有部份空間,可能根本就放不下那麼多數據,然而數據庫備份還是能夠進行的,但是磁盤空間耗用殆盡后,就會報錯;這樣一來不是浪費了很多資源,我是想讓它備份前檢查,如果備份不下就不備份。

------解决方案--------------------
根据个人对差异备份的理解:
大小应该是:发生变化的页+新增的页,每个页为8k

发生变化的页 这个不好估算,有一个内部存储页差异位图记录这个变化,需要楼主对自己数据库的平均变化率有
统计数据才行。
新增的比较简单和上一次的全备份的数据库大小比较一下就可以计算。