看看他们做了些什么---Blob存储新功能预览

一年一度的维密,不好意思,说错了,是Microsoft Ignite(微软年度IT技术大会)又双叒叕如期在奥兰多举行。不出所料,Ignite照例公布了一系列产品即将到来的新功能(俗话说的话,最好的功能永远在roadmap上)。作为Azure存储基础的Blob,这次有不小的更新,下边就把几个重点的新功能拉出来遛遛。

ZRS

众所周知,传统Azure的数据中心颗粒度是region即区域。在中国,目前有两个区域,华北和华东。基于这种设计,存储的安全性级别有LRS(同region三副本)、GRS(跨region六副本)、RA-GRS(跨region六副本,异地副本可读)。

随着业务发展,Azure开始细化颗粒度,在同一个region里根据物理设施(机房、供电、散热等)和cluster划分不同zone,为客户提供更好的服务。ZRS即将同一个region的数据3副本放到3个不同access zone,以提高同一个region内数据的安全性。

如下图说明了几种不同安全级别的副本存放方式:

mark

ZRS功能已正式上线,在创建storage account时可以看到该选项:

mark

但是ZRS有一定限制,例如不能和其它安全级别相互转换,一些Paas服务(如Meida Service)所用到的storage account不能使用ZRS。所以配置storage account时一定要注意相应的规则。

基于网络的存储访问限制

啦啦啦,这是重头戏。前段时间还有客户问过,对Blob的访问能否进行网络限制,这个功能就出现了。只是目前只在WW的部分账号提供Preview。

进入创建的storage account,可以看到在settings里多出一项Firewalls and virtual networks,点击进入:

mark

如图所示,在此选项里,我们可以通过启用selected networks选择哪些网络可以访问此storage account。

对于Azure内部的vnet,可以通过添加现有的vnet或新建vnet来选择,甚至可以跨订阅:

mark

mark

对于外部网络(internet或客户机房vpn、er接入等),则可以通过添加地址段(ip或CIDR)方式:

mark

另外,还有三个默认规则,可以根据实际需求决定是否启用:

mark

WORM保护

自从安然事件以来,数据防篡改已经成为数据审计的重要检查内容。前些年开始,符合法规遵从的WORM保护(write once read multi)已逐渐成为传统存储的标配功能。在Ignote看到Azure引入此功能还真有些出乎预料。

从介绍来看,重点是:

  • 符合SEC 17a-4(f)法规要求,意味着只要启用该功能,即可满足IT审计合规要求
  • 对hot、cold以及即将GA的archive的blob数据都可使用(低成本的归档worm可大大降低存储成本)
  • 提供审计日志功能
  • 基于保留时间的策略

不清楚的地方:

  • 保护的颗粒度?
  • 是否允许hot、clod转化?
  • 最短和最长的保留时间?

Soft Delete

遇到过几次客户在Azure上的数据误删除,对此提出疑问,既然在Azure的数据至少是三副本,为什么删除不能找回?其实这是混淆了数据副本和数据备份的区别。在Azure上,数据副本保持强一致,任何数据操作(写改删)都要得到得到所有副本commit才认为操作成功,所以数据删除后在所有副本上都丢失了,无法找回。

预计在2018年上半年,Azure将为Blob引入Soft Delete的功能,客户可启用此功能并设置时间期限(最长365天),删除blob后,只要没超过时间期限,就可以找回。领导再也不用担心小王不小心删掉数据了。

当然,如果处于数据安全考虑,客户也可以关掉此功能。

改进的分层存储

Azure引入hot、cold的Blob分层后,越来越多的用户开始利用分层存储节约成本。但是现有的分层还比较粗造,存在很多不足之处,例如只有两层、必须以storage account为单位等。

新的分层存储将有较大改变:

  • 引入archive归档层,单位存储价格更低,适用于长期低频访问的数据,例如医院PACS影像系统,病人看完病后基本无需再使用,但是监管要求需要保留7年,archive将非常适合此类数据的长期保存。与hot、cold不一样,archive属于离线数据,只有metadate在线,所以archive访问时需要数据恢复,以小时为单位。

  • 新的数据分层颗粒度细化到单个blob,而不再以整个storage account为单位设置,同时引入新的api:SetBlobTier来为每个blob设置存储层,GetBlobProperties和ListBlobs显示blob的分层属性。在portal里,单个blob的属性已经可看但access tier的preview,只是目前还无法使用:

    mark

  • 通过数据生命周期管理实现自动化分层,根据数据最后访问时间来自动调整数据的存放层级,降低人工管理的复杂度。

当然,新的功能不止这几项,例如还有AAD整合、加密、Metric等,就不逐一描述了,让我们期待这些功能尽快上线吧。