Installazione e configurazione automatica (Memorizzazione nella cache di Windows Server AppFabric)

In questa sezione viene descritta la procedura per l'installazione e la configurazione automatizzate delle funzionalità di memorizzazione nella cache di Windows Server AppFabric. In un'installazione automatica l'utente non visualizza alcuna interfaccia in quanto tutte le opzioni vengono specificate dalla riga di comando. Per aggiungere un host di cache a un cluster di cache o per rimuovere un host di cache da un cluster di cache esiste una sequenza di comandi specifica. In questa sezione vengono descritti i comandi per entrambi gli scenari. È anche possibile utilizzare la Configurazione guidata di AppFabric per configurare le funzionalità di memorizzazione nella cache tramite un'interfaccia utente. Per ulteriori informazioni sulla Configurazione guidata di Windows Server AppFabric, vedere Configurare Windows Server AppFabric.

In questa sezione la procedura di installazione automatica viene suddivisa in cinque attività:

  • Installazione delle funzionalità di memorizzazione nella cache di Windows Server AppFabric

  • Creazione di un nuovo cluster di cache

  • Aggiunta di un host di cache

  • Rimozione di un host di cache

  • Rimozione di un cluster di cache

Per informazioni sugli script di PowerShell che automatizzano la procedura, vedere i seguenti esempi:

Suggerimento

Per informazioni di base sull'avvio e sull'esecuzione dei comandi di Windows PowerShell, vedere Utilizzo di Windows PowerShell per la gestione delle funzionalità di Memorizzazione nella cache di Windows Server AppFabric.

Suggerimento

Sebbene alcuni dei comandi seguenti debbano essere eseguiti localmente sull'host di cache di destinazione, Windows PowerShell supporta l'esecuzione dei comandi su computer remoti. Per ulteriori informazioni, vedere Esecuzione di comandi remoti

Installazione delle funzionalità di memorizzazione nella cache di Windows Server AppFabric

Prima di creare un nuovo cluster di cache o configurare la memorizzazione nella cache di AppFabric in un host di cache, è necessario installare le funzionalità di memorizzazione nella cache di Windows Server AppFabric. Per istruzioni sull'installazione invisibile all'utente di AppFabric, vedere Installazione automatica. Le funzionalità di memorizzazione nella cache includono:

  • CachingService

  • CacheClient

  • CacheAdmin

Si consideri ad esempio uno scenario in cui il file binario di installazione sia denominato Setup.exe. Si noti che il nome effettivo del file binario varia in base alla piattaforma scelta. In questo esempio viene illustrato come eseguire un'installazione invisibile all'utente delle funzionalità di memorizzazione nella cache di AppFabric su un server:

Setup.exe /install /i cachingservice,cacheclient,cacheadmin /l:c:\temp\setup.log

Si noti che in questo esempio il percorso del file di log è c:\temp\setup.log. In questo file di log è possibile analizzare i risultati dell'installazione.

Dopo aver installato su un computer le funzionalità di memorizzazione nella cache di AppFabric, è necessario configurarle. Nelle sezioni seguenti vengono descritti i passaggi necessari per automatizzare il processo.

Creazione di un nuovo cluster di cache

Se si crea un nuovo cluster di cache, è necessario chiamare prima il comando New-CacheCluster di Windows PowerShell. Quando si crea un nuovo cluster di cache, è necessario stabilire dove archiviare le impostazioni di configurazione del cluster. È possibile scegliere di utilizzare il provider System.Data.SqlClient, il provider XML o un provider personalizzato. Per ulteriori informazioni, vedere Modello configurazione.

Nell'esempio seguente viene creato un cluster di cache di dimensioni ridotte. Le impostazioni di configurazione del cluster di cache vengono memorizzate in un computer SQL Server denominato SQLServer1 con un database esistente denominato CacheClusterConfigurationDB.

New-CacheCluster -Provider System.Data.SqlClient -ConnectionString  "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Size Small

Nota

Si noti che, se si utilizza il mirroring del database di SQL Server per aumentare la disponibilità del cluster di cache, è necessario specificare il partner di failover nella stringa di connessione. Per ulteriori informazioni, vedere Configurazione di cluster basati su SQL Server.

Nell'esempio seguente viene creato un cluster di cache di grandi dimensioni. Le impostazioni di configurazione vengono archiviate in un file XML su una condivisione di rete denominata \\Server1\CacheConfigShare.

New-CacheCluster -Provider XML -ConnectionString  "\\Server1\CacheConfigShare" -Size Large

