Configurazione di cluster basati su SQL Server (Memorizzazione nella cache di Windows Server AppFabric)

Windows Server AppFabric offre la possibilità di utilizzare un database SQL Server per archiviare le impostazioni di configurazione del cluster. La Configurazione guidata di AppFabric consente di preparare automaticamente il database di destinazione per la gestione della configurazione del cluster. Il database viene utilizzato come punto di riferimento principale per la definizione di cluster di cache, host della cache e cache denominate. A tutti i server di cache nel cluster deve essere consentito l'accesso al database di configurazione del cluster.

Per ulteriori informazioni sulla preparazione di un database SQL Server per il percorso di archiviazione della configurazione del cluster, vedere Windows Server AppFabric Installation Guide (https://go.microsoft.com/fwlink/?LinkId=169172).

Durante la configurazione delle funzionalità di memorizzazione nella cache di AppFabric, è possibile specificare un database SQL Server esistente o scegliere di creare automaticamente un nuovo database nel server SQL specificato. A tutti i server di cache nel cluster deve essere consentito l'accesso al database di configurazione del cluster.

Suggerimento

Per impostazione predefinita, il Servizio di memorizzazione nella cache di AppFabric non viene avviato automaticamente. È necessario invece avviare il servizio con il comando Start-CacheCluster da un prompt dei comandi amministrativo di Windows PowerShell. Quando viene utilizzato SQL Server per l'archivio di configurazione, tuttavia, è possibile modificare il servizio in ciascun host della cache in modo che venga avviato automaticamente. A tale scopo è possibile modificare le proprietà del "Servizio di memorizzazione nella cache di AppFabric" nello strumento dell'amministratore Servizi in ciascun server della cache in modo da impostare il tipo di avvio automatico.

Considerazioni sulla disponibilità

Il percorso di archiviazione della configurazione del cluster può rappresentare un singolo punto di errore per il sistema di cache distribuito in uso. Per questo motivo, è consigliabile aumentare la disponibilità del database SQL Server in cui vengono archiviate le impostazioni di configurazione del cluster. A tale scopo è possibile utilizzare Clustering di failover di Microsoft Windows Server 2008 (https://go.microsoft.com/fwlink/?LinkId=130692) per l'hosting di una risorsa di database del cluster per il percorso di memorizzazione della configurazione del cluster della cache.

In alternativa, utilizzare Mirroring del database di SQL Server. Per ulteriori informazioni, vedere Utilizzo del mirroring del database (https://go.microsoft.com/fwlink/?LinkId=190691). Per utilizzare Mirroring del database, esistono tre requisiti:

  • Aggiungere la proprietà Failover Partner alla stringa di connessione.

  • Aggiungere l'account del computer per ciascun host della cache come accesso a SQL Server sul server del partner. Ad esempio, se il nome del computer è CacheServer1 nel dominio Domain1, l'account del computer è Domain1\CacheServer1$. Questa operazione viene eseguita automaticamente per il server SQL Server primario, ma deve essere eseguita manualmente per il server del partner di failover.

  • Aggiungere l'account del computer per ciascun host della cache come utente nel database di configurazione con mirroring sul server del partner. Questo utente dovrebbe disporre delle autorizzazioni db_datareader e db_datawriter.

Se il cluster di cache è già configurato, è possibile modificare manualmente la stringa di connessione utilizzando i comandi di Windows PowerShell. Utilizzare la seguente procedura su ciascun computer host della cache:

  1. Aprire una finestra di comando di Windows PowerShell ed eseguire il comando Use-CacheCluster.

  2. Eseguire i comandi Remove-CacheHost e Remove-CacheAdmin.

  3. Eseguire il comando Add-CacheHost, specificando la nuova stringa di connessione con la proprietà Failover Partner. Ad esempio:

    Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"  -Account "NT Authority\Network Service"
    
  4. Eseguire il comando Add-CacheAdmin, specificando la nuova stringa di connessione con la proprietà Failover Partner. Ad esempio:

    Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
    

Suggerimento

È possibile scaricare uno script, ChangeConnString.ps1, per automatizzare le modifiche della stringa di connessione su tutti gli host della cache. Per ulteriori informazioni, vedere ChangeConnString.ps1 download.

Nota

L'amministratore del cluster di cache deve disporre delle autorizzazioni db_owner sul database degli archivi di configurazione del cluster di cache per poter eseguire i comandi di memorizzazione nella cache in Windows PowerShell dopo un failover.

Autorizzazioni

Tutti gli host della cache devono disporre di autorizzazioni di accesso al server database che ospita il database di configurazione del cluster. È necessario, inoltre, che nel database di configurazione del cluster siano configurate le relative impostazioni di sicurezza in modo tale che ciascun server di cache disponga di un accesso a SQL Server, nonché delle autorizzazioni db_datareader, db_datawriter ed EXECUTE per il database.

Nota

Il programma di installazione tenterà di configurare tali autorizzazioni automaticamente. Si noti che l'identità di sicurezza dell'utente che esegue l'installazione deve disporre delle autorizzazioni db_owner per il database SQL Server e un relativo accesso all'istanza di SQL Server.

Se si crea un gruppo di sicurezza Windows per la gestione degli accessi al database di configurazione della cache, è necessario impostare l'accesso a SQL Server e le autorizzazioni del database una sola volta. Ad esempio, è possibile impostare un gruppo di sicurezza Windows denominato ClusterACacheServers per indicare i server di cache che dispongono dell'autorizzazione a diventare parte del cluster di cache denominato ClusterA.

Dopo aver creato il gruppo di sicurezza ClusterACacheServers, concedere agli account computer di dominio dei server di cache applicabili l'appartenenza a questo gruppo (ad esempio, domain\computername$). Concedere, quindi, al gruppo di sicurezza ClusterACacheServers un accesso a SQL Server, nonché le autorizzazioni db_datawriter, db_datareader ed EXECUTE per il database. Al termine della configurazione, per ciascun nuovo server aggiunto al cluster di cache, è necessario aggiungere solo l'account computer di dominio del nuovo server al gruppo di sicurezza.

Struttura del database

Quando si configurano per la prima volta le funzionalità di memorizzazione nella cache di AppFabric con l'opzione di configurazione basata su SQL Server, tramite lo strumento di configurazione vengono create diverse tabelle nel database specificato. Verranno inoltre aggiunte alcune stored procedure per le operazioni interne del cluster.

Nota

I dati nel database di configurazione del cluster non possono essere modificati manualmente. Per garantire un funzionamento costante del cluster, solo gli host della cache e il programma di installazione devono scrivere nel database.

Sicurezza del database

L'utilizzo di password nelle stringhe di connessione presenta un rischio di sicurezza e deve essere per quanto possibile evitato. Le stringhe di connessione vengono archiviate come testo non crittografato nel file di configurazione dell'host della cache all'interno del file DistributedCacheService.exe.config. Per ridurre al minimo tali rischi, è consigliabile utilizzare le funzionalità di sicurezza integrate per stabilire una connessione attendibile con SQL Server. In tal modo, non sarà necessario archiviare una password nella stringa di connessione. In assenza di funzionalità di sicurezza integrate, sarà necessario indicare una password non crittografata nella stringa di connessione. Il modo migliore per proteggere la stringa di connessione è il seguente, in ordine crescente di rischio:

  1. Utilizzo delle funzionalità di sicurezza integrate.

  2. È consigliabile proteggere le stringhe di connessione con password e ridurre al minimo i passaggi delle stesse.

  3. È inoltre consigliabile di ridurre al minimo la durata e i punti di tocco di tutte le stringhe di connessione.

Connessioni a database

Se si utilizza un database di SQL Server 2005 o versioni successive per archiviare le impostazioni di configurazione del cluster, verificare che il server sia configurato per consentire sufficienti connessioni simultanee per la gestione di tutti gli host della cache nel cluster. Agli host della cache nel cluster non è consentito superare la quantità di connessioni simultanee disponibili.

È possibile configurare il server affinché non vi siano limiti di connessioni contemporanee, ma l'amministratore del database può inoltre limitare tale configurazione per ragioni amministrative o di altra entità. In tali casi, prima di aggiungere gli host della cache al cluster di cache assicurarsi che il server possa supportare altre connessioni.

Vedere anche

Concetti

Configurazione dei cluster basati su cartelle condivise (cache di Windows Server AppFabric)
Impostazioni di configurazione cluster (Memorizzazione nella cache di Windows Server AppFabric)
Opzioni di configurazione del client (Memorizzazione nella cache di Windows Server AppFabric)
Configurazione del cluster di cache (Memorizzazione nella cache di Windows Server AppFabric)
Sviluppo di un client cache (Memorizzazione nella cache di Windows Server AppFabric)

  2011-12-05