Puoi creare un cluster di failover utilizzando Windows Server su Google Cloud Platform (GCP). Un gruppo di server collabora per fornire una disponibilità più elevata per le tue applicazioni Windows. Se un nodo del cluster non funziona, un altro nodo può assumere l'esecuzione del software. Puoi configurare il failover in modo che avvenga automaticamente, che è la configurazione abituale, oppure puoi attivare manualmente un failover.
Questo tutorial presuppone che tu abbia familiarità con il clustering di failover, Active Directory (AD) e l'amministrazione di Windows Server.
Per una breve panoramica del networking in GCP, consulta GCP for Data Center Pros: Networking.
Architettura
Questo tutorial illustra come creare un cluster di failover di esempio su Compute Engine. Il sistema di esempio contiene i seguenti due server:
- Un'istanza VM Compute Engine primaria che esegue Windows Server 2016 nella zona
a
. - Una seconda istanza, configurata in modo che corrisponda all'istanza principale nella zona
b
.
Inoltre, implementi un controller di dominio AD che, per questo tutorial, ha i seguenti scopi:
- Fornisce un dominio Windows.
- Risolve i nomi host in indirizzi IP.
- Ospita il controllo di condivisione file che funge da terzo "voto" per raggiungere il quorum richiesto per il cluster.
Puoi creare il domain controller in qualsiasi zona. Questo tutorial utilizza la zona c
.
In un sistema di produzione, puoi ospitare il witness di condivisione file altrove e
non hai bisogno di un sistema AD separato solo per supportare il cluster di failover. Consulta la sezione
Passaggi successivi
per trovare i link agli articoli sull'utilizzo di AD su Google Cloud.
I due server che utilizzerai per il deployment del cluster di failover si trovano in zone diverse per garantire che ogni server si trovi su una macchina fisica diversa e per proteggerti dalla remota possibilità di un errore a livello di zona.
Il seguente diagramma descrive l'architettura che implementi seguendo questo tutorial.
Opzioni di archiviazione condivisa
Questo tutorial non tratta la configurazione di un file server per l'archiviazione condivisa ad alta disponibilità.
Google Cloud supporta più soluzioni di archiviazione condivisa che puoi utilizzare con Windows Server Failover Clustering, tra cui:
Per informazioni su altre possibili soluzioni di spazio di archiviazione condiviso, vedi:
Informazioni sul routing di rete
Quando il cluster esegue il failover, le richieste devono essere inviate al nodo appena attivato. La tecnologia di clustering gestisce normalmente il routing utilizzando il protocollo ARP (Address Resolution Protocol), che associa gli indirizzi IP agli indirizzi MAC. In GCP, il sistema Virtual Private Cloud (VPC) utilizza reti software-defined, che non sfruttano gli indirizzi MAC. Ciò significa che le modifiche trasmesse da ARP non influiscono sul routing. Per il corretto funzionamento del routing, il cluster richiede un aiuto a livello di software dal bilanciatore del carico interno.
In genere, il bilanciamento del carico interno distribuisce il traffico di rete in entrata tra più istanze di backend interne al VPC, per condividere il carico. Per il clustering di failover, utilizzi invece il bilanciamento del carico interno per instradare tutto il traffico a una sola istanza: il nodo del cluster attualmente attivo. Ecco come il bilanciamento del carico interno rileva il nodo corretto:
- Ogni istanza VM esegue un'istanza dell'agente Compute Engine che fornisce il supporto per il clustering di failover di Windows. L'agente tiene traccia degli indirizzi IP dell'istanza VM.
- Il frontend del bilanciatore del carico fornisce l'indirizzo IP per il traffico in entrata all'applicazione.
- Il backend del bilanciatore del carico fornisce un controllo di integrità. Il processo di controllo di integrità esegue periodicamente il ping dell'agente su ogni nodo del cluster utilizzando l'indirizzo IP fisso dell'istanza VM tramite una porta specifica. La porta predefinita è 59998.
- Il controllo di integrità include l'indirizzo IP dell'applicazione come payload nella richiesta.
- L'agente confronta l'indirizzo IP nella richiesta con l'elenco degli indirizzi IP della VM host. Se l'agente trova una corrispondenza, risponde con un valore di 1. In caso contrario, risponde con 0.
- Il bilanciatore del carico contrassegna come integra qualsiasi VM che supera il controllo di integrità. In qualsiasi momento, solo una VM supera il controllo di integrità perché solo una VM ha l'indirizzo IP per il carico di lavoro.
Cosa succede durante un failover
Quando si verifica un failover nel cluster, vengono apportate le seguenti modifiche:
- Il clustering di failover di Windows modifica lo stato del nodo attivo per indicare che non è riuscito.
- Il clustering di failover sposta tutte le risorse e i ruoli del cluster dal nodo in errore al nodo migliore, come definito dal quorum. Questa azione include lo spostamento degli indirizzi IP associati.
- Il clustering di failover trasmette pacchetti ARP per comunicare ai router di rete basati su hardware che gli indirizzi IP sono stati spostati. Per questo scenario, il networking GCP ignora questi pacchetti.
- Dopo lo spostamento, l'agente Compute Engine sulla VM per il nodo non funzionante modifica la risposta al controllo di integrità da 1 a 0, perché la VM non ospita più l'indirizzo IP specificato nella richiesta.
- Allo stesso modo, l'agente Compute Engine sulla VM per il nodo appena attivato modifica la risposta al controllo di integrità da 0 a 1.
- Il bilanciatore del carico interno interrompe l'instradamento del traffico al nodo in errore e instrada invece il traffico al nodo appena attivato.
Riassumendo
Ora che hai esaminato alcuni concetti, ecco alcuni dettagli da notare nel diagramma dell'architettura:
- L'agente Compute Engine per la VM denominata
wsfc-2
risponde al controllo di integrità con il valore 1, a indicare che è il nodo del cluster attivo. Perwsfc-1
, la risposta è 0. - Il bilanciatore del carico instrada le richieste a
wsfc-2
, come indicato dalla freccia. - Il bilanciatore del carico e
wsfc-2
hanno entrambi l'indirizzo IP10.0.0.9
. Per il bilanciatore del carico, questo è l'indirizzo IP di frontend specificato. Per la VM, è l'indirizzo IP dell'applicazione. Il cluster di failover imposta questo indirizzo IP sul nodo attualmente attivo. - Il cluster di failover e
wsfc-2
hanno entrambi l'indirizzo IP10.0.0.8
. La VM ha questo indirizzo IP perché attualmente ospita le risorse del cluster.
Consigli per seguire questo tutorial
Questo tutorial è composto da molti passaggi. A volte ti viene chiesto di seguire i passaggi descritti in documenti esterni, ad esempio la documentazione di Microsoft. Non perdere le note in questo documento che forniscono dettagli specifici per seguire i passaggi esterni.
Questo tutorial utilizza Cloud Shell nella console Google Cloud . Sebbene sia possibile utilizzare l'interfaccia utente della console Google Cloud o gcloud CLI per configurare il clustering di failover, questo tutorial utilizza principalmente Cloud Shell per semplificare la procedura. Questo approccio ti aiuta a completare più rapidamente il tutorial. Quando più appropriato, alcuni passaggi utilizzano invece la console Google Cloud .
È una buona idea scattare snapshot dei tuoi dischi permanenti di Compute Engine durante il processo. Se qualcosa va storto, puoi utilizzare uno snapshot per evitare di ricominciare da capo. Questo tutorial suggerisce i momenti migliori per scattare le istantanee.
Se noti che le cose non funzionano come previsto, potrebbero esserci istruzioni nella sezione che stai leggendo. In caso contrario, consulta la sezione Risoluzione dei problemi.
Obiettivi
- Crea una rete.
- Installa Windows Server 2016 su due VM Compute Engine.
- Installa e configura Active Directory su una terza istanza di Windows Server.
- Configura il cluster di failover, inclusa una condivisione file di controllo per il quorum e un ruolo per il workload.
- Configura il bilanciatore del carico interno.
- Testa l'operazione di failover per verificare che il cluster funzioni.
Costi
Questo tutorial utilizza immagini Compute Engine che includono licenze Windows Server. Ciò significa che il costo di esecuzione di questo tutorial può essere significativo se lasci le VM in esecuzione. Ti consigliamo di arrestare le VM quando non le utilizzi.
Consulta il Calcolatore prezzi per una stima dei costi per completare questo tutorial.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
- Avvia un'istanza di Cloud Shell.
Vai a Cloud Shell
Creazione della rete
Il cluster richiede una rete personalizzata. Utilizza VPC per creare una rete personalizzata e una subnet eseguendo i comandi gcloud
in Cloud Shell.
Crea la rete:
gcloud compute networks create wsfcnet --subnet-mode custom
Il nome della rete che hai creato è
wsfcnet
.Crea una subnet. Sostituisci
[YOUR_REGION]
con una regione GCP vicina:gcloud compute networks subnets create wsfcnetsub1 --network wsfcnet --region [YOUR_REGION] --range 10.0.0.0/16
Il nome della subnet che hai creato è
wsfcnetsub1
.
Tieni presente che l'intervallo
CIDR
per gli indirizzi IP in questa subnet è 10.0.0.0/16
. Questo è un intervallo
di esempio utilizzato per questo tutorial. Nei sistemi di produzione, collabora con gli amministratori di rete per allocare intervalli appropriati per gli indirizzi IP dei tuoi sistemi.
Crea regole firewall
Per impostazione predefinita, la rete è chiusa al traffico esterno. Devi aprire le porte nel
firewall per abilitare le connessioni remote ai server. Utilizza i comandi gcloud
in Cloud Shell per creare le regole.
Per questo tutorial, apri la porta 3389 sulla rete principale per abilitare le connessioni RDP. Nel comando seguente, sostituisci
[YOUR_IPv4_ADDRESS]
con l'indirizzo IP del computer che utilizzi per connetterti alle tue istanze VM. In un sistema di produzione, puoi fornire un intervallo di indirizzi IP o una serie di indirizzi.gcloud compute firewall-rules create allow-rdp --network wsfcnet --allow tcp:3389 --source-ranges [YOUR_IPv4_ADDRESS]
Nella subnet, consenti tutti i protocolli su tutte le porte per consentire ai server di comunicare tra loro. Nei sistemi di produzione, valuta la possibilità di aprire solo porte specifiche, in base alle esigenze.
gcloud compute firewall-rules create allow-all-subnet --network wsfcnet --allow all --source-ranges 10.0.0.0/16
Tieni presente che il valore
source-ranges
corrisponde all'intervallo CIDR che hai utilizzato per creare la subnet.Visualizza le regole firewall:
gcloud compute firewall-rules list
Dovresti vedere un output simile al seguente:
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED allow-all-subnet wsfcnet INGRESS 1000 all False allow-rdp wsfcnet INGRESS 1000 tcp:3389 False
Attivazione del clustering di failover in Compute Engine
Per attivare il clustering di failover nell'agente Compute Engine,
devi aggiungere il flag enable-wsfc=true
alle definizioni delle VM specificandolo come metadati personalizzati per la VM o creando un file di configurazione su ogni VM, come descritto nella documentazione di Compute Engine.
Questo tutorial definisce il flag come metadati personalizzati durante la creazione delle VM, come
descritto nella sezione successiva. Il tutorial si basa anche sul comportamento
predefinito per wsfc-addrs
e wsfc-agent-port
, quindi non è necessario impostare
questi valori.
Creazione dei server
A questo punto, crea i tre server. Utilizza il comando gcloud
in Cloud Shell.
Crea il primo server nodo del cluster
Crea una nuova istanza Compute Engine. Configura l'istanza nel modo seguente:
- Assegna all'istanza il nome
wsfc-1
. - Imposta il flag
--zone
su una zona comoda vicino a te. Ad esempio,us-central1-a
. - Imposta il flag
--machine-type
sun1-standard-2.
- Imposta il flag
--image-project
suwindows-cloud
. - Imposta il flag
--image-family
suwindows-2016
. - Imposta il flag
--scopes
suhttps://www.googleapis.com/auth/compute
. - Imposta il flag
--can-ip-forward
per abilitare l'inoltro IP. - Imposta il flag
--private-network-ip
su10.0.0.4
. - Imposta la rete su
wsfcnet
e la subnet suwsfcnetsub1
. - Utilizza il parametro
--metadata
per impostareenable-wsfc=true
.
Esegui questo comando, sostituendo [YOUR_ZONE_1]
con il nome della prima zona:
gcloud compute instances create wsfc-1 --zone [YOUR_ZONE_1] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.4 --network wsfcnet --subnet wsfcnetsub1 --metadata enable-wsfc=true
Crea il secondo server nodo del cluster
Per il secondo server, segui gli stessi passaggi, tranne:
- Imposta il nome dell'istanza su:
wsfc-2
. - Imposta il flag
--zone
su una zona diversa da quella utilizzata per il primo server. Ad esempio,us-central1-b
. - Imposta il flag
--private-network-ip
su10.0.0.5
.
Sostituisci [YOUR_ZONE_2]
con il nome della seconda zona:
gcloud compute instances create wsfc-2 --zone [YOUR_ZONE_2] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.5 --network wsfcnet --subnet wsfcnetsub1 --metadata enable-wsfc=true
Crea il terzo server per Active Directory
Per il controller di dominio, segui gli stessi passaggi, tranne:
- Imposta il nome dell'istanza su:
wsfc-dc
. - Imposta il flag
--zone
su una zona diversa da quelle utilizzate per gli altri server. Ad esempio,us-central1-c
. - Imposta il flag
--private-network-ip
su10.0.0.6
. - Ometti
--metadata enable-wsfc=true
.
Sostituisci [YOUR_ZONE_3]
con il nome della tua zona:
gcloud compute instances create wsfc-dc --zone [YOUR_ZONE_3] --machine-type n1-standard-2 --image-project windows-cloud --image-family windows-2016 --scopes https://www.googleapis.com/auth/compute --can-ip-forward --private-network-ip 10.0.0.6 --network wsfcnet --subnet wsfcnetsub1
Visualizzare le istanze
Puoi visualizzare i dettagli delle istanze che hai creato.
gcloud compute instances list
Vedrai un output simile al seguente:
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS wsfc-1 us-central1-a n1-standard-2 10.0.0.4 35.203.131.133 RUNNING wsfc-2 us-central1-b n1-standard-2 10.0.0.5 35.203.130.194 RUNNING wsfc-dc us-central1-c n1-standard-2 10.0.0.6 35.197.27.2 RUNNING
Connessione alle VM
Per connetterti a una VM basata su Windows, devi prima generare una password per la VM. A questo punto, puoi connetterti alla VM utilizzando RDP.
Generare password
Nella console Google Cloud , vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza VM per cui ti serve una nuova password.
Nella pagina dei dettagli dell'istanza, fai clic sul pulsante Imposta password di Windows. Viene generata una password per te. Copia la password e conservala in un luogo sicuro.
Connessione tramite RDP
La documentazione di Compute Engine fornisce dettagli su come connettersi alle istanze VM Windows utilizzando RDP. Puoi:
- Utilizza un client esistente.
- Aggiungi un plug-in RDP di Chrome al browser e poi connettiti tramite la consoleGoogle Cloud .
Ogni volta che questo tutorial ti chiede di connetterti a un'istanza Windows, utilizza la connessione RDP che preferisci.
Configurazione del networking di Windows
Gli indirizzi IP interni che hai assegnato quando hai creato le VM sono statici. Per assicurarti che Windows tratti gli indirizzi IP come statici, devi aggiungerli, insieme agli indirizzi IP del gateway predefinito e del server DNS, alla configurazione di rete di Windows Server.
Utilizza RDP per connetterti a wsfc-1
, wsfc-2
e wsfc-dc
e ripeti i seguenti passaggi per ogni istanza:
- In Server Manager, seleziona Local Server (Server locale) nel riquadro a sinistra.
- Nella voce Ethernet del riquadro Proprietà, fai clic su Indirizzo IPv4 assegnato da DHCP, IPv6 abilitato.
- Fai clic con il tasto destro del mouse su Ethernet e seleziona Proprietà.
- Fai doppio clic su Internet Protocol versione 4 (TCP/IPv4).
- Seleziona Utilizza il seguente indirizzo IP.
Inserisci l'indirizzo IP interno che hai assegnato alla VM quando l'hai creata.
- Per
wsfc-1
, inserisci "10.0.0.4". - Per
wsfc-2
inserisci "10.0.0.5". - Per
wsfc-dc
inserisci "10.0.0.6".
- Per
In Subnet mask, inserisci "255.255.0.0".
Per Gateway predefinito, inserisci
10.0.0.1
, l'indirizzo IP riservato automaticamente per il gateway predefinito quando hai creato la subnetwsfcnetsub1
.L'indirizzo IP del gateway predefinito è sempre il secondo indirizzo nell'intervallo IP primario di una subnet. Consulta Indirizzi inutilizzabili negli intervalli di subnet IPv4.
Solo per
wsfc-1
ewsfc-2
:Fai clic su Utilizza i seguenti indirizzi del server DNS.
In Server DNS preferito, inserisci "10.0.0.6".
Chiudi tutte le finestre di dialogo.
Perdi la connettività RDP perché queste modifiche reimpostano la scheda di rete virtuale per l'istanza VM.
Chiudi la sessione RDP e riconnettiti all'istanza. Se una finestra di dialogo del passaggio precedente è ancora aperta, chiudila.
Nella sezione delle proprietà del server locale, verifica che l'impostazione Ethernet rifletta l'indirizzo IP del server locale (
10.0.0.4
,10.0.0.5
,o
10.0.0.6
). In caso contrario, riapri la finestra di dialogo Internet Protocol Version 4 (TCP/IPv4) e aggiorna l'impostazione.
È il momento giusto per acquisire snapshot di wsfc-1
e wsfc-2
.
Configurazione di Active Directory
Ora configura il controller di dominio.
- Utilizza RDP per connetterti al server denominato
wsfc-dc
. - Utilizzando l'app desktop Gestione computer Windows, imposta una password per l'account amministratore locale.
- Attiva l'account amministratore locale.
Segui i passaggi riportati nelle istruzioni di Microsoft di seguito per configurare il controller di dominio, con queste note aggiuntive. Puoi utilizzare i valori predefiniti per la maggior parte delle impostazioni.
- Seleziona la casella di controllo del ruolo Server DNS. Questo passaggio non è specificato nelle istruzioni.
- Seleziona la casella di controllo Riavvia automaticamente il server di destinazione se necessario.
- Promuovi il file server a controller di dominio.
- Durante il passaggio Aggiungi una nuova foresta, assegna al tuo dominio il nome "WSFC.TEST".
- Imposta il nome di dominio NetBIOS su "WSFC" (il valore predefinito).
Questo è un buon momento per fare uno snapshot di wsfc-dc
.
Crea l'account utente del dominio
Il riavvio di wsfc-dc
potrebbe richiedere del tempo. Prima di unire i server al
dominio, utilizza RDP per accedere a wsfc-dc
e verificare che il controller di dominio
sia in esecuzione.
È necessario un utente del dominio con privilegi amministrativi per i server del cluster. Segui questi passaggi:
- Sul controller di dominio (
wsfc-dc
), fai clic su Start e poi digita dsa per trovare e aprire l'app Utenti e computer di Active Directory. - Fai clic con il tasto destro del mouse su WSFC.TEST, seleziona Nuovo e poi fai clic su Utente.
- Per Nome completo e Nome accesso utente, inserisci
cluster-admin
. - Fai clic su Avanti.
- Inserisci e conferma una password per l'utente. Seleziona le opzioni per la password nella finestra di dialogo. Ad esempio, puoi impostare la password in modo che non scada mai.
- Conferma le impostazioni e poi fai clic su Fine.
Imposta
cluster-admin
come amministratore suwsfc-dc
:- Fai clic con il tasto destro del mouse su
cluster-admin
e seleziona Aggiungi a un gruppo. - Digita Amministratori e fai clic su OK.
- Fai clic con il tasto destro del mouse su
Questo tutorial utilizza l'account WSFC.TEST\cluster-admin
come account amministratore
ovunque sia necessario. In un sistema di produzione, segui
le tue consuete pratiche di sicurezza per l'allocazione di account e autorizzazioni. Per ulteriori
informazioni, consulta
Panoramica degli account Active Directory necessari per un cluster di failover.
Aggiungere i server al dominio
Aggiungi i due server nodo del cluster al dominio WSFC.TEST
. Esegui i
seguenti passaggi su ciascun server nodo del cluster (wsfc-1
e wsfc-2
):
- In Server Manager > Local Server (Server locale), nel riquadro Properties (Proprietà), fai clic su WORKGROUP (GRUPPO DI LAVORO).
- Fai clic su Cambia.
- Seleziona Domain (Dominio) e poi inserisci "WSFC.TEST".
- Fai clic su OK.
- Fornisci le credenziali per
WSFC.TEST\cluster-admin
per accedere al dominio. - Fai clic su OK.
- Chiudi le finestre di dialogo e segui le istruzioni per riavviare il server.
In Server Manager, imposta
cluster-admin
come amministratore suwsfc-1
ewsfc-2
. In alternativa, puoi gestire i privilegi amministrativi utilizzando un criterio di gruppo.- Nel menu Strumenti, seleziona Gestione computer > Utenti e gruppi locali > Gruppi > Amministratori e poi fai clic su Aggiungi.
- Inserisci "cluster-admin" e fai clic su Controlla nomi.
- Fai clic su OK.
Questo è un buon momento per creare snapshot di tutte e tre le VM.
Configurazione del clustering di failover
Prenota un indirizzo IP per il cluster in Compute Engine
Quando crei il cluster di failover, assegni un indirizzo IP per creare un punto di accesso amministrativo. In un ambiente di produzione, potresti utilizzare un indirizzo IP di una subnet separata. Tuttavia, in questo tutorial prenoti un indirizzo IP dalla subnet che hai già creato. La prenotazione dell'indirizzo IP impedisce conflitti con altre assegnazioni di IP.
Apri un terminale su una VM host o apri Cloud Shell.
Prenota un indirizzo IP. Per questo tutorial, utilizza
10.0.0.8
:gcloud compute addresses create cluster-access-point --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.8
Per confermare la prenotazione dell'indirizzo IP:
gcloud compute addresses list
Crea il cluster
Per creare e configurare il cluster di failover:
- Utilizza RDP per connettere
wsfc-1
ewsfc-2
. Segui i passaggi riportati nelle istruzioni di Microsoft di seguito, con queste note aggiuntive:
- Installa la funzionalità di clustering di failover su
wsfc-1
ewsfc-2
. Non installare la funzionalità di clustering di failover suwsfc-dc
. - Esegui l'app Gestione cluster di failover come utente di dominio
WSFC.TEST\cluster-admin
. In caso contrario, potresti riscontrare problemi di autorizzazione. È consigliabile eseguire sempre Gestione cluster di failover in questo modo o connettersi a un server comecluster-admin
per assicurarsi di disporre delle autorizzazioni richieste. - Aggiungi
wsfc-1
ewsfc-2
al cluster come nodi. Durante la convalida della configurazione:
- Nella pagina Opzioni di test, seleziona Esegui solo i test che seleziono e poi fai clic su Avanti.
Nella pagina Selezione test, deseleziona Archiviazione perché l'opzione Archiviazione non funzionerà se eseguita su Compute Engine (come per i server fisici autonomi separati).
I problemi comuni che potresti riscontrare durante la convalida del cluster includono:
- Una sola interfaccia di rete tra le repliche. Puoi ignorare questo messaggio perché non si applica a una configurazione basata su cloud.
- Gli aggiornamenti di Windows non sono uguali su entrambe le repliche. Se hai configurato le tue istanze Windows per applicare gli aggiornamenti automaticamente, uno dei nodi potrebbe aver applicato aggiornamenti che l'altro non ha ancora scaricato. Devi mantenere i server in configurazioni identiche.
- Riavvio in attesa. Hai apportato modifiche a uno dei server e per applicarle è necessario riavviarlo. Non ignorare questo.
- I server non hanno tutti lo stesso ruolo di dominio. Puoi ignorare questa.
- I server non si trovano tutti nella stessa unità organizzativa (UO). Questo tutorial non utilizza un'unità organizzativa, ma in un sistema di produzione valuta la possibilità di inserire il cluster in un'unità organizzativa separata. Le istruzioni di Microsoft descrivono questa best practice.
- Sono stati trovati driver non firmati. Puoi ignorare questo messaggio.
Nella pagina Riepilogo, puoi selezionare Crea il cluster ora utilizzando i nodi convalidati per continuare a creare il cluster, anziché chiudere la procedura guidata e riaprirla.
Nella procedura guidata di creazione del cluster, nella pagina Punto di accesso:
- Assegna al cluster il nome "testcluster".
- Nel campo Indirizzo, inserisci l'indirizzo IP che hai prenotato in precedenza,
10.0.0.8
.
- Installa la funzionalità di clustering di failover su
Aggiungi l'amministratore del cluster
L'aggiunta di un account di dominio come amministratore del cluster consente di
eseguire azioni sul cluster da strumenti come Windows PowerShell. Aggiungi l'account
di dominio cluster-admin
come amministratore del cluster.
- Nel nodo del cluster che ospita le risorse del cluster, in Gestione cluster di failover, seleziona il cluster nel riquadro a sinistra e poi fai clic su Proprietà nel riquadro a destra.
- Seleziona la scheda Autorizzazioni cluster.
- Fai clic su Aggiungi e poi aggiungi
cluster-admin
. - Con
cluster-admin
selezionato nell'elenco Nomi di gruppi o utenti, seleziona Controllo completo nel riquadro Autorizzazioni. - Fai clic su Applica e su OK.
Questo è un buon momento per scattare snapshot.
Creazione del controllo di condivisione file
Hai un cluster di failover a due nodi, ma il cluster utilizza un meccanismo di voto per decidere quale nodo deve essere attivo. Per raggiungere il quorum, puoi aggiungere un testimone condivisione file.
Questa esercitazione aggiunge semplicemente una cartella condivisa al server del controller di dominio. Se questo server andasse offline contemporaneamente al riavvio di uno dei nodi del cluster, l'intero cluster potrebbe smettere di funzionare perché il server rimanente non può votare da solo. Per questo tutorial, si presuppone che le funzionalità dell'infrastruttura GCP, come la migrazione live e il riavvio automatico, forniscano un'affidabilità sufficiente a mantenere attiva la cartella condivisa.
Se vuoi creare un controllo di condivisione file a disponibilità più elevata, hai le seguenti opzioni:
- Utilizza un cluster di server Windows per fornire la condivisione utilizzando Spazi di archiviazione diretta. Questa funzionalità di Windows Server 2016 può fornire una condivisione a disponibilità elevata per il testimone quorum. Ad esempio, puoi creare un cluster per il controller di dominio Active Directory per fornire servizi di dominio ad alta disponibilità e il controllo di condivisione file contemporaneamente.
- Utilizza un software di replica dei dati, come SIOS Datakeeper, con Windows Failover Server Clustering per la replica sincrona o asincrona.
Per creare la condivisione file per il testimone:
- Connettiti a
wsfc-dc
. Questo server ospita la condivisione file. - In Esplora risorse, vai all'unità
C
. - Nella barra del titolo, fai clic sul pulsante Nuova cartella.
- Assegna alla nuova cartella il nome
shares
. - Fai doppio clic sulla cartella
shares
per aprirla. - Aggiungi una nuova cartella e chiamala
clusterwitness-testcluster
.
Configurare la condivisione per il controllo di condivisione file
Devi impostare le autorizzazioni per la cartella di controllo condivisione file per consentire al cluster di utilizzarla.
- In Esplora risorse, fai clic con il tasto destro del mouse sulla cartella
clusterwitness-testcluster
e seleziona Proprietà. - Nella scheda Condivisione, fai clic su Condivisione avanzata.
- Seleziona Condividi questa cartella.
- Fai clic su Autorizzazioni e poi su Aggiungi.
- Fai clic su Tipi di oggetti, seleziona Computer e poi fai clic su Ok.
- Aggiungi l'account macchina
testcluster$
. - Concedi le autorizzazioni di Controllo completo a
testcluster$
. - Fai clic su Applica e poi chiudi tutte le finestre di dialogo.
Aggiungi il controllo di condivisione file al cluster di failover
Ora configura il cluster di failover per utilizzare il controllo di condivisione file come voto di quorum.
- Sul computer che ospita le risorse cluster (
wsfc-1
), apri Gestione cluster di failover. - Nel riquadro a sinistra, fai clic con il tasto destro del mouse sul nome del cluster (testcluster.WSFC.TEST), quindi seleziona Altre azioni e poi fai clic su Configura impostazioni quorum cluster.
- Nel riquadro Seleziona l'opzione di configurazione del quorum, scegli Seleziona il testimone del quorum.
- Nel riquadro Seleziona controllo quorum, scegli Configura un controllo di condivisione file.
- Per File Share Path (Percorso condivisione file), inserisci il percorso della cartella condivisa, ad esempio
\\wsfc-dc\clusterwitness-testcluster
. - Conferma le impostazioni e poi fai clic su Fine.
Test del cluster di failover
Il cluster di failover di Windows Server ora dovrebbe funzionare. Puoi testare lo spostamento manuale delle risorse del cluster tra le istanze. Non hai ancora finito, ma questo è un buon punto di controllo per verificare che tutto ciò che hai fatto finora funzioni.
- Su
wsfc-1
, annota il nome del server host attuale in Gestione cluster di failover. - Esegui Windows PowerShell come
cluster-admin
. In PowerShell, esegui questo comando per modificare il server host corrente:
Move-ClusterGroup -Name "Cluster Group"
Dovresti vedere il nome del server host corrente cambiare con quello dell'altra VM.
Se il problema persiste, rivedi i passaggi precedenti e verifica di non aver saltato nulla. Il problema più comune è una regola firewall mancante che blocca l'accesso alla rete. Per altri problemi da verificare, consulta la sezione Risoluzione dei problemi.
In caso contrario, puoi procedere alla configurazione del bilanciatore del carico interno, necessario per instradare il traffico di rete al server host corrente nel cluster.
Questo è un buon momento per scattare snapshot.
Aggiunta di un ruolo al cluster di failover
Nel clustering di failover di Windows, i ruoli ospitano i workload in cluster. Puoi utilizzare un ruolo per specificare nel cluster l'indirizzo IP utilizzato dalla tua applicazione. Per questo tutorial, aggiungi un ruolo per il workload di test, ovvero il server web Internet Information Services (IIS), e assegna un indirizzo IP al ruolo.
Prenota un indirizzo IP per il ruolo in Compute Engine
Per evitare conflitti di indirizzi IP all'interno della subnet in Compute Engine, riserva l'indirizzo IP per il ruolo.
Apri un terminale su una VM host o apri Cloud Shell.
Prenota un indirizzo IP. Per questo tutorial, utilizza
10.0.0.9
:gcloud compute addresses create load-balancer-ip --region [YOUR_REGION] --subnet wsfcnetsub1 --addresses 10.0.0.9
Per confermare la prenotazione dell'indirizzo IP:
gcloud compute addresses list
Aggiungere il ruolo
Segui questi passaggi:
- In Gestione cluster di failover, nel riquadro Azioni, seleziona Configura ruolo.
- Nella pagina Seleziona ruolo, seleziona Altro server.
- Nella pagina Client Access Point, inserisci il nome
IIS
. - Imposta l'indirizzo su
10.0.0.9
. - Salta Seleziona spazio di archiviazione e Seleziona tipi di risorse.
- Conferma le impostazioni e poi fai clic su Fine.
Creazione del bilanciatore del carico interno
Crea e configura il bilanciatore del carico interno, necessario per indirizzare il traffico di rete al nodo host del cluster attivo. Utilizzerai la consoleGoogle Cloud , perché l'interfaccia utente offre una buona panoramica dell'organizzazione del bilanciamento del carico interno.
Creerai anche un gruppo di istanze Compute Engine per ogni zona del cluster, che il bilanciatore del carico utilizza per gestire i nodi del cluster.
Crea i gruppi di istanze
Crea un gruppo di istanze in ogni zona che contenga
un nodo del cluster, quindi aggiungi ogni nodo al gruppo di istanze nella relativa zona.
Non aggiungere il controller di dominio wsfc-dc
a un gruppo di istanze.
Crea un gruppo di istanze per ogni zona del cluster, sostituendo
[ZONE_1]
con il nome della prima zona e[ZONE_2]
con il nome della seconda:gcloud compute instance-groups unmanaged create wsfc-group-1 --zone=[ZONE_1]
gcloud compute instance-groups unmanaged create wsfc-group-2 --zone=[ZONE_2]
Aggiungi il server in ogni zona al gruppo di istanze per quella zona:
gcloud compute instance-groups unmanaged add-instances wsfc-group-1 --instances wsfc-1 --zone [ZONE_1]
gcloud compute instance-groups unmanaged add-instances wsfc-group-2 --instances wsfc-2 --zone [ZONE_2]
Verifica che i gruppi di istanze siano stati creati e che ogni gruppo contenga un'istanza:
gcloud compute instance-groups unmanaged list
NAME ZONE NETWORK NETWORK_PROJECT MANAGED INSTANCES wsfc-group-1 us-central1-a wsfcnet exampleproject No 1 wsfc-group-2 us-central1-b wsfcnet exampleproject No 1
Crea il bilanciatore del carico
Avvia la configurazione
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- In Tipo di bilanciatore del carico, seleziona Bilanciatore del carico di rete (TCP/UDP/SSL) e fai clic su Avanti.
- Per Proxy o passthrough, seleziona Bilanciatore del carico passthrough e fai clic su Avanti.
- In Pubblico o interno, seleziona Interno e fai clic su Avanti.
- Fai clic su Configura.
Configurazione di base
- In Name (Nome), inserisci "wsfc-lb".
- Seleziona la tua regione attuale.
- Seleziona
wsfcnet
per Rete.
Configura il backend
Ricorda che il bilanciatore del carico interno di GCP utilizza un controllo di integrità periodico per determinare il nodo attivo. Il controllo di integrità esegue il ping dell'agente host del cluster Compute Engine in esecuzione sul nodo del cluster attivo. Il payload del controllo di integrità è l'indirizzo IP dell'applicazione, rappresentato dal ruolo in cluster. L'agente risponde con il valore 1 se il nodo è attivo o 0 se non lo è.
- Fai clic su Configurazione backend.
- In Backend, aggiungi ogni gruppo di istanze che hai creato selezionandone il nome e facendo clic su Fine.
Creare un controllo di integrità.
- In Nome, inserisci "wsfc-hc".
- Accetta l'impostazione predefinita Protocollo di TCP e modifica la Porta in "59998" per le risposte dell'agente host del cluster.
- Per Richiesta, inserisci "10.0.0.9".
- Per Risposta, inserisci "1".
- In Intervallo di controllo, inserisci "2".
- In Timeout inserisci "1".
- Fai clic su Salva e continua.
Configura il frontend
La configurazione del frontend crea una regola di forwarding che definisce in che modo il bilanciatore del carico gestisce le richieste in entrata. Per questo tutorial, per semplicità, testerai il sistema effettuando richieste tra le VM nella subnet.
Nel tuo sistema di produzione, probabilmente vuoi aprire il sistema al traffico esterno, come il traffico internet. Per farlo, puoi creare un bastion host che accetti il traffico esterno e lo inoltri alla tua rete interna. L'utilizzo di un bastion host non è trattato in questo tutorial.
- Nel riquadro centrale, fai clic su Configurazione frontend.
- In Name (Nome), inserisci "wsfc-lb-fe".
- Seleziona la subnet (
wsfcnetsub1
). - Per IP interno, seleziona load-balancer-ip (10.0.0.9). Si tratta dello stesso indirizzo IP che hai impostato per il ruolo.
- In Porte, inserisci "80".
- Fai clic su Fine.
Esamina e finalizza
- Per visualizzare un riepilogo delle impostazioni del bilanciatore del carico interno, fai clic su Esamina e finalizza nel riquadro centrale. Il riepilogo viene visualizzato nel riquadro a destra.
Fai clic su Crea. La creazione del bilanciatore del carico richiede un attimo.
Crea regole firewall per il controllo di integrità
Potresti aver notato che la console Google Cloud ti ha comunicato che il sistema di controllo di integrità richiederebbe una regola firewall per consentire ai controlli di integrità di raggiungere i relativi target. In questa sezione configuri la regola firewall.
Nella console Google Cloud , vai a Cloud Shell.
Esegui questo comando per creare la regola firewall:
gcloud compute firewall-rules create allow-health-check --network wsfcnet --source-ranges 130.211.0.0/22,35.191.0.0/16 --allow tcp:59998
Apri Windows Firewall
Su ogni nodo del cluster, wsfc-1
e wsfc-2
, crea una regola firewall nel
firewall di Windows per consentire al bilanciatore del carico di accedere a ogni sistema Windows.
Apri l'app Windows Firewall con protezione avanzata.
Nel riquadro di navigazione a sinistra, seleziona Regole in entrata.
Nel riquadro di navigazione a destra, seleziona Nuova regola.
Nel riquadro Tipo di regola, seleziona Personalizzato come tipo di regola e fai clic su Avanti.
Nel riquadro Programma, accetta il valore predefinito e fai clic su Avanti.
Nel riquadro Protocollo e porte:
- Nel campo Tipo di protocollo, seleziona TCP.
- Nel campo Porta locale, seleziona Porte specifiche e inserisci
59998
.
Nel riquadro Ambito, in A quali indirizzi IP remoti si applica questa regola:
- Seleziona Questi indirizzi IP:.
Aggiungi ciascuno dei seguenti indirizzi IP al campo Questo indirizzo IP o subnet facendo clic su Aggiungi:
130.211.0.0/22
35.191.0.0/16
Fai clic su Avanti.
Nel riquadro Azione, accetta Consenti la connessione e fai clic su Avanti.
Nel riquadro Profilo, accetta i valori predefiniti e fai clic su Avanti.
Specifica un nome per la regola firewall e fai clic su Fine.
Convalida del bilanciatore del carico
Una volta in esecuzione, puoi controllare lo stato del bilanciatore del carico interno per verificare che possa trovare un'istanza integra e poi testare di nuovo il failover.
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico (
wsfc-lb
).Nella sezione Backend del riepilogo, dovresti vedere elencati i gruppi di istanze.
Nell'immagine seguente della pagina dei dettagli del bilanciatore del carico
wsfc-lb
, il gruppo di istanzewsfc-group-1
contiene il nodo attivo, come indicato da 1 / 1 nella colonna In stato integro. Il gruppo di istanzewsfc-group-2
contiene il nodo inattivo, come indicato da 0 / 1.Se entrambi i gruppi di istanze mostrano 0 / 1, il bilanciatore del carico potrebbe essere ancora in fase di sincronizzazione con i nodi. A volte, devi eseguire almeno un failover per consentire al bilanciatore del carico di trovare l'indirizzo IP.
In Gestione cluster di failover, espandi il nome del cluster e fai clic su Ruoli. Nella colonna Nodo proprietario, prendi nota del nome del server per il ruolo IIS.
Avvia un failover facendo clic con il tasto destro del mouse sul ruolo IIS e selezionando Sposta > Miglior nodo possibile. Questa azione sposta il ruolo nell'altro nodo, come mostrato nella colonna Nodo proprietario.
Attendi che lo stato mostri In esecuzione.
Torna alla pagina Dettagli del bilanciatore del carico, fai clic su Aggiorna e verifica che i valori 1 / 1 e 0 / 1 nella colonna In stato integro abbiano scambiato i gruppi di istanze.
gcloud compute backend-services get-health wsfc-lb --region=[REGION]
L'output è simile al seguente:
backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instanceGroups/wsfc-group-1 status: healthStatus: - healthState: HEALTHY instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-a/instances/wsfc-1 ipAddress: 10.0.0.4 port: 80 kind: compute#backendServiceGroupHealth --- backend: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instanceGroups/wsfc-group-2 status: healthStatus: - healthState: UNHEALTHY instance: https://compute.googleapis.com/compute/v1/projects/exampleproject/zones/us-central1-b/instances/wsfc-2 ipAddress: 10.0.0.5 port: 80 kind: compute#backendServiceGroupHealth
Installazione dell'applicazione
Ora che hai un cluster, puoi configurare l'applicazione su ogni nodo e configurarla per l'esecuzione in un ambiente in cluster.
Per questo tutorial, devi configurare qualcosa che possa dimostrare che il cluster funziona davvero con il bilanciatore del carico interno. Configura IIS su ogni VM per gestire una semplice pagina web.
Non stai configurando IIS per l'alta disponibilità nel cluster. Stai creando istanze IIS separate che pubblicano ciascuna una pagina web diversa. Dopo un failover, il server web pubblica i propri contenuti, non quelli condivisi.
La configurazione dell'applicazione o di IIS per l'alta disponibilità non rientra nell'ambito di questo tutorial.
Configurare IIS
Su ogni nodo del cluster, installa IIS.
- Nella pagina Seleziona servizi ruolo, assicurati che Documento predefinito sia selezionato in Funzionalità HTTP comuni.
- Nella pagina Conferma, seleziona la casella di controllo che attiva il riavvio automatico del server di destinazione.
Verifica che ogni web server funzioni.
- Utilizza RDP per connetterti alla VM denominata
wsfc-dc
. - In Server Manager, fai clic su Server locale nel riquadro di navigazione a sinistra della finestra.
- Nella sezione Proprietà in alto, disattiva Configurazione di sicurezza avanzata di IE.
- Apri Internet Explorer.
Vai all'indirizzo IP di ogni server:
http://10.0.0.4/
http://10.0.0.5/
- Utilizza RDP per connetterti alla VM denominata
In ogni caso, visualizzi la pagina Benvenuto, che è la pagina web IIS predefinita.
Modificare le pagine web predefinite
Modifica ogni pagina web predefinita in modo da poter vedere facilmente quale server sta attualmente pubblicando la pagina.
- Utilizza RDP per connetterti alla VM denominata
wsfc-1
. - Esegui Blocco note come amministratore.
- Apri
C:\inetpub\wwwroot\iisstart.htm
in Blocco note. Ricordati di cercare Tutti i file, non solo i file di testo. Nell'elemento
<title>
, modifica il testo con il nome del server corrente. Ad esempio:<title>wsfc-1</title>
Salva il file HTML.
Ripeti questi passaggi per
wsfc-2
, impostando l'elemento<title>
suwsfc-2
.
Ora, quando visualizzi una pagina web pubblicata da uno di questi server, il nome del server viene visualizzato come titolo nella scheda di Internet Explorer.
Testa il failover
- Utilizza RDP per connetterti alla VM denominata
wsfc-dc
. - Apri Internet Explorer.
Vai all'indirizzo IP del ruolo del bilanciatore del carico:
http://10.0.0.9/
Viene visualizzata la pagina Benvenuto con il nome del server corrente visualizzato nel titolo della scheda.
Arresta il server attuale per simulare un errore. In Cloud Shell, esegui il comando seguente, sostituendo
[INSTANCE_NAME]
con il nome del server attuale visualizzato nel passaggio precedente, ad esempiowsfc-1
:gcloud compute instances stop [INSTANCE_NAME] --zone=[ACTIVE_ZONE]
Passa alla connessione RDP a
wsfc-dc
.Potrebbero essere necessari alcuni istanti prima che il bilanciatore del carico rilevi lo spostamento e reindirizzi il traffico.
Dopo circa 30 secondi, aggiorna la pagina in Internet Explorer.
Ora dovresti vedere il nome del nuovo nodo attivo visualizzato nel titolo della scheda. Ad esempio, se hai iniziato con
wsfc-1
attivo, ora vediwsfc-2
nel titolo. Se non vedi subito la modifica o visualizzi un errore di pagina non trovata, aggiorna di nuovo il browser.
Complimenti! Ora hai un cluster di failover di Windows Server 2016 funzionante in esecuzione su GCP.
Risoluzione dei problemi
Di seguito sono riportati alcuni problemi comuni che puoi verificare se le cose non funzionano.
Le regole firewall di Google Cloud bloccano il controllo di integrità
Se il controllo di integrità non funziona, verifica di avere una regola firewall per
attivare il traffico in entrata dagli indirizzi IP utilizzati dal sistema di controllo di integrità:
130.211.0.0/22
e 35.191.0.0/16
.
Windows Firewall blocca il controllo di integrità
Assicurati che la porta 59998 sia aperta in Windows Firewall su ogni nodo del cluster. Consulta Aprire Windows Firewall.
Nodi del cluster che utilizzano DHCP
È importante che ogni VM nel cluster abbia un indirizzo IP statico. Se una VM è configurata per utilizzare DHCP in Windows, modifica le impostazioni di rete in Windows per fare in modo che l'indirizzo IPv4 corrisponda all'indirizzo IP della VM come mostrato nella console Google Cloud . Imposta anche l'indirizzo IP del gateway in modo che corrisponda all'indirizzo del gateway della subnet nel VPC Google Cloud.
Tag di rete Google Cloud nelle regole firewall
Se utilizzi tag di rete nelle regole firewall, assicurati che i tag corretti siano impostati su ogni istanza VM. Questo tutorial non utilizza i tag, ma se li hai impostati per un altro motivo, devono essere utilizzati in modo coerente.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Al termine del tutorial, puoi liberare spazio eliminando le risorse che hai creato in modo che non utilizzino più la quota e non generino addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.
Eliminazione del progetto
Il modo più semplice per eliminare la fatturazione è quello di eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Pulizia delle risorse senza eliminare il progetto
Se devi mantenere il progetto, puoi eliminare le risorse del tutorial singolarmente.
Eliminazione di istanze
Per eliminare un'istanza di Compute Engine:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Eliminazione dei gruppi di istanze
- In the Google Cloud console, go to the Instance groups page.
- Select the checkbox for the instance group that you want to delete.
- To delete the instance group, click Delete.
Eliminazione di un bilanciatore del carico
Per eliminare un bilanciatore del carico:
Nella console Google Cloud , vai alla pagina Bilanciamento del carico.
Seleziona la casella di controllo accanto al nome del bilanciatore del carico che vuoi eliminare.
Fai clic sul pulsante Elimina nella parte superiore della pagina.
Eliminazione di una rete VPC
Per eliminare una rete VPC:
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic sul nome dell'emittente che vuoi eliminare.
Fai clic sul pulsante ELIMINA RETE VPC nella parte superiore della pagina.
Rilasciare gli indirizzi IP riservati
Utilizza Cloud Shell per rilasciare gli indirizzi IP riservati:
Nella console Google Cloud , vai a Cloud Shell.
Rilascia gli indirizzi IP riservati:
gcloud compute addresses delete cluster-access-point load-balancer-ip
Eliminazione dei dischi permanenti
Per eliminare un disco permanente:
Nella console Google Cloud vai alla pagina Dischi.
Seleziona la casella di controllo accanto al nome del disco che vuoi eliminare.
Fai clic sul pulsante Elimina nella parte superiore della pagina.
Passaggi successivi
- Tutorial su Active Directory.
- Esplora architetture di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.