In entrambi gli esempi il chiamante dovrà disporre delle autorizzazioni adeguate per il percorso di archiviazione della configurazione. Per accedere a System.Data.SqlClient, il chiamante deve essere un db_owner del database di destinazione oppure un membro del ruolo sysadmin nell'istanza di SQL Server. Per accedere a XML, il chiamante deve disporre di autorizzazioni di proprietario per la cartella condivisa.

Aggiunta di un host di cache

Per aggiungere un host di cache a un cluster di cache esistente, è necessario eseguire i seguenti passaggi nell'ordine indicato:

Comando/Passaggio Descrizione

Register-CacheHost

Consente di registrare l'host di cache nel cluster di cache.

Add-CacheHost

Configura l'host di cache come parte del cluster di cache.

Add-CacheAdmin

Se si desidera, consente di configurare Amministrazione cache nell'host di cache corrente.

Configurazione del firewall

Consente il servizio AppFabricCachingService attraverso il firewall. Consente inoltre la Gestione remota servizi.

Start-CacheHost

Avvia il nuovo host della cache.

Register-CacheHost

Il comando Register-CacheHost consente di registrare un host di cache in un cluster di cache esistente. Ciò comprende anche la definizione dei numeri di porta e l'account Windows per il Servizio di memorizzazione nella cache. I parametri Provider e ConnectionString specificano il cluster di cache di destinazione per il nuovo host della cache.

Nell'esempio seguente il computer host della cache, CacheServer1, viene aggiunto a un cluster di cache il cui archivio di configurazione si trova in un file XML nella condivisione di file \\Server1\CacheConfigShare. Per l'identità del Servizio di memorizzazione nella cache viene utilizzato l'account NT Authority\Network Service predefinito.

Register-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare"  -Account "NT Authority\Network Service" -CachePort 22233 -ClusterPort 22234  -ArbitrationPort 22235 -ReplicationPort 22236 -HostName  CacheServer1

Si noti che per il provider XML è necessario che il chiamante abbia il controllo completo sulla condivisione di rete di destinazione. Per il provider System.Data.SqlClient, il chiamante deve disporre delle autorizzazioni di lettura, scrittura, creazione di registrazioni SQL e aggiunta di autorizzazioni al database di destinazione.

A differenza di molti altri comandi di configurazione, il comando Register-CacheHost accetta un parametro HostName, pertanto può essere eseguito in remoto.

Add-CacheHost

Il comando Add-CacheHost configura l'host della cache perché diventi parte del cluster di cache esistente. I parametri Provider e ConnectionString specificano il cluster di cache di destinazione per il nuovo host della cache.

Nell'esempio seguente viene illustrato come chiamare Add-CacheHost.

Add-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare" -Account "NT Authority\Network Service"

Si noti che questo comando deve essere eseguito localmente sull'host di cache in fase di configurazione. Questo comando, inoltre, deve essere eseguito da una sessione di Windows PowerShell elevata con privilegi di amministratore.

Avviso

È necessario fornire un valore per il parametro Account per il comando Add-CacheHost. Se non si specifica un account, le autorizzazioni non verranno configurate correttamente per il Servizio di memorizzazione nella cache. Si noti che in un ambiente di dominio in cui è abilitata la protezione, si deve utilizzare l'account NT Autority\Network Service.

Add-CacheAdmin

Facoltativamente, è possibile utilizzare il comando Add-CacheAdmin per configurare la funzionalità di Amministrazione cache su un host della cache. Ciò consente di amministrare il cluster di cache dal computer in uso utilizzando i comandi di Windows PowerShell. È necessario che la funzionalità Amministrazione cache sia installata sul computer.

Nel seguente esempio viene illustrato come chiamare Add-CacheAdmin.

Add-CacheAdmin -Provider XML -ConnectionString  "\\Server1\CacheConfigShare"

Si noti che questo comando deve essere eseguito localmente sull'host di cache in fase di configurazione. Deve inoltre essere eseguito da una sessione di Windows PowerShell elevata con privilegi di amministratore.

Configurazione del firewall

Per utilizzare correttamente le funzionalità di memorizzazione nella cache di AppFabric, è necessario eseguire la configurazione per il servizio DistributedCacheService.exe. Per impostazione predefinita il servizio viene installato nella directory C:\Windows\System32\AppFabric.

