Considerazioni sulla rete Live Migration e CSV

Il cluster di Hyper-V utilizza le seguenti reti per il suo funzionamento:

Rete Descrizione Requisiti di banda Tipo di accesso raccomandato
Storage Accesso allo storage condiviso tramite iSCSI, Fiber Channell o SMB in WS2012 e succ. Banda elevata e bassa latenza Dedicato e privato
Macchine virtuali Utilizzata dai client per accedere ai workloads eseguiti dalle VM Dipendente dai workloads Pubblico, può essere messa in teaming per ottenere aggregazione di banda e fail over
Gestione Gestione di Hyper-V tramite la console di gestione di Hyper-V o System Center Virtual Machine manager Banda bassa, può aumentare quando si esegue il deploy di una VM tramite SCVMM Pubblico, può essere messa in Teaming per ottenere fail over
Heartbeat Utilizzata per le comunicazioni intra-cluster per testare la raggiungibilità dei nodi Banda banda e bassa latenza Accesso privato
Cluster Shared Volume Utilizzata dal CSV per inviare i dati tra il nodo proprietario gli altri nodi. Nel caso in cui la rete dello storage vada in fail, questa rete viene usata per raggiungere a ed eseguire il backup del CSV. E’ necessario che tale rete sia ridondata per avere alta affidabilità Banda bassa e bassa latenza in condizioni normali. Occasionalmente banda elevata Accesso privato
Live Migration Utilizzata per il trasferimento della memoria e dello stato delle VM Banda alta e bassa latenza durante la migrazione delle VM Accesso privato

 

Di seguito alcune note per meglio comprendere la tabella:

  • Accesso pubblico significa che la rete può avere una subnet condivisa con un’altra rete questo significa che se si dedicano più NIC per le VM è possibile, in relazione allo scenario da gestire, utilizzarle anche per la rete di Management.
  • Accesso privato significa che la rete deve avere una subnet dedicata e quindi se possibile NIC dedicate.
  • Accesso dedicato significa che deve avere hardware dedicato (NIC e Switch)

Una delle prime considerazioni è il numero di schede di rete necessarie, se si considera un cluster a due nodi per un’infrastruttura di medie-piccole dimensioni è possibile ipotizzare il seguente scenario che garantisce il giusto connubio tra performance e failover per ciascuna rete:

Rete Schede di rete Configurazione
Storage

2

MPIO
Macchine virtuali e Gestione

2

Teaming
CSV e Heartbeat

2

Teaming o due subnet separate
Live Migration

2

Teaming o due subnet separate

 

La Live Migration in  Windows Server 2012 utilizza una connessione TCP quindi il NIC Teaming non da vantaggi dal punto di vista dell’aggregazione di banda, ma solo del Failover, mentre in Windows Server 2012 R2 la Live Migration può utilizzare l’SMB 3.0 e quindi può trarre vantaggio dal NIC Teaming anche in termini di aggregazione di banda, a riguardo si veda Configure Live Migration and Migrating Virtual Machines without Failover Clustering:

The following live migrations performance options are available:

  • TCP/IP: The memory of the virtual machine is copied to the destination server over a TCP/IP connection. This is the same method that is used in Hyper-V in Windows Server 2012.
  • Compression: The memory content of the virtual machine that is being migrated is compressed and then copied to the destination server over a TCP/IP connection.
  • SMB: The memory content of the virtual machine is copied to the destination server over a SMB 3.0 connection.
    – SMB Direct is used when the network adapters on the source and destination servers have Remote Direct Memory Access (RDMA) capabilities enabled.
    – SMB Multichannel automatically detects and uses multiple connections when a proper SMB Multichannel configuration is identified.

Il NIC Teaming in Windows Server 2012, a voler essere precisi, può dare la possibilità di utilizzare più connessioni quando si esegue una Live Migration verso host diversi, quindi nel caso di un cluster con almeno 3 nodi, a riguardo si veda Why NIC Team Bandwidth Seems Limited.

