设为首页 收藏本站
查看: 2352|回复: 2

[经验分享] Windows Server 存储空间之存储分层和缓存管理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-21 11:31:57 | 显示全部楼层 |阅读模式
存储空间存储分层
在谈到存储分层之前,我们需要了解Windows Server存储空间里面包含了多少层以及如何定义每一个分层。基于读写性能快慢的相对值,存储空间分为两个数据存储层,一个存储层为快速层,通常由SSD硬盘提供,用于存储热数据,也即经常访问的数据;另一个存储层为慢速层,通常由HDD硬盘提供,用于存储冷数据,也即不经常访问的数据。默认情况下,存储空间具有这两个存储速率不同的存储层的虚拟磁盘,存储分层目的在于平衡 SSD性能和硬盘驱动器 (HDD)容量。在存储层都有可用空间时,新的数据通常往慢速层写入,然后存储空间将会根据访问数据的频率,以透明方式在两个层之间移动子文件级的数据。存储层可以通过将最常用的热数据移到SSD存储来满足热数据的性能要求,将冷数据移动到HDD层来满足普通数据的容量要求。存储分层工作原理如图1所示。        
QQ截图20170321113110.png                     
图1存储空间分层技术
存储控制器服务器操作系统Windows Server 2012和Windows 8及后续版本内置了存储分层管理服务(Storage Tiers Management Service),该服务在安装Windows Server文件服务器角色后被激活处于运行状态。存储分层管理服务可以自动计算数据热度并按照默认策略在每天晚上1点启动冷热数据移动。要观察存储分层任务和行为,可以登录存储控制器服务器,打开服务器的控制面板里找到计划任务程序,在计划任务程序里依次展开“计划任务程序”—“Microsoft”—“Windows”下找到名为“Storage TiersManagement”的项目,打开Storage Tiers Optimization 属性,在触发器选项卡里我们就能看到存储分层管理服务在每天凌晨1点触发冷热数据迁移的计划任务,如图2所示。这个默认设置不是一成不变的,可按照需求和实际情况修改触发分层任务的时间。  
QQ截图20170321113116.png
图2存储空间自动分层任务
       除了修改分层操作任务的触发时间,还可以不依赖计划任务程序完成存储分层。为了找到Storage Tiers Management Service如何实现存储分层,我们可以从预置的计划任务里找到分层操作相关的命令和参数。点击Storage Tiers Optimization 属性窗口的操作选项卡,在详细信息栏可看到Storage Tiers Management Service所执行的具体任务和相关参数,事实上存储分层使用defrage命令和-c -h -g -#这4个参数完成,如图3所示。
QQ截图20170321113121.png
图3存储空间分层调度操作
       获取到分层存储命令及参数后,我们就可以使用命令手动触发冷热数据迁移了,只要在命令提示符里输入C:\ Windows\system32\defrag.exe-c -h -g -#即可。
如果熟悉Windows里磁盘优化(碎片整理)会发现做存储分层移动的命令和磁盘碎片整理的命令一样,只是参数不同。在Windows Server 2012/Windows 8之前的版本里微软并没有引入存储空间,也没有存储分层这个技术,所以使用defrag.exe /? 命令获取帮助后,在Windows Server2012 R2/Windows 8.1系统里面会多出-g这个参数。这个参数非常重要,其意义意义在于优化存储层,按照数据热度为数据找到合适的存储层。
需要强调的是,存储分层基于数据的粒度而非文件的粒度,存储分层服务按照1MB的单位分析和移动数据。如果文件大于1MB,而且只有部分“热”数据,那么一个文件只有一定比例的数据会被移动到SSD层,比如有一个虚机虚拟磁盘上面的数据只有20%热数据,只有这20%的数据会被移动到SSD分区,而不会把整个虚拟磁盘文件移动到SSD分区。举个实际的例子,一台虚机的VHDX大小一共100GB,里面安装了SQL Server 实例,在实例下20GB的数据库和日志文件用于交易系统,该交易系统每天产生过万条交易,那么这20GB的数据将会移动到SSD分区,而剩余的80GB系统文件和其他文件的数据则不一定会移动到SSD分区。至于存储空间如何进行数据热度计算,请参考另外一篇博客《Windows Server 软件定义存储—存储空间IO的分发》http://ichbinleo.blog.iyunv.com/11948851/1900880
存储分层是后台自动运行数据迁移的过程,如果某些特定的虚机需要持续运行在高速的SSD层,或者对性能要求不高的虚机需要固定在大容量的HDD层来为其他虚机提供更多的快速SSD层,则可以考虑使用固定命令将该文件固定到某个磁盘层。固定和分层不同的是分层是数据级别操作的,而固定是文件级别操作的。比如要将[url=]\\FileServer\Share\VM01.VHDX[/url]固定在SSD层,按照如下步骤完成:
(1) 运行PS C:\>Get-StorageTier|ft FriendlyName PowerShell命令获取已有分层友好名。
(2)返回如下结果,根据MediaType选择类型为SSD的层。
1
2
3
4
FriendlyName      MediaType   
------------      ---------      
SSDTier           SSD      
HDDTier           HDD



