2016-01-23 14 views
8

我的问题:我正在学习Service Fabric,并做了简单的教程,并且本地群集正在填充我的C驱动器。我在Visual Studio中运行这些项目。它首先在文件夹SfDevCluster中创建一个群集。这占用了842 MB的空间。然后它部署服务和web api网站。记住,这些都是简单的教程,几乎没有任何内容。现在,我注意到我有一个大小为1.22 TB,大小为9.4 GB的文件夹。我不知道如何解释。但它消耗我的C驱动器上的剩余空间并启动警报。 我有其他驱动器有很多空间。我很想指定那些被使用。有没有办法通过Visual Studio使用的服务结构集群来实现?或者有没有办法限制过于雄心勃勃的规模分配?如果你明白这一点,你能解释一下这些不寻常的文件夹大小的含义吗? 在过去,我会有一个有很多空间的硬盘驱动器。但是现在,我的开发者机器有一个更快,但更昂贵的SSD驱动器,空间是非常宝贵的。所以我需要更多的控制集群位置。如何指定我的本地开发人员的服务架构群集的创建位置?

回答

21

通过在PowerShell中运行DevClusterSetup脚本,可以设置指向非系统驱动器的本地群集。您可以在%programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\下找到该脚本。你想要的命令行是:

.\DevClusterSetup.ps1 -PathToClusterDataRoot <desired_app_and_data_location> -PathToClusterLogRoot <desired_tracelog_location>

如果你已经有了一个集群运行,该脚本将其删除,并创建一个新的(注意,这将删除所有已部署的应用程序及其数据)。运行新的群集后,Visual Studio将在本地部署时自动使用该群集。

至于文件大小 - 这主要是由于用于存储在可靠集合中的状态复制的日志文件。一个大的,sparse file预先分配,这就是为什么你看到磁盘上的大小和大小之间的差异。我们计划将这些值配置为可以在本地群集上进行拨号。

+0

只是为了帮助任何刚刚做了我所做的事情的人,这需要作为管理员在x64 PowerShell中运行 –

+0

工作正常,但它最终会更改回默认文件夹。为什么? –

+1

我把它重置回我的C驱动器,@RaulKist。这是因为我认为我使用了服务结构本地集群管理器(即可以右键单击任务栏中的圆圈)重置,而不是上面的脚本。所以,每当你重置你应该总是使用上述命令。 – rrreee

2

在Service Fabric SDK文件夹(C:\ Program Files \ Microsoft SDKs \ ServiceFabric)中,您将找到一个ClusterSetup文件夹。

在那里你会发现ClusterManifestTemplate.json文件,用于本地集群的不同配置。这些是由创建和管理本地服务结构集群的powershell脚本使用的json配置文件。

在这些文件的底部,在“fabricSettings”中,它将根据“%systemDrive%”设置FabricDataRoot和FabricLogRoot的值。如果将此替换为“D:”,则应该导致D驱动器上的本地群集。

做出这些更改后,我停止了本地结构,从C驱动器中删除了当前结构文件夹,然后重新启动了我的机器。当我在VS.2017中启动调试会话时,它会在我的D驱动器上创建本地开发结构,并将应用程序部署到该位置。 (我注意到在我的C盘上创建了一些空文件夹,但这些文件夹没有被使用。)

相关问题