将托管磁盘用于 Service Fabric 临时存储

Utilize Managed Disk for Service Fabric temporary storage

是否可以配置和部署使用托管磁盘作为复制器日志和应用等临时存储位置的 Service Fabric 集群 type/versions?

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

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

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

如果您真的想使用这么小的 VM,请考虑更改共享日志文件的大小。

"fabricSettings": [{
    "name": "KtlLogger",
    "parameters": [{
        "name": "SharedLogSizeInMB",
        "value": "4096"
    }]
}]

有关配置的更多信息 here

现在正式回答:

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

需要考虑的一些事项:

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

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