Se si utilizza Windows Firewall, è possibile abilitare un gruppo di criteri firewall che verranno installati automaticamente con AppFabric. I seguenti comandi di Windows PowerShell abilitano il gruppo di criteri firewall denominato "Windows Server AppFabric: Servizio di memorizzazione nella cache di AppFabric". È inoltre necessario abilitare le regole firewall "Gestione remota servizi" per abilitare il controllo remoto del Servizio di memorizzazione nella cache di AppFabric.

netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=Yes

Start-CacheHost

Se si desidera abilitare il nuovo host di cache perché faccia parte del cluster di cache, è necessario avviare l'host della cache. Se il cluster di cache non è attivo, è necessario avviare l'intero cluster di cache. Il cluster di cache non è attivo se tutti gli host non sono disponibili. Questa condizione può essere rilevata chiamando il comando Get-CacheHost senza parametri.

Get-CacheHost

Se per tutti gli host viene rilevato lo stato del servizio DOWN, avviare il cluster di cache con il comando Start-CacheCluster.

Start-CacheCluster

Tuttavia, se per almeno un host lo stato del servizio è UP, il cluster di cache è in esecuzione. In questo caso, utilizzare il comando Start-CacheHost.

Start-CacheHost -Hostname CacheServer2 -CachePort 22233

Si noti che, dopo un riavvio del computer dell'host della cache, il Servizio di memorizzazione nella cache non si riavvia automaticamente. È necessario utilizzare il comando Start-CacheHost oppure Start-CacheCluster, in base allo stato del cluster di cache.

Questo comando, inoltre, deve essere eseguito da una sessione di Windows PowerShell elevata con privilegi di amministratore.

Avviso

Utilizzare sempre i comandi di Windows PowerShell per avviare e arrestare il Servizio di memorizzazione nella cache. Non avviare né arrestare mai il servizio AppFabricCachingService direttamente dal programma Servizi di Strumenti di amministrazione.

Rimozione di un host di cache

Per rimuovere un host di cache da un cluster di cache esistente, è necessario eseguire i seguenti passaggi nell'ordine indicato.

Comando/Passaggio Descrizione

Stop-CacheHost

Arresta l'host della cache se è in esecuzione.

Unregister-CacheHost

Annulla la registrazione dell'host della cache nel cluster di cache.

Remove-CacheHost

Rimuove la configurazione dell'host della cache dal computer.

Remove-CacheAdmin

Facoltativamente, consente di rimuovere la configurazione della funzionalità Amministrazione cache.

Configurazione del firewall

Rimuove tutte le eccezioni del firewall per il Servizio di memorizzazione nella cache.

Stop-CacheHost

Se si desidera rimuovere un host di cache da un cluster esistente, è necessario prima arrestare l'host della cache. È possibile determinare se l'host di cache è in esecuzione chiamando il comando Get-CacheHost. Nell'esempio seguente viene spiegato come visualizzare le informazioni sull'host della cache per l'host di cache locale.

Get-CacheHost -HostName localhost -CachePort 22233

Sebbene il comando precedente fornisca informazioni su un host di cache specifico, è necessario considerare sempre lo stato dell'intero cluster di cache prima di arrestare qualsiasi host di cache. Per farlo, chiamare il comando Get-CacheHost senza parametri.

Get-CacheHost

Di seguito viene illustrato un output di esempio di questo comando per un cluster di cache con due server.

HostName : CachePort      Service Name            Service Status Version Info
--------------------      ------------            -------------- ------------
CacheServer1:22233        AppFabricCachingService UP             1 [1,1][1,1]
CacheServer2:22233        AppFabricCachingService UP             1 [1,1][1,1]

In questo esempio, sia CacheServer1 che CacheServer2 sono in esecuzione. È possibile tentare di arrestare uno di questi host di cache e lasciare il cluster di cache operativo tramite l'altro host della cache. Nell'esempio seguente viene illustrato come arrestare CacheServer2 con il comando Stop-CacheHost.

Stop-CacheHost -HostName CacheServer2 -CachePort 22233

Si noti che tutti i dati memorizzati nell'host di cache arrestato andranno persi. Il tentativo di arrestare l'host di cache, inoltre, non riuscirà nel caso in cui comporterebbe la perdita del quorum degli host principali o secondari. Per ulteriori informazioni sugli host principali, vedere Host principali e gestione cluster. Per ulteriori informazioni sugli host secondari, vedere Disponibilità elevata In questi casi è necessario arrestare l'intero cluster di cache con il comando Stop-CacheCluster.

Se l'arresto dell'host di cache comporta l'arresto del cluster di cache, utilizzare il comando Stop-CacheCluster. Ad esempio, si prenda in considerazione il seguente output di esempio del comando Get-CacheHost.

