Ejercicio de virtualización de servers con cero downtime

                Fecha: 4 de julio del 2016 Clase: sesiones vía TeamViewer

 

Escenario

 

Este ejercicio no es de virtualización en sí, sino para planificar la virtualización de equipos

con el menor downtime posible y los cablos sueltos que podrían aparecer en el intento.

Consta de dos servidores en equipos físicos que deben virtualizarse en un solo equipo físico

con la menor cantidad de pings perdidos en la migración.

 

Se asume que los servidores virtuales son un snapshot del equipo real (misma IP).

 

 

Solución:

 

Para tener el menor impacto posible deberán relevarse previamenete los siguientes datos:

 

1.- Los servers están en direcciones IP diferentes, por lo tanto, en VLANs diferentes, relevar VLANs.

2.- Relevar puertos/VLANs conectados en el switch real.

3.- Relevar puertos a utilizar por el uplink entre el switch real y el switch virtual.

4.- Relevar puertos a utilizar por el uplink entre el switch virtual y el switch real.

5.- Relevar situación de las VLANs en el switch virtual.

6.- Relevar situación de los puertos/VLANs en el switch virtual.

7.- Relevar mismas IPs en los servers virtuales.

 

También debemos tener en cuenta:

 

8.- Método para levantar los puertos de forma rápida (portfast en troncales)

9.- Método para evitar IP duplicadas a la hora de conectar las virtuales.

10.- Método para impementar y su rollback.

 

Manos a la obra:

 

Relevar en el switch real (físico):

 

Switch#sh vlan brief (ítem 1)

 

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                               active    Fa0/1, Fa0/3, Fa0/4, Fa0/5

                                                                    Fa0/6, Fa0/7, Fa0/8, Fa0/9

                                                                    Fa0/10, Fa0/11, Fa0/12, Fa0/13

                                                                    Fa0/14, Fa0/15, Fa0/16, Fa0/17

                                                                    Fa0/18, Fa0/19, Fa0/20, Fa0/21

                                                                    Fa0/22, Fa0/23, Fa0/24, Gig0/2

100  DMZ                                  active   Fa0/2 (ítem 2)

1002 fddi-default                  active   

1003 token-ring-default     active   

1004 fddinet-default           active   

1005 trnet-default                active   

Switch#

 

Switch#sh ip int bri

Interface                    IP-Address      OK? Method Status                Protocol

FastEthernet0/1         unassigned      YES manual up                       up

FastEthernet0/2         unassigned      YES manual up                       up

FastEthernet0/3         unassigned      YES manual down                  down

FastEthernet0/4         unassigned      YES manual down                  down

FastEthernet0/5         unassigned      YES manual down                  down

FastEthernet0/6         unassigned      YES manual down                  down

FastEthernet0/7         unassigned      YES manual down                  down

FastEthernet0/8         unassigned      YES manual down                  down

FastEthernet0/9         unassigned      YES manual down                  down

FastEthernet0/10       unassigned      YES manual up                        up

FastEthernet0/11       unassigned      YES manual down                  down

FastEthernet0/12       unassigned      YES manual down                  down

FastEthernet0/13       unassigned      YES manual down                  down

FastEthernet0/14       unassigned      YES manual down                  down

FastEthernet0/15       unassigned      YES manual down                  down

FastEthernet0/16       unassigned      YES manual down                  down

FastEthernet0/17       unassigned      YES manual down                  down

FastEthernet0/18       unassigned      YES manual down                  down

FastEthernet0/19       unassigned      YES manual down                  down

FastEthernet0/20       unassigned      YES manual up                        up

FastEthernet0/21       unassigned      YES manual down                  down

FastEthernet0/22       unassigned      YES manual down                  down

FastEthernet0/23       unassigned      YES manual down                  down

FastEthernet0/24       unassigned      YES manual down                  down

GigabitEthernet0/1    unassigned      YES manual up                       up

GigabitEthernet0/2  unassigned     YES manual down                  down (ítem 3)

Vlan1                  unassigned      YES manual administratively down down

Switch#

 

Switch#sh interfaces trunk

Port        Mode         Encapsulation  Status        Native vlan

Gig0/1      on           802.1q         trunking      1

 

Port        Vlans allowed on trunk

Gig0/1      1-1005

 

Port        Vlans allowed and active in management domain

Gig0/1      1,100

 

Port        Vlans in spanning tree forwarding state and not pruned

Gig0/1      1,100 (router inter-VLAN) (también afecta al ítem 3)

Switch#

 

Relevar en en el switch virtual:

 

Switch#sh ip int bri

