私の問題:Service Fabricを学び、簡単なチュートリアルを行っています。ローカルクラスターがCドライブをいっぱいにしています。 Visual Studioでプロジェクトを実行しています。まず、SfDevClusterフォルダーにクラスターを作成します。これには842 MBのスペースが必要です。次に、サービスとWeb APIサイトをデプロイします。これらはほとんど何も含まれていない簡単なチュートリアルです。今、私はサイズ= 1.22 TBおよびディスク上のサイズ9.4 GBのフォルダーを持っていることに気づきました。それをどのように解釈するかわかりません。しかし、それは私の残りのスペースを消費しますCドライブとアラームをオフに設定します。多くのスペースを持つ他のドライブがあります。それらを使用することを指定したいのですが、Visual Studioで使用されるService Fabricクラスターでそれを行う方法はありますか?または、制約する方法はありますか?非常に野心的なサイズの割り当てですか?これを理解できたら、これらの異常なフォルダーサイズの意味を説明できますか?昔は、多くの容量のあるハードドライブがありましたが、今では私の開発用マシンの方がはるかに高速ですが、より高価なSSDドライブであり、スペースは非常に貴重なので、クラスターの場所をより詳細に制御する必要があります。
PowerShellでDevClusterSetupスクリプトを実行することにより、非システムドライブを指すローカルクラスターをセットアップできます。スクリプトは%programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\
にあります。必要なコマンドラインは次のとおりです。
.\DevClusterSetup.ps1 -PathToClusterDataRoot <desired_app_and_data_location> -PathToClusterLogRoot <desired_tracelog_location>
すでにクラスターを実行している場合、このスクリプトはそれを削除して新しいクラスターを作成します(これにより、デプロイされたアプリとそのデータが削除されることに注意してください)。新しいクラスターを実行すると、Visual Studioはローカルに展開するときに自動的にそれを使用します。
ファイルサイズについては、これは主に、信頼できるコレクションに格納されている状態のレプリケーションに使用されるログファイルが原因です。大きな スパースファイル は事前に事前に割り当てられているため、ディスク上のサイズとサイズの違いがわかります。これらの値を構成可能にして、ローカルクラスターでダイヤルダウンできるようにする予定です。
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ドライブにいくつかの空のフォルダーが作成されていますが、これらは使用されていません。)