HostName : CachePort      Service Name            Service Status Version Info
--------------------      ------------            -------------- ------------
CacheServer1:22233        AppFabricCachingService DOWN           1 [1,1][1,1]
CacheServer2:22233        AppFabricCachingService UP             1 [1,1][1,1]

In questo esempio, CacheServer1 è stato arrestato e CacheServer2 è in esecuzione. L'arresto di CacheServer2 renderebbe il cluster inattivo. Invece di utilizzare il comando Stop-CacheHost per arrestare CacheServer2, utilizzare il comando Stop-CacheCluster.

Stop-CacheCluster

Questo comando deve essere eseguito da una sessione di Windows PowerShell elevata con privilegi di amministratore.

Unregister-CacheHost

Il comando Unregister-CacheHost rimuove l'host della cache dal cluster di cache.

Se questo comando viene eseguito prima di Remove-CacheHost, non è necessario specificare i valori per i parametri Provider o ConnectionString. Se il comando viene eseguito localmente, non è inoltre necessario specificare un valore per il parametro HostName, .

Unregister-CacheHost -RemoveServicePermissions

Nell'esempio seguente viene annullata la registrazione di un host di cache specificando il provider, la stringa di connessione e il nome host. Rimuove un host della cache denominato CacheServer2 da un cluster di cache. Questo cluster di cache utilizza il provider System.Data.SqlClient, di conseguenza la stringa di connessione è una stringa di connessione SQL Server su un server di database denominato SQLServer1 e un database di configurazione denominato CacheClusterConfigurationDB.

Unregister-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"  + -HostName CacheServer2 -RemoveServicePermissions

Si noti che per il provider XML è necessario che il chiamante abbia il controllo completo sulla condivisione di rete di destinazione. Per il provider System.Data.SqlClient, il chiamante deve disporre di autorizzazioni di lettura, scrittura, rimozione di registrazioni SQL e rimozione di autorizzazioni sul database di destinazione.

A differenza di molti altri comandi di configurazione, il comando Unregister-CacheHost accetta un parametro HostName e, pertanto, può essere eseguito in remoto.

Remove-CacheHost

Il comando Remove-CacheHost rimuove la configurazione dell'host della cache dal server.

Remove-CacheHost

Si noti che questo comando deve essere eseguito localmente sull'host di cache in fase di configurazione. Questo comando, inoltre, deve essere eseguito da una sessione di Windows PowerShell elevata con credenziali amministrative.

Remove-CacheAdmin

Se sull'host della cache è configurata la funzionalità di Amministrazione cache, è possibile rimuoverla con il comando Remove-CacheAdmin.

Remove-CacheAdmin

Si noti che questo comando deve essere eseguito localmente sull'host di cache in fase di configurazione. Questo comando, inoltre, deve essere eseguito da una sessione di Windows PowerShell elevata con credenziali amministrative.

Configurazione del firewall

È necessario rimuovere o disabilitare tutte le eccezioni del firewall relative al Servizio di memorizzazione nella cache, DistributedCacheService.exe. Se si utilizza Windows Firewall, in precedenza sarà stato abilitato il gruppo firewall installato "Windows Server AppFabric: Servizio di memorizzazione nella cache di AppFabric". In questo caso, è possibile disabilitare questo gruppo di criteri utilizzando i seguenti comandi di PowerShell. Se erano state abilitate anche le regole relative a "Gestione remota servizi", è possibile disabilitare anche tali regole. Tuttavia, altri servizi o applicazioni potrebbero aver abilitato le regole relative a "Gestione remota servizi". In questo scenario, non disabilitare le regole di "Gestione remota servizi".

netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=No

Rimozione di un cluster di cache

Se è stato rimosso l'ultimo host della cache dal cluster, è possibile scegliere di rimuovere l'archivio di configurazione del cluster di cache. A tale scopo, utilizzare il comando Remove-CacheCluster. Se il cluster di cache utilizza il provider XML, il comando eliminerà il file XML che contiene le impostazioni di configurazione. Se il cluster di cache utilizza il provider System.Data.SqlClient, questo comando eliminerà le tabelle nel database specificato. Si noti che la condivisione di file e il database non vengono rimossi.

Remove_CacheCluster -Provider System.Data.SqlClient -ConnectionString  "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"

Vedere anche

Concetti

Distribuzione e configurazione delle funzionalità di memorizzazione nella cache di Windows Server AppFabric

  2011-12-05