Interface                    IP-Address      OK? Method Status                Protocol

FastEthernet0/1         unassigned      YES manual up                       up

FastEthernet0/2         unassigned      YES manual up                       up

FastEthernet0/3         unassigned      YES manual down                  down

FastEthernet0/4         unassigned      YES manual down                  down

FastEthernet0/5         unassigned      YES manual down                  down

FastEthernet0/6         unassigned      YES manual down                  down

FastEthernet0/7         unassigned      YES manual down                  down

FastEthernet0/8         unassigned      YES manual down                  down

FastEthernet0/9         unassigned      YES manual down                  down

FastEthernet0/10       unassigned      YES manual down                  down

FastEthernet0/11       unassigned      YES manual down                  down

FastEthernet0/12       unassigned      YES manual down                  down

FastEthernet0/13       unassigned      YES manual down                  down

FastEthernet0/14       unassigned      YES manual down                  down

FastEthernet0/15       unassigned      YES manual down                  down

FastEthernet0/16       unassigned      YES manual down                  down

FastEthernet0/17       unassigned      YES manual down                  down

FastEthernet0/18       unassigned      YES manual down                  down

FastEthernet0/19       unassigned      YES manual down                  down

FastEthernet0/20       unassigned      YES manual down                  down

FastEthernet0/21       unassigned      YES manual down                  down

FastEthernet0/22       unassigned      YES manual down                  down

FastEthernet0/23       unassigned      YES manual down                  down

FastEthernet0/24       unassigned      YES manual down                  down

GigabitEthernet0/1    unassigned      YES manual down                  down

GigabitEthernet0/2  unassigned     YES manual down                down (ítem 4)

Vlan1                  unassigned      YES manual administratively down down

Vswitch#

 

Vswitch#sh vlan brief (ítem 5 y 6, no hay VLAN de DMZ)

 

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4

                                                               Fa0/5, Fa0/6, Fa0/7, Fa0/8

                                                               Fa0/9, Fa0/10, Fa0/11, Fa0/12

                                                               Fa0/13, Fa0/14, Fa0/15, Fa0/16

                                                               Fa0/17, Fa0/18, Fa0/19, Fa0/20

                                                               Fa0/21, Fa0/22, Fa0/23, Fa0/24

                                                              Gig0/1, Gig0/2

1002 fddi-default            active   

1003 token-ring-default  active   

1004 fddinet-default     active   

1005 trnet-default          active   

Vswitch#

 

Configurando switchs:

 

Switch real (físico):

 

Switch(config)#int gi0/2 (ítem 3)

Switch(config-if)#switchport mode trunk (para que “pasen” ambas VLANs)

Switch(config-if)#spanning-tree portfast trunk (ítem 8)(para que “levante” mas rápido a la hora de implementar)

%Warning: portfast should only be enabled on ports connected to a single

host. Connecting hubs, concentrators, switches, bridges, etc... to this

interface  when portfast is enabled, can cause temporary bridging loops.

Use with CAUTION

Switch(config-if)#shutdown (ítem 9)(para que no existan IPs duplicadas a la hora de conectar)

 

%LINK-5-CHANGED: Interface GigabitEthernet0/2, changed state to administratively down

Switch(config-if)#end

Switch#

 

Switch virtual:

 

Vswitch#conf t

Vswitch(config)#vlan 100 (ítem 5)

Vswitch(config-vlan)#name DMZ

Vswitch(config-vlan)#exit

Vswitch(config)#int fa0/2

Vswitch(config-if)#switchport mode access

Vswitch(config-if)#switchport access vlan 100 (ítem 6)

Vswitch(config-if)#exit

Vswitch(config)#int gi0/2 (ítem 4)

Vswitch(config-if)#switchport mode trunk

Vswitch(config-if)#spanning-tree portfast trunk (ítem 8)

%Warning: portfast should only be enabled on ports connected to a single

host. Connecting hubs, concentrators, switches, bridges, etc... to this

interface  when portfast is enabled, can cause temporary bridging loops.

Use with CAUTION

Vswitch(config-if)#end

Vswitch#

 

Vswitch#sh vlan brief

 

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/1, Fa0/3, Fa0/4, Fa0/5

                                                               Fa0/6, Fa0/7, Fa0/8, Fa0/9

                                                               Fa0/10, Fa0/11, Fa0/12, Fa0/13

                                                               Fa0/14, Fa0/15, Fa0/16, Fa0/17

                                                               Fa0/18, Fa0/19, Fa0/20, Fa0/21

                                                               Fa0/22, Fa0/23, Fa0/24, Gig0/1

                                                               Gig0/2

