Azure 存储特色

  • 强一致性:三个备份+纠删编码(三块磁盘都成功写入数据才会显示成功)
  • 数据完整性:基于MD5哈希的数据读写,奇偶校验+防衰减
  • 灾难恢复:支持跨可用性区域和跨区域冗余
  • 高可用:99.9% availability SLA;99.99% for reads with RA-GRS

持久性与高可用性并不相同,SLA的持久性可以到达11个9,GRS可以道道16个9。

存储冗余

微软的最少冗余是三副本,可以保障存储节点不受限制。

LRS:本地冗余存储,3个备份,单区域,保护数据不受磁盘、节点、集群故障影响,所有备份写完,整个写操作才能完成优于双奇偶校验 RAID

GRS:异地冗余存储,6个备份,双区域(3/区域),保护数据不受区灾难影响,采用异步模式将数据备份至备用站点。例如中国会在北京和上海双区域进行存储。

RA-GRS:异地可读冗余存储,GRS+备用站点只读模式,隔离的备用站点终结点(在GRS中,备用站点的数据是不可读的)。

ZRS(Global Azure):可用性区域存储(又称纵区域存储),存在三个纵,这三个纵都是一个独立的故障隔离域,包括电源、制冷、网络等,当任何一个纵有问题时,保障数据可访问。

持久性和可用性

中断方案 LRS ZRS GRS/RA-GRS
数据中心内的节点变为不可用
整个数据中心(区域或非区域性)不可用
主要区域发生区域范围的服务中断
如果主区变得不可用,可对次要区域进行读取访问 是(RA-GRS)

存储类型

在使用存储之前,必须先创建一个存储账号,在存储账号中创建不同的存储类型。

Blobs:对象存储

  • 存储大量非结构化对象存储
  • Https等协议访问
  • 没有目录结构
  • 应用:web网页上的图片、视频、css定义等
  • Blob分层:热(经常使用)/冷(不经常使用)/存档(一两年都不会访问的文件),在Azure上越热的BLob越贵

Blob分为三种存储:

  • 块Blob :文件
  • 页Blob :非托管磁盘
  • 追加Blob :日志

表:表存储

  • 存储结构化NoSQL数据
  • 存放大量的实体(Key-Value)
  • 实体大小最大为1MB
  • 每个实体最多可包含252个属性

队列:Queen

  • 分布式队列
  • 存储大量的消息
  • 一条消息最大为64KB
  • 消息可以在队列中保留7天

磁盘:块存储

  • 高级SSD磁盘:更高的IOPS,更低的延迟,最大支持32TB和20000IOPS
  • 标准SSD磁盘:和HDD几乎相同的IOPS和IO,但延迟更低
  • HHD磁盘:默认单盘500IOPS/disk,最大支持单盘32TB,2000IOPS,500MB IO

托管磁盘

尽可能使用托管磁盘,磁盘账户会有最大IOPS值

  • 使用托管磁盘不需要磁盘账户
  • 可以随时切换HDD & SSD
  • 按照大小计费

非托管磁盘

  • 需要使用磁盘账户
  • 区分使用HDD跟SDD
  • IOPS限制
  • 用多少算多少

文件共享:传统意义上的NAS

  • 支持SMB/NFS协议访问的完全托管文件共享

其他Global Azure 上的存储

超级SSD(Global Azure):

  • 最大支持64TB
  • 最大吞吐2000MB
  • 最大IOPS 160000

Avere vFXT for Azure(Global Azure):混合存储

  • 云中NAS解决方案
  • 存储在Blob Storage中支持混合部署
  • 可根据需求进行缩放

Azure NetApp File(Global Azure):文件存储

  • 在NetApp ONTAP存储OS基础上构建
  • 提供一致的Azure体验和类似本地的性能

Azure磁盘 - 负载选型

Ultra(超级SSD):大量读写

  • SAP HANA
  • 本地的闪存阵列
  • 数据库的日志磁盘

Premium SDD:IO密集型并且要求IOPS延迟低

  • mysql、oracle
  • mongoDB、redies

Standard SSD

  • 网络服务器

Standard HDD

  • 开发、测试、备份
  • 大容量存储

虚拟机临时磁盘

  • 默认挂在点为D: 驱动器或者/mnt/resource
  • 用作内存交换分区
  • 不可存放用户数据
  • 丢失无法恢复

存储访问工具

Azure Storage Explorer:图形化工具,像文件浏览器一样

PowerShell Azcopy:在windows和linux下应用,通过命令行操纵文件

Azure Import/Export 和 Azure Date Box:将自己数据中心的数据复制到介质上,再将数据存储到Azure的存储账号上。