windows server 2012重复数据删除


据MS网站提供的描述,重复数据删除是在不损害数据保真度或者完整性的状况下查找和删除数据中的重复。经过将文件分段为小的可变大小的块(32-128KB),识别重复的块以及维护每一个块的副本,在更少的空间中存储更多的数据。块的冗余副本由对单个副本的引用替换。压缩块,而后将其组织到System Volume Information文件夹中的特殊容器文件中。windows

重复数据删除之后,文件再也不存储为独立的数据流,而是用存根指向存储在公共块存储中的数据块替换它们。这些文件共享块只存储一次,就减小了存储全部文件所需的磁盘空间。在文件的访问期间,透明的组装正确的块以提供数据而无需调用应用程序或用户知道对文件的磁盘转换。这使得管理员可以将重复数据删除应用于文件,而无需担忧应用程序行业的任何更改或者对访问这些文件的用户的影响。服务器

上面的图是未启用重复数据删除的存储示例,下面是启用了重复数据删除后文件的存储方式。ide

clipboard

重复数据删除的服务器和卷的要求:工具

1. 服务器硬件要能知足运行windows server 2012的最低条件,如内存不能小于4GB。网站

2. 若是在同一个服务器的上多个卷运行重复数据删除,须要进行适当的硬件规划。一个卷须要1个CPU物理核心以及约350MB的专用内存。每小时能够处理大约100GB的数据或者天天大约2T的数据。重复数据删除在后台处理模式下使用25%的系统内存。 好比,你有16G系统,则可用于重复数据删除的内存为4G,这样,内存能够支持11个卷运行重复数据删除,操作系统

3.重复数据删除一次最多支持90个卷;3d

4. 不能对系统或者启动卷应用重复数据删除,分区能够是MBR或者GPT分区,必须格式化为NTFS格式。orm

本文,咱们经过实验,简要的来看看如何实现重复数据的删除,以及在灾难发生时如何恢复文件的访问。server

1、 安装重复数据删除模块blog

clipboard[1]

2、 对某个分区启用重复数据删除

打开服务器管理器,找到下方的文件和存储服务,选中服务器的某个卷,在卷上配置重复数据删除。

clipboard[2]

clipboard[3]

3、 运行重复数据删除,咱们将对早于0天的文件进行删除重复。

实验环境中,卷E有五个同样的文件夹,未重删之前,占用空间为3.06GB。

clipboard[4]

对于非系统卷、启动卷或者已经开启重复数据删除的卷,还能够运行一个评估工具来查看能够节省的空间。在本实验中,咱们将这五个文件夹复制到F:\data,对这个目录进行重复数据删除能够节约空间的评估。

clipboard[5]

手动触发一次重删工做。

Start-DedupJob –Volume E: –Type Optimization

clipboard[6]

重删完成之后,E盘整个空间占用都只有800多M了,而以前只有那五个文件夹就占用了3.06G

clipboard[7]

咱们能够经过下列命令来查看重删除的效果 get-dedupstatus | format-list

clipboard[8]

而后,咱们再来看看,这五个文件夹,占用的空间大小为0了,也就是说,这些文件并无存储到咱们看到的这个位置,而是放到了System Volume Information那里头了。

clipboard[9]

至此,咱们能够看到,确实是节约了2.45GB的存储空间,节省空间占比接近80%,也印证了那句话:相同的数据只存储一次。 不过windows是对文件进行分块来对比的,而不是对底层的block对比。

接下来,咱们来看看,有一天,OS崩溃了,咱们重装,如何让数据能正常访问。

为了印证文件是否能够访问,我准备将重装后的2012上的,将运行了重复数据删除的文件夹下的一个文件进行复制。结果是没法复制。

clipboard[10]

此时,咱们应该在新装操做系统的服务器上,从新安装重复数据删除的角色,安装完成之后,原来那E盘这个卷设置的重删的相关规则会继承重装前的。不须要额外再进行设置,这样,数据又可以正常访问了。

附:微软重复数据删除连接:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831602(v=ws.11)