100  DMZ                              active    Fa0/2 (ítem 5 y 6)

1002 fddi-default              active   

1003 token-ring-default  active   

1004 fddinet-default      active   

1005 trnet-default           active   

Vswitch#

 

 

 

10.- Implementar y rollback:

 

El rollback es una buena práctica que siempre debemos respetar, nunca se sabe…

Para implementar debemos “bajar” los puertos de los servers virtuales y levantar el trunk entre ambos switchs

lo mas rápido posible para perder la menor cantidad de pings.

 

Si escribimos rápido, bien, de lo contrario, realizamos un template para pegar la config mas rápido:

 

 

Prueba de downtime:

 

Como detalle, ver el TTL de la respuesta de 192.168.110.10, que debe utilizar el router para llegar a la PC.

 

 

 

En el caso del rollback el portfast hace que los puertos de los servers levanten mas rápido,

nunca estuvo configurado y eran puertos de servers en producción, por lo que no se podían

tocar mientras estuviesen en línea.

 

Pegado del template:

 

 

Switch#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#int range fa0/1-2

Switch(config-if-range)#shut

Switch(config-if-range)#int gi0/2

Switch(config-if)#no shut

Switch(config-if)#end

 

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to down

%LINK-5-CHANGED: Interface GigabitEthernet0/2, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to up

 

Switch#

 

…catástrofe:

 

 

Rollback:

 

Switch#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#int gi0/2

Switch(config-if)#shut

Switch(config-if)#int range fa0/1-2

Switch(config-if-range)#spanning-tree portfast

%Warning: portfast should only be enabled on ports connected to a single

 host. Connecting hubs, concentrators, switches, bridges, etc... to this

 interface  when portfast is enabled, can cause temporary bridging loops.

 Use with CAUTION

 

%Portfast will be configured in 2 interfaces due to the range command

 but will only have effect when the interfaces are in a non-trunking mode.

Switch(config-if-range)#no shut

Switch(config-if-range)#end

Switch#

 

%LINK-5-CHANGED: Interface GigabitEthernet0/2, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to down

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to up

 

Switch#

 

Volvemos a respirar….

 

 

Para tener en cuenta:

 

En el listado inicial, se omitió (adrede en este caso para poder documentarlo como “cabo suelto”) la verificación

de las direcciones MAC de ambos servers, las mismas se deberán replicar en los equipos virtuales para evitar

justamente lo que acaba de suceder, las tablas ARP de los PC siguen manteniendo las direcciones MAC iniciales:

 

PC>arp -a

  Internet Address      Physical Address      Type

  192.168.12.10         0002.4a7a.3a15       dynamic

 

PC>

 

En el caso del server en DMZ la MAC utilizada por el PC es la del gateway, pero el gateway es quien reenvía

a la MAC original del server físico:

 

InterVLAN#sh arp

Protocol  Address          Age (min)  Hardware Addr    Type    Interface

Internet  192.168.12.110          46  0060.4738.8A4D  ARPA   GigabitEthernet0/0.1 (PC que envía el ping)

Internet  192.168.100.10          46  000C.85AA.C9B9  ARPA  GigabitEthernet0/0.100 (server real (físico))

InterVLAN#

 

Solución: clonar las MAC a los equipos virtuales.

 

 

 

 

 

… y a implementar nuevamente:

 

Switch#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#int range fa0/1-2

Switch(config-if-range)#shut

Switch(config-if-range)#int gi0/2

Switch(config-if)#no shut

Switch(config-if)#end

 

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

%LINK-5-CHANGED: Interface FastEthernet0/2, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/2, changed state to down

%LINK-5-CHANGED: Interface GigabitEthernet0/2, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/2, changed state to up

 

Switch#

 

 

Tratemos de interpretar lo que sucede las conexiones Fa0/1 y 2: al estar en DOWN ambas interfaces, el switch real (físico)

realiza flooding y llega mediante el trunk Gi0/2 al Vserver_LAN y el Vserver_DMZ utiliza la misma conexión hacia el router,

 este reenvía por el puerto Gi0/1 y el switch real (físico) nuevamente realiza flooding para alcanzar Vserver_DMZ vía Gi0/2.

El switch virtual (Vswitch) también realiza flooding en la primer trama/paquete y luego reenvía normalmente a cada puerto,

por lo que ambos deberían perder al menos un ping.

 

Igualmente 5 pings en un solo server es buen resultado para una implementación de este tipo.

 

 

(2016) Sensei, I can get girls speaking in low level ?

Rosario, Argentina