(3)运行以下示例命令将VM01的虚拟磁盘固定到SSD层,使用Clear-FileStorageTier解除将文件固定到某一层。
1
PS  C:\> Set-FileStorageTier -FilePath "\\FileServer\Share\VM01.VHDX  " -DesiredStorageTierFriendlyName  "SSDTier" SSD



运行固定文件的命令,存储不会立刻将文件数据移动到指定的分层,而是等待下一次磁盘分层优化运行任务开始才开始,如果等不及,那么就按上面提到的方法,在计划任务程序、命令提示符或者PowerShell里手动触发数据移动操作。

存储空间缓存管理
在传统存储中,存储包含了读缓存命中和写缓存,写缓存又分为回写(Write-back)和透写(Write-through)缓存,在缓存机制中还具备缓存镜像和缓存保管等技术防止掉电等故障造成缓存数据的丢失。在Windows Server SDS里我们同样具备相似的缓存技术,我们先看看Windows Server SDS的回写缓存。

回写缓存
应用通常都是以小数据随机写入到存储,作为SSD硬盘重要属性,回写缓存可以将小的随机写入缓存到SSD硬盘避免发生过多次数的磁盘写入I/O。从Windows Server 2012 R2 开始,存储空间支持创建回写式缓存,缓存使用池中SSD上的少量空间来缓冲小规模随机写入操作并减小对其他并行的数据写入的影响,并通过降低随机写入的延迟来提高存储的写入性能。常见的工作负载随机写入操作将定向到 SSD缓存,稍后再写入 HDD。回写缓存另外的用途在于对数据进行掉电保护。存储空间如果存在SSD硬盘,虚拟磁盘会默认创建大小为1GB的回写缓存空间,如图4所示。
回写缓存对管理员来说是透明的,存储空间在有足够数量的SSD的前提下,新建虚拟磁盘的同时将创建好回写缓存。磁盘布局和对SSD数量要求说明如下:
  • 简单布局要求具有一块SSD硬盘;
  • 双重镜像和单奇偶校验要求具有两块SSD硬盘;
  • 三重镜像和双奇偶校验要求具有三块SSD硬盘。

QQ截图20170321113129.png
图4回写缓存
Journal
我们在设置硬盘用途的时候硬盘的Usage参数里有个Journal值,Journal(暂无信达雅的中文翻译)和回写缓存有着类似的作用,都是负责处理重新组织路径上活动的I/O,但是在存储空间里,二者的作用和设置有明显的区别。Journal只能用于奇偶校验布局的存储空间,回写缓存适用于所有的存储空间布局,并能支持分层存储。我们可以为奇偶校验的存储空间设置专用的Journal硬盘,通常使用快速的SSD硬盘,配置了专用Journal硬盘的奇偶校验存储空间能很大程度上提高存储写入性能,尤其是顺序写入的时候,此外,使用两块以上的Journal硬盘可以实现自身的镜像保证I/O的冗余。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-352994-1-1.html 上篇帖子: win2003添加删除windows组件中无iis应用程序服务器项的解决方法 下篇帖子: Windows Server 存储空间之存储冗余 Windows 空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表