Il CSV in Windows Server 2012 è in grado di utilizzare SMB 3.0 e in particolare SMB Multichannel, SMB Direct questo significa che la rete del CSV può trarre vantaggio dall’uso del NIC Teaming dal punto di vista del failover sia dal punto di vista dell’aggregazione di banda come riportato in Use Cluster Shared Volumes in a Windows Server 2012 Failover Cluster:

Consider the following when you configure the networks that support CSVs.

  • Multiple networks and multiple network adapters. To enable fault tolerance in the event of a network failure, we recommend that multiple cluster networks carry CSV traffic or that you configure teamed network adapters.
    If the cluster nodes are connected to networks that should not be used by the cluster, you should disable them. For example, we recommend that you disable iSCSI networks for cluster use to prevent CSV traffic on those networks. To disable a network, in Failover Cluster Manager, click Networks, click the network, click the Properties action, and then select Do not allow cluster network communication on this network. Alternatively, you can configure the Role property of the network by using the
    Get-ClusterNetwork Windows PowerShell cmdlet.
  • Network adapter properties. In the properties for all adapters that carry cluster communication, make sure that the following settings are enabled:
  • Client for Microsoft Networks and File and Printer Sharing for Microsoft Networks. These settings support Server Message Block (SMB) 3.0, which is used by default to carry CSV traffic between nodes. To enable SMB, also ensure that the Server service and the Workstation service are running and that they are configured to start automatically on each cluster node.
    SMB 3.0 includes the SMB Multichannel and SMB Direct features, which allow CSV traffic to stream across multiple networks in the cluster and to leverage network adapters that support Remote Direct Memory Access (RDMA). By default, SMB Multichannel is used for CSV traffic. For more information, see
    Server Message Block overview.
  • Microsoft Failover Cluster Virtual Adapter Performance Filter. This setting improves the ability of nodes to perform I/O redirection when it is required to reach CSVs, for example, when a connectivity failure prevents a node from connecting directly to the CSV disk. For more information, see About I/O synchronization and I/O redirection in CSV communication in this topic.

Va comunque precisato che se si hanno NIC con supporto a RSS l’SMB 3.0 può utilizzare l’SMB Multichanell anche senza il NIC Teaming, a riguardo si veda il mio post SMB 3.0, SMB Multichannel e SMB 3.02. Inoltre l’adozione del NIC Teaming comporta alcune restrizioni come indicato in Windows Server 2012 Hyper-V Best Practices (In Easy Checklist Form):

TCP Chimney Offload is not supported with Server 2012 software-based NIC teaming, due to TCP Chimney has the entire networking stack offloaded to the NIC. If software-based NIC teaming is not used, however, you can leave it enabled.

If you are using NIC teaming for Management, CSV Heartbeat and/or Live Migration, create the team(s) before you begin assigning Networks.

VLANS: If aggregate NIC Teaming is enabled for Management and/or Live Migration networks, the physical switch ports the host is connected to should be set to trunk (promiscuous) mode. The physical switch should pass all traffic to the host for filtering.

VLANS: Turn off VLAN filters on teamed NICs. Let the teaming software or the Hyper-V switch (if present) do the filtering.

Volendo essere pignoli il NIC Teaming permettere una ridondanza maggiore, infatti se si considera che le reti CVS o Live Migration siano connesse tramite due reti su due switch è possibile fare le seguenti considerazioni:

