Puoi creare un cluster di failover utilizzando Windows Server sulla Google Cloud Platform. Un gruppo di server lavora insieme per fornire una maggiore disponibilità (HA) per le tue applicazioni Windows. Se un nodo del cluster non funziona, un altro nodo può assumere il controllo dell'esecuzione del software. Puoi configurare il failover in modo che si verifichi automaticamente, che è la configurazione consueta, oppure puoi attivare manualmente un failover.
Questo tutorial presuppone che tu abbia dimestichezza con il clustering di failover, Active Directory (AD) e l'amministrazione di Windows Server.
Per una breve panoramica del networking in Google Cloud, consulta Google Cloud per professionisti dei data center: 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 principale che esegue Windows Server 2016 nella zona
a
. - Una seconda istanza, configurata in modo da corrispondere all'istanza principale nella zona
b
.
Inoltre, esegui il deployment di un controller di dominio AD, che per questo tutorial ha le seguenti finalità:
- Fornisce un dominio Windows.
- Risolve i nomi host in indirizzi IP.
- Ospita il testimone della condivisione file che funge da terzo "voto" per ottenere il quorum richiesto per il cluster.
Puoi creare il controller di dominio in qualsiasi zona. Questo tutorial utilizza la zona c
.
In un sistema di produzione, puoi ospitare il testimone della condivisione file altrove e non hai bisogno di un sistema AD separato solo per supportare il cluster di failover. Consulta
Passaggi successivi
per i link agli articoli sull'utilizzo di AD su Google Cloud.
I due server che utilizzerai per eseguire 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 dall'improbabile possibilità di un guasto zonale.
Il seguente diagramma descrive l'architettura di cui esegui il deployment seguendo questo tutorial.
Opzioni di archiviazione condiviso
Questo tutorial non illustra la configurazione di un file server per lo archiviazione condivisa ad alta disponibilità.
Google Cloud supporta più soluzioni di archiviazione condivisa che puoi utilizzare con il clustering di failover di Windows Server, tra cui:
Per informazioni su altre possibili soluzioni di archiviazione condivisa, vedi:
Informazioni sul routing di rete
Quando si verifica il failover del cluster, 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 Google Cloud, il sistema Virtual Private Cloud (VPC) utilizza la networking software-defined, che non sfrutta gli indirizzi MAC. Ciò significa che le modifiche trasmesse dall'ARP non influiscono affatto sul routing. Per far funzionare il 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 alla VPC per condividere il carico. Per il clustering con failover, utilizza 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 di agente Compute Engine che fornisce il supporto per il clustering di failover di Windows. L'agente tiene traccia degli indirizzi IP per l'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à invia periodicamente un ping all'agente su ogni nodo del cluster utilizzando l'indirizzo IP fisso dell'istanza VM tramite una determinata porta. 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 per la 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.
Che 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 ha avuto un errore.
- Il clustering con failover sposta le risorse e i ruoli del cluster dal nodo in stato di errore al nodo migliore, come definito dal quorum. Questa azione include lo spostamento degli indirizzi IP associati.
- Il clustering con failover trasmette pacchetti ARP per notificare ai router di rete basati su hardware che gli indirizzi IP sono stati spostati. Per questo scenario, la rete Google Cloud ignora questi pacchetti.
- Dopo lo spostamento, l'agente Compute Engine sulla VM del nodo con problemi cambia la risposta al controllo di integrità da 1 a 0, perché la VM non ospita più l'indirizzo IP specificato nella richiesta.
- Analogamente, l'agente Compute Engine sulla VM per il nodo appena attivato cambia la risposta al controllo di integrità da 0 a 1.
- Il bilanciatore del carico interno smette di instradare il traffico al nodo in errore e lo instrada al nodo appena attivato.
Riepilogo
Ora che hai esaminato alcuni concetti, ecco alcuni dettagli da notare sul 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 si tratta del nodo del cluster attivo. Perwsfc-1
, la risposta è 0. - Il bilanciatore del carico instrada le richieste a
wsfc-2
, come indicato dalla freccia. - Sia il bilanciatore del carico sia
wsfc-2
hanno l'indirizzo IP10.0.0.9
. Per il bilanciatore del carico, si tratta dell'indirizzo IP di frontend specificato. Per la VM, si tratta dell'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é al momento ospita le risorse del cluster.
Consigli per seguire questo tutorial
Questo tutorial prevede molti passaggi. A volte ti viene chiesto di seguire i passaggi descritti in documenti esterni, come la documentazione di Microsoft. Non perderti le note in questo documento che forniscono informazioni specifiche 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 con failover, questo tutorial utilizza principalmente Cloud Shell per semplificare la procedura. Questo approccio ti consente di completare il tutorial più rapidamente. Se più appropriato, alcuni passaggi utilizzano invece la console Google Cloud.
Ti consigliamo di eseguire snapshot dei dischi permanenti di Compute Engine durante l'operazione. Se qualcosa va storto, puoi utilizzare uno snapshot per evitare di dover ricominciare da capo. Questo tutorial suggerisce i momenti migliori per acquisire gli screenshot.
Se noti che le cose non funzionano come previsto, potresti trovare 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 come testimone per il quorum e un ruolo per il carico di lavoro.
- 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 per eseguire questo tutorial può essere elevato se lasci in esecuzione le VM. 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 Google Cloud nelle vicinanze:gcloud compute networks subnets create wsfcnetsub1 --network wsfcnet --region [YOUR_REGION] --range 10.0.0.0/16
Il nome della sottorete 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 della rete per allocare intervalli appropriati per gli indirizzi IP dei sistemi.
Crea regole firewall
Per impostazione predefinita, la rete è chiusa al traffico esterno. Devi aprire le porte nel
firewall per consentire 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 attivare le connessioni RDP. Nel comando seguente, sostituisci
[YOUR_IPv4_ADDRESS]
con l'indirizzo IP del computer che utilizzi per connetterti alle 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 sottorete, 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 utilizzato per creare la sottorete.Visualizza le regole del 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 con failover in Compute Engine
Per attivare il clustering con 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 al momento della creazione delle VM, come spiegato 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 3 server. Utilizza il comando gcloud
in Cloud Shell.
Crea il primo server del nodo del cluster
Crea una nuova istanza Compute Engine. Configura l'istanza come segue:
- 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 attivare 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 il seguente comando, sostituendo [YOUR_ZONE_1]
con il nome
della tua 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 del nodo del cluster
Per il secondo server, segui gli stessi passaggi, tranne che:
- 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, ad eccezione di:
- Imposta il nome dell'istanza su:
wsfc-dc
. - Imposta il flag
--zone
su una zona diversa da quella utilizzata 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.
Generazione di password
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza VM per cui hai bisogno di una nuova password.
Nella pagina dei dettagli dell'istanza, fai clic sul pulsante Imposta password di Windows. Viene generata una password. 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 cliente esistente.
- Aggiungi un plug-in RDP di Chrome al browser, quindi connettiti tramite la console Google 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 durante la creazione delle 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 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 la 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".
In Gateway predefinito, inserisci
10.0.0.1
, l'indirizzo IP che è stato riservato automaticamente per il gateway predefinito quando hai creato la subnetwsfcnetsub1
.L'indirizzo IP del gateway predefinito è sempre il secondo indirizzo nell'intervallo IP principale di una subnet. Consulta Indirizzi inutilizzabili negli intervalli di subnet IPv4.
Solo per
wsfc-1
ewsfc-2
:Fai clic su Utilizza i seguenti indirizzi server DNS.
In Server DNS preferito, inserisci "10.0.0.6".
Chiudi tutte le finestre di dialogo.
Perderai la connettività RDP perché queste modifiche reimpostano l'adattatore di rete virtuale per l'istanza VM.
Chiudi la sessione RDP e ricollegati 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 Protocollo internet versione 4 (TCP/IPv4) e aggiorna l'impostazione.
È un buon momento per acquisire istantanee 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 di Windows, imposta una password per l'account amministratore locale.
- Attiva l'account amministratore locale.
Segui i passaggi descritti nelle istruzioni di Microsoft riportate di seguito per configurare il controller di dominio, tenendo conto di 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.
- Esegui la promozione del file server a controller di dominio.
- Durante il passaggio Aggiungi una nuova foresta, assegna al dominio il nome "WSFC.TEST".
- Imposta il nome di dominio NetBIOS su "WSFC" (il valore predefinito).
È un buon momento per acquisire uno snapshot di wsfc-dc
.
Crea l'account utente del dominio
Il riavvio di wsfc-dc
potrebbe richiedere del tempo. Prima di aggiungere i server al
dominio, utilizza RDP per accedere a wsfc-dc
e verificare che il controller di dominio sia in esecuzione.
È necessario un utente di 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, posiziona il puntatore del mouse su 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 le 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 ogni volta che è necessario. In un sistema di produzione, segui le tue consuete best practice per la sicurezza per l'allocazione di account e autorizzazioni. Per maggiori informazioni, consulta la Panoramica degli account Active Directory necessari per un cluster di failover.
Collega i server al dominio
Aggiungi i due server nodo del cluster al dominio WSFC.TEST
. Esegui i seguenti passaggi su ciascun server del nodo del cluster (wsfc-1
e wsfc-2
):
- In Server Manager > Server locale, nel riquadro Proprietà, fai clic su GRUPPO DI LAVORO.
- Fai clic su Cambia.
- Seleziona Dominio e inserisci "WSFC.TEST".
- Fai clic su OK.
- Fornisci le credenziali per l'accesso di
WSFC.TEST\cluster-admin
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 punto per acquisire snapshot di tutte e tre le VM.
Configurazione del clustering con failover
Riserva un indirizzo IP per il cluster in Compute Engine
Quando crei il cluster di failover, assegna un indirizzo IP per creare un punto di accesso amministrativo. In un ambiente di produzione, potresti usare 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 IP.
Apri un terminale su una VM host o 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 descritti nelle istruzioni di Microsoft riportate 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 Failover Cluster Manager come utente del dominio
WSFC.TEST\cluster-admin
. In caso contrario, potresti riscontrare problemi di autorizzazioni. Ti consigliamo di eseguire sempre Failover Cluster Manager in questo modo o di collegarti a un server comecluster-admin
per assicurarti 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 selezionati e fai clic su Avanti.
Nella pagina Selezione test, deseleziona Archiviazione perché l'opzione Archiviazione non andrà a buon fine se eseguita su Compute Engine (come accade per i server fisici autonomi separati).
Di seguito sono riportati alcuni problemi comuni che potresti riscontrare durante la convalida del cluster:
- Una sola interfaccia di rete tra le repliche. Puoi ignorarla perché non si applica in una configurazione basata su cloud.
- Windows Update non è uguale su entrambe le repliche. Se hai configurato le istanze Windows in modo che applichino 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, che deve essere riavviato per applicarle. Non ignorarlo.
- I server non hanno tutti lo stesso ruolo di dominio. Puoi ignorarla.
- I server non si trovano tutti nella stessa unità organizzativa (OU). Questo tutorial non utilizza un'OU, ma in un sistema di produzione valuta la possibilità di inserire il cluster in una propria OU. Le istruzioni di Microsoft descrivono questa best practice.
- Sono stati trovati driver non firmati. Puoi ignorarlo.
Nella pagina Riepilogo, puoi selezionare Crea subito il cluster utilizzando i nodi convalidati per continuare a creare il cluster anziché chiudere e riaprire la procedura guidata.
Nella procedura guidata Crea 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 ti consente di eseguire azioni sul cluster da strumenti come Windows PowerShell. Aggiungi l'account del dominio cluster-admin
come amministratore del cluster.
- Sul nodo del cluster che ospita le risorse del cluster, in Failover Cluster Manager, 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 gruppi o utenti, seleziona Controllo completo nel riquadro Autorizzazioni. - Fai clic su Applica e su OK.
Questo è un buon punto per acquisire snapshot.
Creazione del testimone della 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'attestazione della condivisione file.
Questo tutorial aggiunge semplicemente una cartella condivisa al server del controller di dominio. Se questo server dovesse andare 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 presume che le funzionalità dell'infrastruttura Google Cloud, come la migrazione live e il riavvio automatico, forniscano affidabilità sufficiente per mantenere attiva la cartella condivisa.
Se vuoi creare un testimone della condivisione file con una maggiore disponibilità, hai a disposizione le seguenti opzioni:
- Utilizza un cluster di server Windows per fornire la condivisione utilizzando Storage Spaces Direct. Questa funzionalità di Windows Server 2016 può fornire una condivisione ad alta disponibilità per il testimone del quorum. Ad esempio, puoi creare un cluster per il controller di dominio Active Directory per fornire contemporaneamente sia servizi di dominio ad alta disponibilità sia il testimone della condivisione file.
- Utilizza un software di replica dei dati, come SIOS Datakeeper, con Windows Server Failover Clustering per la replica sincrona o asincrona.
Per creare la condivisione dei file per il testimone:
- Collegarti a
wsfc-dc
. Questo server ospita la condivisione file. - In Explorer, vai al disco
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 assegnale il nome
clusterwitness-testcluster
.
Configurare la condivisione per il testimone della condivisione file
Devi impostare le autorizzazioni sulla cartella del testimone della condivisione file per consentire al cluster di utilizzarla.
- In Explorer, 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 testimone della condivisione file al cluster di failover
Ora configura il cluster di failover in modo che utilizzi il testimone della condivisione file come voto per il quorum.
- Sul computer che ospita le risorse del cluster (
wsfc-1
), apri Failover Cluster Manager. - Nel riquadro a sinistra, fai clic con il tasto destro del mouse sul nome del cluster (testcluster.WSFC.TEST), poi vai su Altre azioni e infine fai clic su Configura impostazioni quorum cluster.
- Nel riquadro Seleziona opzione di configurazione del quorum, scegli Seleziona il testimone del quorum.
- Nel riquadro Seleziona il testimone del quorum, scegli Configura un testimone della condivisione file.
- In 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 dovrebbe ora 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
, prendi nota del nome del server host attuale in Failover Cluster Manager. - Esegui Windows PowerShell come
cluster-admin
. In PowerShell, esegui il seguente comando per modificare il server host corrente:
Move-ClusterGroup -Name "Cluster Group"
Il nome del server host attuale dovrebbe cambiare nell'altra VM.
Se il problema persiste, rivedi i passaggi precedenti e controlla se hai perso qualcosa. Il problema più comune è la mancanza di una regola firewall che blocca l'accesso alla rete. Per altri problemi da verificare, consulta la sezione Risoluzione dei problemi.
In caso contrario, ora puoi passare alla configurazione del bilanciatore del carico interno, che è necessario per instradare il traffico di rete all'attuale server host nel cluster.
È un buon momento per acquisire istantanee.
Aggiunta di un ruolo al cluster di failover
In Windows Failover Clustering, i ruoli ospitano i workload clusterizzati. Puoi utilizzare un ruolo per specificare nel cluster l'indirizzo IP utilizzato dalla tua applicazione. Per questo tutorial, aggiungi un ruolo per il carico di lavoro di test, ovvero il server web Internet Information Services (IIS), e assegna un indirizzo IP al ruolo.
Riserva 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 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
Aggiungi il ruolo
Segui questi passaggi:
- In Failover Cluster Manager, nel riquadro Azioni, seleziona Configura ruolo.
- Nella pagina Seleziona ruolo, seleziona Altro server.
- Nella pagina Punto di accesso client, 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 console Google Cloud, perché l'interfaccia utente ti offre una buona visione di come è organizzato il bilanciamento del carico interno.
Creerai anche un gruppo di istanze Compute Engine per ogni zona nel 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 contenente un nodo del cluster e poi 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 Nome, inserisci "wsfc-lb".
- Seleziona la tua regione attuale.
- Seleziona
wsfcnet
per Rete.
Configura il backend
Ricorda che il bilanciatore del carico interno di Google Cloud utilizza un controllo di integrità periodico per determinare il nodo attivo. Il controllo di integrità invia un ping all'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 clusterizzato. L'agente risponde con un valore pari a 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 selezionando il nome e facendo clic su Fine.
Creare un controllo di integrità.
- In Nome, inserisci "wsfc-hc".
- Accetta l'impostazione predefinita del protocollo TCP e modifica la porta in "59998" per le risposte dell'agente host del cluster.
- In Richiesta, inserisci "10.0.0.9".
- In 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 semplificare, proverai il sistema inviando richieste tra le VM nella sottorete.
Nel sistema di produzione, probabilmente vorrai aprire il sistema al traffico esterno, ad esempio al 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 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 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 istante.
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à richiede 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 il comando seguente 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 Personalizzata 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 questa 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 avviato il bilanciatore del carico interno, puoi controllarne lo stato per verificare che riesca a 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 i gruppi di istanze elencati.
Nella seguente immagine 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 Intatto. Il gruppo di istanzewsfc-group-2
contiene il nodo non attivo, come indicato da 0 / 1.Se in entrambi i gruppi di istanze viene visualizzato 0 / 1, il bilanciatore del carico potrebbe essere ancora in sincronizzazione con i nodi. A volte, devi eseguire almeno un'azione di failover per consentire al bilanciatore del carico di trovare l'indirizzo IP.
In Failover Cluster Manager, 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 > Nodo migliore possibile. Questa azione sposta il ruolo sull'altro nodo, come mostrato nella colonna Nodo proprietario.
Attendi che lo stato Running (In esecuzione) venga visualizzato in Status (Stato).
Torna alla pagina Dettagli del bilanciatore del carico, fai clic su Aggiorna e verifica che i valori 1 / 1 e 0 / 1 nella colonna Intatto abbiano cambiato gruppo di istanze.
gcloud compute backend-services get-health wsfc-lb --region=[REGION]
L'output è il 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 la tua applicazione su ogni nodo e impostarla per l'esecuzione in un ambiente cluster.
Per questo tutorial, devi configurare qualcosa che possa dimostrare che il cluster funziona effettivamente con il bilanciatore del carico interno. Configura IIS su ogni VM per pubblicare una semplice pagina web.
Non stai configurando IIS per l'HA nel cluster. Stai creando istanze IIS separate che pubblicano ciascuna una pagina web diversa. Dopo un failover, il web server pubblica i propri contenuti, non quelli condivisi.
La configurazione dell'applicazione o di IIS per l'HA esula dall'ambito di questo tutorial.
Configurare IIS
Su ogni nodo del cluster, installa IIS.
- Nella pagina Seleziona i servizi di 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 server web funzioni.
- Utilizza RDP per connetterti alla VM denominata
wsfc-dc
. - In Server Manager, fai clic su Server locale nel riquadro di navigazione sul lato sinistro della finestra.
- Nella sezione Proprietà in alto, disattiva Configurazione di sicurezza avanzata di IE.
- Apri Internet Explorer.
Vai all'indirizzo IP di ciascun server:
http://10.0.0.4/
http://10.0.0.5/
- Utilizza RDP per connetterti alla VM denominata
In ogni caso, viene visualizzata la pagina Welcome, ovvero la pagina web IIS predefinita.
Modificare le pagine web predefinite
Modifica ogni pagina web predefinita in modo da poter vedere facilmente quale server la sta attualmente pubblicando.
- 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 Ti diamo il benvenuto con il nome del server corrente visualizzato nel titolo della scheda.
Arresta il server corrente per simulare un errore. In Cloud Shell, esegui il comando seguente, sostituendo
[INSTANCE_NAME]
con il nome del server corrente 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 il trasferimento e reindirizzi il traffico.
Dopo circa 30 secondi, aggiorna la pagina in Internet Explorer.
A questo punto, dovresti vedere il nome del nuovo nodo attivo visualizzato nel titolo della scheda. Ad esempio, se hai iniziato con
wsfc-1
attivo, ora vedraiwsfc-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 Windows Server 2016 funzionante su Google Cloud.
Risoluzione dei problemi
Di seguito sono riportati alcuni problemi comuni che puoi verificare se qualcosa non funziona.
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
.
Il firewall di Windows blocca il controllo di integrità
Assicurati che la porta 59998 sia aperta nel firewall di Windows su ogni nodo del cluster. Consulta Apri Windows Firewall.
Nodi del cluster che utilizzano DHCP
È importante che ogni VM del cluster abbia un indirizzo IP statico. Se una VM è configurata per utilizzare DHCP in Windows, modifica le impostazioni di rete in Windows 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 sottorete nella VPC Google Cloud.
Tag di rete Google Cloud nelle regole firewall
Se utilizzi i tag di rete nelle regole del firewall, assicurati che i tag corretti siano impostati su ogni istanza VM. Questo tutorial non utilizza i tag, ma se li hai impostati per qualche 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 eliminare le risorse che hai creato in modo che smettano di utilizzare la quota e di generare addebiti. Le seguenti sezioni descrivono come eliminare o disattivare queste risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai 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.
Eliminare le risorse senza eliminare il progetto
Se devi mantenere il progetto, puoi eliminare le risorse del tutorial singolarmente per eseguire la pulizia.
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 di 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 da 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 della rete 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 da 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.