2016-01-23 35 views
8

Il mio problema: sto imparando il Service Fabric e sto facendo semplici tutorial, e il cluster locale sta riempiendo la mia unità C. Corro i progetti in Visual Studio. Crea prima un cluster in una cartella SfDevCluster. Questo occupa 842 MB di spazio. Quindi distribuisce i servizi e i siti Web API. Ricorda, questi sono tutorial banali con quasi nulla in loro. Ora, noto che ho una cartella con dimensioni = 1,22 TB e dimensioni su disco di 9,4 GB. Non sono sicuro di come interpretarlo. Ma consuma lo spazio rimanente sul mio drive C e attiva gli allarmi. Ho altre unità con molto spazio. Mi piacerebbe specificare che quelli essere utilizzati. C'è un modo per farlo con il fabric fabric cluster utilizzato da Visual Studio? O c'è un modo per limitare le allocazioni di dimensioni eccessivamente ambiziose? E se capisci questo, puoi spiegare cosa significano queste insolite dimensioni di cartella? In passato avrei avuto un disco rigido con molto spazio. Ma ora, la mia macchina per sviluppatori ha un disco SSD molto più veloce, ma più costoso, e lo spazio è un premio. Quindi ho bisogno di più controllo sulla posizione del cluster.Come specificare dove viene creato il cluster di fabric del servizio dello sviluppatore locale?

risposta

21

È possibile impostare un cluster locale che punta a un'unità non di sistema eseguendo lo script DevClusterSetup in PowerShell. È possibile trovare lo script sotto %programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\. La riga di comando che si desidera è:

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

Se si dispone già di un cluster in esecuzione, questo script rimuoverlo e crearne uno nuovo (si noti che questo eliminerà qualsiasi applicazioni distribuite e dei loro dati). Una volta eseguito il nuovo cluster, Visual Studio lo utilizzerà automaticamente quando si distribuisce localmente.

Per quanto riguarda le dimensioni dei file, ciò è dovuto principalmente al file di registro utilizzato per la replica dello stato memorizzato in raccolte affidabili. Un grande, sparse file è preallocato in primo piano, motivo per cui si vede una differenza tra dimensione e dimensione sul disco. Stiamo progettando di rendere questi valori configurabili in modo che possano essere composti su cluster locali.

+0

Solo per aiutare chiunque abbia appena fatto quello che ho fatto, questo deve essere eseguito in x64 powershell come admin –

+0

Funziona bene, ma alla fine cambia nella cartella predefinita. Perché? –

+1

L'ho fatto resettare anche sul mio disco C, @RaulKist. È perché ho utilizzato il Service Cluster Manager di Service Fabric (ovvero la cosa circolare nella barra delle applicazioni su cui è possibile fare clic con il pulsante destro del mouse) per reimpostare, anziché lo script sopra, penso. Quindi, ogni volta che resetti, dovresti sempre usare il comando precedente. – rrreee

2

Nella cartella SDK di Service Fabric (C: \ Programmi \ Microsoft SDK \ ServiceFabric), si trova una cartella ClusterSetup.

Qui sono presenti i file ClusterManifestTemplate.json per le diverse configurazioni del cluster locale. Questi sono i file di configurazione JSON utilizzati dagli script PowerShell che creano e gestiscono il cluster di fabric del servizio locale.

Nella parte inferiore di questi file, in "fabricSettings" viene impostato il valore di FabricDataRoot e FabricLogRoot, in base a "% systemDrive%". Se si sostituisce questo con "D:" dovrebbe risultare in un cluster locale sull'unità D.

Dopo aver apportato queste modifiche, ho arrestato il tessuto locale, eliminato le cartelle di tessuto correnti dall'unità C e riavviato il mio computer. Quando avvio una sessione di debug in VS.2017, crea il fabric dev locale sul mio D drive e distribuisce l'applicazione in quella posizione. (Mi accorgo che alcune cartelle vuote vengono create sul mio drive C ma queste non vengono usate.)

Problemi correlati