image

  • Le due reti (rossa e verde) sono connesse tra loro su due switch diversi per avere ridondanza nel caso di fail di uno switch (rete rossa connessione tra NIC A1 e NIC B1 e rete verde connessione tra NIC A2 e NIC B2).
  • Se vengono configurare due reti senza il NIC Teaming attivato tra NIC A1 e NIC A2 e tra NIC B1 e NIC B2 se vanno in fault la NIC A1 e la NIC B2 (oppure la NIC A2 e la NIC NIC B1) non vi sarà raggiungibilità tra i due host. Tra l’altro si noti che in questa configurazione connettere tra loro gli switch non serve.
  • Se viene configurata una rete sola, ma con le due NIC sugli host in NIC Teaming dovranno rompersi entrambe le schede di rete sullo stesso host affinché non vi sia raggiungibilità, infatti grazie alla connessione tra gli switch (meglio se tramite due porte in link aggregation per failover e aggregazione di banda) gli host saranno comunque raggiungibili.

Per quanto riguarda l’uso delle VLAN se per le reti Live Migration, CSV e Heartbeat vengono utilizzati switch dedicati è anche possibile non utilizzarle in quanto il loro scopo sarebbe quello di aumentare la sicurezza come indicato in Configure Live Migration and Migrating Virtual Machines without Failover Clustering:

Will you allow live migration traffic through any available network, or isolate the traffic to specific networks? As a security best practice, we recommend that you isolate the traffic onto trusted, private networks because live migration traffic is not encrypted when it is sent over the network. Network isolation can be achieved through a physically isolated network or through another trusted networking technology such as VLANs.

Conclusioni

La struttura di rete di cluster deve essere concepita col giusto connubio tra semplicità, performance e sicurezza, ma nel dubbio su quale soluzione scegliere conviene sempre favorire quella semplifica l’infrastruttura sia in termini di hardware che di configurazione perché la semplicità tornerà a nostro vantaggio se si presenterà una situazione di fail.

Quindi se sono disponibili NIC con supporto all’RSS e due switch dedicati per le reti Live Migration, CSV e Heartbeat la configurazione più semplice che garantisce ridondanza e aggregazione di banda sarebbe la seguente:

Rete Schede di rete Configurazione
Storage

2

MPIO
Macchine virtuali e Gestione

2

Teaming
CSV e Heartbeat

2

Due subnet separate
Live Migration

2

Due subnet separate, multiconnessioni possibili solo in WS2012 R2 tramite SMB

Volendo una configurazione maggiormente ridondata per quanto riguarda le reti Live Migration, CSV e Heartbeat si potrebbe optare per la seguente ricordando che il NIC Teaming deve essere configurato prima di configurare il cluster:

Rete Schede di rete Configurazione
Storage

2

MPIO
Macchine virtuali e Gestione

2

Teaming
CSV e Heartbeat

2

NIC Teaming
Live Migration

2

NIC Teaming, multiconnessioni possibili solo in WS2012 R2 tramite SMB

Tenendo però conto che il NIC Teaming va configurato prima di assegnare le reti che lo utilizzano, nel caso una NIC nel Teaming andasse in fail e dovesse essere sostituita occorrerebbe riconfigurarla col rischio di dare down sulla rete che lo utilizza e questo sulla rete del CSV comporterebbe un un down del cluster, ma potrebbe dare problemi anche sulla rete della Live Migration. Di conseguenza sebbene il NIC Teaming in Windows Server 2012 e successivi possa essere utilizzato per le reti CSV, HeartBeat e Live Migration a conti fatti non da gradi vantaggi rispetto a due reti ridondate soprettutto in presenza di NIC con supporto all’RSS.

In Windows Server 2012 l’unico modo per avere multi connessioni sulla rete Live Migration è quella di utilizzare NIC con supporto all’RDMA. Quindi si potrebbe pensare ad una rete basta su due NIC a 10 GB con supporto all’RDMA sui due host e una rete basta su NIC da 1 GB sui due host come Failover, anche avendo più NIC con supporto all’RDMA non è possibile utilizzare il NIC Teaming che non può utilizzare l’RDMA.

Se si hanno a disposizione NIC multi porta conviene configurare le reti che devono fungere da fail over tra loro utilizzando per ciascuna rete porte su NIC diverse per avere ridondanza in caso di fault di una NIC.

Per ulteriori informazioni si vedano: