Questa pagina descrive la resilienza delle applicazioni per Google Cloud NetApp Volumes e il modo in cui i client NFS, SMB e iSCSI gestiscono le pause di I/O. Sebbene NetApp Volumes sia a elevata disponibilità, le operazioni di I/O possono essere messe in pausa brevemente durante la manutenzione pianificata o gli eventi di servizio non pianificati. Questa pagina consiglia anche le impostazioni di timeout per garantire il corretto funzionamento dell'applicazione, soprattutto quando utilizzi software di cluster come Pacemaker.
Considerazioni sulla resilienza delle applicazioni
Sebbene NetApp Volumes sia a elevata disponibilità, gli eventi di manutenzione pianificata, come gli aggiornamenti della piattaforma, gli upgrade del servizio, gli upgrade del software o i guasti dei componenti non pianificati nel servizio, possono causare brevi pause nelle operazioni di input e output (I/O).
Per saperne di più sugli eventi di manutenzione pianificata e sulle interruzioni del servizio non pianificate, consulta Monitorare e pianificare un evento di manutenzione.
Pause di I/O
Il software client Network File System (NFS), Server Message Block (SMB) e iSCSI all'interno del sistema operativo gestisce le brevi pause di I/O. Il client attende e riprova le operazioni di I/O senza segnalare il problema all'applicazione. Queste brevi pause sono considerate non disruptive perché, sebbene gli utenti dell'applicazione possano riscontrare tempi di risposta più lunghi, l'applicazione non segnala errori di I/O.
Per le pause di I/O più lunghe, il comportamento dipende dal client NFS, SMB o iSCSI del sistema operativo e dai potenziali timeout configurati nell'applicazione. Le sezioni seguenti descrivono i dettagli specifici del protocollo per le pause di I/O.
Pause di I/O NFS
Tutte le chiamate a una condivisione NFS non disponibile e montata in modo rigido vengono bloccate nel client NFS e attendono indefinitamente finché il server NFS non risponde di nuovo. Mentre il client NFS attende, nei log del client vengono visualizzati messaggi che indicano che il server NFS non risponde.
Dal punto di vista dell'applicazione, le operazioni di I/O come la lettura o la scrittura vengono bloccate e rimangono in sospeso finché la condivisione NFS non viene restituita correttamente. Durante le pause di I/O, nessuna operazione di I/O viene mai persa e NetApp Volumes garantisce la coerenza dei dati, a meno che tu non interrompa forzatamente le operazioni di I/O in sospeso sul lato client.
Utilizzare le applicazioni software di cluster per automatizzare i failover
Se utilizzi applicazioni software di cluster come Pacemaker sulle VM client per automatizzare il failover dell'applicazione, configura i timeout per le condivisioni NFS in modo che resistano agli eventi di manutenzione di NetApp Volumes. Questi failover interrompono le operazioni di I/O in sospeso sul client e possono causare la perdita di transazioni. Ti consigliamo di utilizzare i seguenti timeout:
| Tipo di protocollo | Timeout consigliato | Note |
|---|---|---|
| Condivisioni NFSv3 | 60 secondi (per i livelli di servizio Standard, Premium, Extreme e Flex Unified)
120 secondi (per il livello di servizio Flex File) |
Ti consigliamo di utilizzare un metodo di fencing, che utilizza l'opzione di montaggio
nolock anziché basarsi sui blocchi NFS. |
| NFSv4.1 | 105 secondi (per i livelli di servizio Standard, Premium, Extreme e Flex Unified)
165 secondi (per il livello di servizio Flex File) |
Il protocollo NFSv4.1 aggiunge automaticamente un blocco affidabile su NFSv3 (RFC NFSv4.x, sezione 9.6.2), che puoi utilizzare come meccanismo di fencing. Il recupero dello stato di blocco aggiunge altri 45 secondi. |
Pause di I/O della condivisione SMB
A differenza di NFS, le sessioni SMB utilizzano una connessione che può andare in timeout. In genere, NetApp Volumes evita i timeout.
Timeout della sessione
Il timeout della sessione è definito nel client. Il timeout predefinito per i client Windows è di 60 secondi. Puoi eseguire il comando Get-SmbClientConfiguration/Set-SmbClientConfiguration utilizzando il parametro SessionTimeout per leggere o modificare il timeout della sessione.
Se si verifica un timeout della sessione, la sessione SMB viene interrotta e all'applicazione che esegue l'I/O viene segnalato un errore di I/O. Esplora file o le applicazioni Microsoft 365 in genere si riconnettono non appena l'utente accede di nuovo alla condivisione SMB. Quando si verificano errori di I/O, alcune applicazioni tentano di riconnettersi e riprovare l'operazione di I/O non riuscita, mentre altre no. Consulta la documentazione del fornitore dell'applicazione per capire come l'applicazione gestisce i timeout SMB e opera in modo resiliente sulle condivisioni SMB.
Le condivisioni a disponibilità continua (CA) sono una funzionalità SMB3.x che migliora la resilienza del failover per le applicazioni di tipo database. NetApp Volumes supporta le condivisioni a disponibilità continua per Microsoft SQL Server e FSLogix.
Il ripristino in caso di errore migliora con ogni nuova versione di SMB. NetApp Volumes supporta SMB 2.1, 3.0 e 3.1.1. Se possibile, utilizza l'ultima versione di SMB supportata. Windows 10/Server 2016 e versioni successive supportano l'ultima versione di SMB 3.1.1.
Precauzioni basate sull'applicazione SMB
Alcune applicazioni basate su SMB richiedono il failover trasparente SMB. Il failover trasparente SMB consente di eseguire operazioni di manutenzione sui volumi SMB all'interno di NetApp Volumes senza interrompere la connettività con le applicazioni server che archiviano e accedono ai dati. NetApp Volumes supporta l'opzione per le condivisioni SMB a disponibilità continua per assicurarsi che applicazioni specifiche supportino il failover trasparente SMB. L'utilizzo di condivisioni SMB a disponibilità continua supporta solo i seguenti workload:
Container dei profili utente FSLogix
Microsoft SQL Server (non Linux SQL Server)
Le condivisioni SMB a disponibilità continua non supportano le applicazioni personalizzate.
Pause di I/O iSCSI
Negli ambienti Linux e Windows, i client iSCSI (iniziatori) gestiscono le pause di I/O riprovando i comandi finché la destinazione (NetApp Volumes) non diventa disponibile. Durante i brevi eventi di manutenzione, l'iniziatore iSCSI tenta di riconnettersi e riprendere le operazioni di I/O in sospeso, il che contribuisce a mantenere la resilienza dell'applicazione.
Timeout iSCSI
La corretta configurazione dei timeout iSCSI è essenziale per mantenere la resilienza dell'applicazione durante gli eventi di manutenzione o le interruzioni impreviste del servizio.
Per i sistemi Linux, NetApp Volumes utilizza le impostazioni predefinite dell'iniziatore iSCSI. Queste impostazioni includono configurazioni specifiche di NetApp all'interno di Device Mapper Multipath Linux predefinito, che gestisce automaticamente i requisiti di timeout durante gli eventi di manutenzione di NetApp Volumes.
Tuttavia, per i sistemi Windows, modifica le impostazioni MPIO di Windows utilizzando il seguente comando per gestire gli eventi di manutenzione di NetApp Volumes.
Set-MPIOSetting -NewPathVerificationState Enabled ` -NewPDORemovePeriod 130 ` -NewRetryCount 6 ` -CustomPathRecovery Enabled ` -NewPathRecoveryInterval 30 `
Durante le pause di I/O, l'iniziatore iSCSI riprova i comandi e mantiene l'I/O in sospeso per la durata del timeout. Se il timeout viene superato, il sistema operativo potrebbe segnalare errori di I/O all'applicazione, il che può comportare la perdita di transazioni o richiedere il ripristino a livello di applicazione.
Considerazioni su applicazioni e cluster
Se utilizzi software o applicazioni di clustering che automatizzano il failover, configura i timeout iSCSI in modo che si adattino agli eventi di manutenzione di NetApp Volumes. Un failover prematuro può interrompere le operazioni di I/O in sospeso e potrebbe comportare la perdita di dati o transazioni. Consulta sempre la documentazione dell'applicazione e del sistema operativo per le best practice sulle impostazioni di timeout iSCSI.
Interruzioni delle applicazioni correlate agli eventi di manutenzione
Di tanto in tanto potrebbero verificarsi eventi di manutenzione pianificata, ad esempio per gli upgrade della piattaforma e del software di servizio. Gli eventi di manutenzione sono considerati non disruptive dal punto di vista del protocollo di file (NFS o SMB), a condizione che l'applicazione sia in grado di gestire le pause di I/O che potrebbero verificarsi durante questi eventi.
Per i livelli di servizio Standard, Premium ed Extreme, le pause di I/O sono in genere brevi e vanno da pochi secondi a 30 secondi.
Per il livello di servizio Flex, le pause di I/O possono durare fino a 70 secondi.
Passaggi successivi
Scopri di più sulle considerazioni sulla sicurezza di Google Cloud NetApp Volumes security considerations.