使用托管磁盘进行 Service Fabric 临时存储

Bre*_*obi 0 azure-service-fabric

是否可以配置和部署使用托管磁盘作为复制器日志和应用程序类型/版本等内容的临时存储位置的 Service Fabric 群集?

例如,我无法使用 A1_v2 VM 实例大小,因为 D:(临时存储)驱动器太小。如果我可以利用托管磁盘并将 SF 配置为使用它而不是本地 SSD,那么此实例大小将适用于我的开发/测试场景。

知道我是否以及如何才能完成这项工作吗?

mas*_*der 5

免责声明:您可以这样做,但不应该这样做。详细信息如下。

如果您确实想使用如此小的虚拟机,请考虑更改共享日志文件的大小。

"fabricSettings": [{
    "name": "KtlLogger",
    "parameters": [{
        "name": "SharedLogSizeInMB",
        "value": "4096"
    }]
}]
Run Code Online (Sandbox Code Playgroud)

有关配置的更多信息请参见此处

现在来实际回答一下:

是设置。您可能会更改 Setup/FabricDataRoot 以移动 Service Fabric 本地安装和所有本地应用程序工作目录,和/或更改 TransactionalReplicator/SharedLogPath 以移动可靠集合共享日志。

需要考虑的一些事项:

Service Fabric 服务(以及 Service Fabric 本身)是为在本地磁盘上工作而构建的,通常不应托管在 XStore 支持的磁盘(无论是否为高级)上:

  • Reliable Collections 绝对是为针对本地驱动器运行而构建的。据我所知,没有任何内部测试可以在此配置中运行它们。
  • IO 浪费:假设 LRS 复制更改 3 次,并且您将 TargetReplicaSetSize 设置为 3,则此配置将生成 9 个状态副本。您需要 9 份您所在州的副本吗?
  • 对延迟和性能的影响:本地磁盘IO将变成网络+磁盘IO,这有可能损害你的性能。
  • 对可用性的影响:至少您要添加另一个依赖项,这通常会降低整体可用性。如果存储出现问题,您现在可以更好地与其他服务结合。如今,由于 VMSS 驱动器由 blob 支持,因此您的耦合度已经很高,因此 VM 配置将会失败,但这与服务的读/写/激活路径不同。