Installazione e configurazione automatizzate (Memorizzazione nella cache di AppFabric 1.1)
In questa sezione viene descritta la procedura per l'installazione e la configurazione automatizzate delle funzionalità di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server. 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 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. Prima di eseguire questi comandi, può essere necessario utilizzare Import-Module
per importare i moduli di Windows PowerShell per l'amministrazione (DistributedCacheAdministration) o la configurazione (DistributedCacheConfiguration).
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
Installare le funzionalità di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server
Prima di creare un nuovo cluster di cache o di configurare memorizzazione nella cache di AppFabric in un host della cache, è necessario installare le funzionalità di Memorizzazione nella cache di Microsoft AppFabric 1.1 per Windows Server. Per istruzioni sull'installazione invisibile all'utente di AppFabric, vedere Installazione automatica. Le funzionalità di memorizzazione nella cache includono:
CachingService
CacheClient
CacheAdmin
Se ad esempio il file di installazione di uno scenario è denominato Setup.exe, il nome binario effettivo varierà 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 in un server:
Setup.exe /install /i cachingservice,cacheclient,cacheadmin /l:c:\temp\setup.log
Nell'esempio il file di log viene inoltre indirizzato in c:\temp\setup.log. È possibile analizzare il file di log per esaminare i risultati dell'installazione. In Microsoft AppFabric 1.1 per Windows Server è anche disponibile una nuova opzione p per specificare il percorso di installazione di AppFabric.
Dopo aver installato le funzionalità di memorizzazione nella cache di AppFabric in un computer , è 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 configurare il servizio DistributedCacheService.exe. Per impostazione predefinita, questo servizio viene installato nella directory "C:\Programmi\Windows Server AppFabric".
Se si utilizza Windows Firewall, è possibile abilitare un gruppo di criteri firewall che verranno installati automaticamente con AppFabric. I comandi di Windows PowerShell riportati di seguito abilitano il gruppo di criteri firewall denominato "Microsoft AppFabric 1.1 per Windows Server: Servizio di memorizzazione nella cache di AppFabric". È inoltre necessario abilitare le regole firewall "Gestione remota servizi" per attivare 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 -Graceful
Per quanto riguarda l'utilizzo di Graceful
, questa opzione è stata aggiunta nella versione v1.1 per trasferire i dati dal server di cache in altri host della cache prima dell'arresto. Senza l'opzione Graceful
, tutti i dati memorizzati nella cache dell'host arrestato vengono 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.
Avviso
È necessario chiamare Stop-CacheHost
per interrompere un host della cache prima di annullarne la registrazione. Se non si effettua questa operazione, può verificarsi un arresto anomalo del servizio.
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, è necessario che in precedenza sia stato abilitato il gruppo firewall installato "Microsoft AppFabric 1.1 per Windows Server: 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
2012-03-05