Difference between revisions of "Opgave CCDP - Datacenter design"

From Teknologisk videncenter
Jump to: navigation, search
(Point-to-point)
(Aggregation)
 
(7 intermediate revisions by 2 users not shown)
Line 60: Line 60:
 
*Summarize datacenter subnets i aggregation laget (retning mod DC core) med ”ip summary-address eigrp”
 
*Summarize datacenter subnets i aggregation laget (retning mod DC core) med ”ip summary-address eigrp”
 
*Brug ”passive-interface default” og brug ”no passive-interface”  kun på de interfaces, som er med i routing-processen
 
*Brug ”passive-interface default” og brug ”no passive-interface”  kun på de interfaces, som er med i routing-processen
 +
 +
  
 
=Default-gateway=
 
=Default-gateway=
Line 86: Line 88:
 
På hver aggregation-switch er der behov for følgende moduler:
 
På hver aggregation-switch er der behov for følgende moduler:
 
*2 stk. 48 ports switchmoduler
 
*2 stk. 48 ports switchmoduler
 +
*2 stk. FWSM (Firewall)
 
*Intrusion detection (IDS)
 
*Intrusion detection (IDS)
*Firewall
 
 
*Network analysis
 
*Network analysis
  
Line 103: Line 105:
 
==Routingsprotokol==  
 
==Routingsprotokol==  
 
MANGLER
 
MANGLER
 +
 +
  
  
Line 116: Line 120:
  
 
===LAG3 switche===
 
===LAG3 switche===
*10.128.0.0 / 16 DCcore1
+
*10.128.0.0 / 16 - DCcore1
*10.129.0.0 / 16 DCcore1
+
*10.129.0.0 / 16 - DCcore1
*10.130.0.0 / 16 DCagg1
+
*10.130.0.0 / 16 - DCagg1
*10.131.0.0 / 16 DCagg2
+
*10.131.0.0 / 16 - DCagg2
*10.132.0.0 / 16 CUCMswitch1
+
*10.132.0.0 / 16 - CUCMswitch1
*10.133.0.0 / 16 CUCMswitch2
+
*10.133.0.0 / 16 - CUCMswitch2
  
 
===VLAN===
 
===VLAN===
*10.130.10.0 / 24 WLC
+
*10.130.10.0 / 24 - WLC
*10.130.20.0 / 24 DATA1
+
*10.130.20.0 / 24 - DATA1
*10.130.30.0 / 24 ..
+
*10.130.30.0 / 24 - ..
*10.130.40.0 / 24 ..
+
*10.130.40.0 / 24 - ..
  
*10.132.10.0 / 24 VOICE
+
*10.132.10.0 / 24 - VOICE
  
 
===Point-to-point===
 
===Point-to-point===
*10.191.255.0 / 30   |    DCcore1 --> Campus core1
+
*10.191.255.0 / 30 - DCcore1 --> Campus core1
*10.191.255.4 / 30   |    DCcore1 --> Campus core2
+
*10.191.255.4 / 30 - DCcore1 --> Campus core2
*10.191.255.8 / 30   |    DCcore1 --> DCagg1
+
*10.191.255.8 / 30 - DCcore1 --> DCagg1
*10.191.255.12 / 30   |    DCcore1 --> DCagg2
+
*10.191.255.12 / 30 - DCcore1 --> DCagg2
*10.191.255.16 / 30   |    DCcore2 --> Campus core1
+
*10.191.255.16 / 30 - DCcore2 --> Campus core1
*10.191.255.20 / 30   |    DCcore2 --> Campus core2
+
*10.191.255.20 / 30 - DCcore2 --> Campus core2
*10.191.255.24 / 30   |    DCcore2 --> DCagg1
+
*10.191.255.24 / 30 - DCcore2 --> DCagg1
*10.191.255.28 / 30   |    DCcore2 --> DCagg2
+
*10.191.255.28 / 30 - DCcore2 --> DCagg2
*10.191.255.32 / 30   |    DCagg1 --> CUCMswitch1
+
*10.191.255.32 / 30 - DCagg1 --> CUCMswitch1
*10.191.255.36 / 30   |    DCagg2 --> CUCMswitch2
+
*10.191.255.36 / 30 - DCagg2 --> CUCMswitch2
  
  
 
Fordel for globale ACL og i edge (side 90 nederst)
 
Fordel for globale ACL og i edge (side 90 nederst)
 
<br>
 
<br>
 +
 +
 +
 +
  
 
=Uddrag fra konfigurationer=
 
=Uddrag fra konfigurationer=
 
==Etherchannel==
 
==Etherchannel==
 
===Lag 3===
 
===Lag 3===
 +
<pre>
 
DCcore1# configure terminal
 
DCcore1# configure terminal
 
 
DCcore1(config)#interface port-channel 1
 
DCcore1(config)#interface port-channel 1
 
 
DCcore1(config-if)# ip address 10.191.255.1 255.255.255.252
 
DCcore1(config-if)# ip address 10.191.255.1 255.255.255.252
 
 
DCcore1(config-if)# switchport trunk encap dot1q
 
DCcore1(config-if)# switchport trunk encap dot1q
 
 
DCcore1(config-if)# switchport mode trunk
 
DCcore1(config-if)# switchport mode trunk
 
 
DCcore1(config-if)# exit
 
DCcore1(config-if)# exit
 
  
 
DCcore1(config)# interface range gigabitethernet 0/1 - 2
 
DCcore1(config)# interface range gigabitethernet 0/1 - 2
 
 
DCcore1(config-if-range)# channel-group group 1 mode desirable  
 
DCcore1(config-if-range)# channel-group group 1 mode desirable  
 
 
DCcore1(config-if-range)# no shutdown
 
DCcore1(config-if-range)# no shutdown
 
 
DCcore1(config-if-range)# end
 
DCcore1(config-if-range)# end
 
+
</pre>
  
 
===Lag 2===
 
===Lag 2===
 +
<pre>
 
DCagg1# configure terminal
 
DCagg1# configure terminal
 
 
DCagg1(config)# interface range fastethernet 0/1 - 2
 
DCagg1(config)# interface range fastethernet 0/1 - 2
 
 
DCagg1(config-if)# channel-group group 1 mode desirable
 
DCagg1(config-if)# channel-group group 1 mode desirable
 
 
DCagg1(config-if)# exit
 
DCagg1(config-if)# exit
 
  
 
DCagg1(config)#interface port-channel 1
 
DCagg1(config)#interface port-channel 1
 
 
DCagg1(config-if)# switchport mode trunk
 
DCagg1(config-if)# switchport mode trunk
 
 
DCagg1(config-if)# exit
 
DCagg1(config-if)# exit
 
+
</pre>
  
 
===Load balance===
 
===Load balance===
 +
<pre>
 
DCcore1(config)# port-channel load-balance {src-mac | dst-mac | src-dst-mac | src-ip | dst-ip |src-dst-ip}
 
DCcore1(config)# port-channel load-balance {src-mac | dst-mac | src-dst-mac | src-ip | dst-ip |src-dst-ip}
 
+
</pre>
  
  
Line 197: Line 193:
 
==HSRP==
 
==HSRP==
 
Eksempel med VLAN 10 og 20. DCagg1 er den foretrukken default-gateway for VLAN 10 og DCagg2 er den foretrukken default-gateway for VLAN 20.
 
Eksempel med VLAN 10 og 20. DCagg1 er den foretrukken default-gateway for VLAN 10 og DCagg2 er den foretrukken default-gateway for VLAN 20.
 
+
<pre>
 
DCagg1# configure terminal
 
DCagg1# configure terminal
 
 
DCagg1(config)#  interface Vlan 10
 
DCagg1(config)#  interface Vlan 10
 
 
DCagg1(config-if)# description WLC
 
DCagg1(config-if)# description WLC
 
 
DCagg1(config-if)# ip address 10.130.10.1 255.255.255.0
 
DCagg1(config-if)# ip address 10.130.10.1 255.255.255.0
 
 
DCagg1(config-if)# standby 10 ip 10.130.10.254
 
DCagg1(config-if)# standby 10 ip 10.130.10.254
 
 
DCagg1(config-if)# standby 10 preempt
 
DCagg1(config-if)# standby 10 preempt
 
 
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
 
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
 
 
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
 
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
 
 
DCagg1(config-if)# end
 
DCagg1(config-if)# end
  
  
 
DCagg1# configure terminal
 
DCagg1# configure terminal
 
 
DCagg1(config)#  interface Vlan 20
 
DCagg1(config)#  interface Vlan 20
 
 
DCagg1(config-if)# description DATA
 
DCagg1(config-if)# description DATA
 
 
DCagg1(config-if)# ip address 10.130.20.1 255.255.255.0
 
DCagg1(config-if)# ip address 10.130.20.1 255.255.255.0
 
 
DCagg1(config-if)# standby 20 ip 10.130.20.254
 
DCagg1(config-if)# standby 20 ip 10.130.20.254
 
 
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
 
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
 
 
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>
 
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>
  
Line 234: Line 216:
  
 
DCagg2# configure terminal
 
DCagg2# configure terminal
 
 
DCagg2(config)#  interface Vlan 10
 
DCagg2(config)#  interface Vlan 10
 
 
DCagg2(config-if)# description WLC
 
DCagg2(config-if)# description WLC
 
 
DCagg2(config-if)# ip address 10.130.10.2 255.255.255.0
 
DCagg2(config-if)# ip address 10.130.10.2 255.255.255.0
 
 
DCagg2(config-if)# standby 10 ip 10.130.10.254
 
DCagg2(config-if)# standby 10 ip 10.130.10.254
 
 
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
 
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
 
 
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
 
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
 
 
DCagg2(config-if)# end
 
DCagg2(config-if)# end
  
  
 
DCagg2# configure terminal
 
DCagg2# configure terminal
 
 
DCagg2(config)#  interface Vlan 20
 
DCagg2(config)#  interface Vlan 20
 
 
DCagg2(config-if)# description DATA
 
DCagg2(config-if)# description DATA
 
 
DCagg2(config-if)# ip address 10.130.20.2 255.255.255.0
 
DCagg2(config-if)# ip address 10.130.20.2 255.255.255.0
 
 
DCagg2(config-if)# standby 20 ip 10.130.20.254
 
DCagg2(config-if)# standby 20 ip 10.130.20.254
 
 
DCagg2(config-if)# standby 20 preempt
 
DCagg2(config-if)# standby 20 preempt
 
 
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
 
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
 +
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>
 +
</pre>
  
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>
+
[[Category:CCDP]]

Latest revision as of 08:36, 13 August 2009

Generel opbygning

I de fleste tilfælde, vil et datacenter i et large enterprise netværk bestå af et tree-tier design. Dette består af et access, aggregation- og core layer. I small eller medium enterprise datacenters vil man typpisk have et two-tier med lag 3 access forbundet til en collapsed core (core og aggregation layer). Three-tier vs. Two-tier design afhænger af størrlsen af datacenteret eller antal hosts forbundet til access-laget. Et three-tier design er mere scallerbart til større netværk mens two-tier er ideelt til mindre netværk. En udvidelse af datacenteret til tage udgangspunkt i aggregationlaget. Uden et datacenter corelag, vil en udvidelse medføre flere uplinkporte til campus core. Et three-tier design er derfor anbefalet. Man opbygger et datacenter efter servernes funktion. Server med samme funktion eller på samme VLAN sidder ofte på samme switch-par i accesslaget. Med dette opnår vi så få VLAN som muligt i access-laget og hurtigere konvergeringstid i lag 2 delen af datacenteret.



Three-tier design

Core

High-speed packet switching ind og ud af datacenteret. Forbundet til campus core og datacenter aggregation laget. Der skal være en 1:1 mellem campus core og datacenter core.

Aggregation

Kan sammenlignes med distributionlaget i campus. Det er her vi foretager polici-based distribution. Aggregationlaget har følgende funktioner:

  • Spanning-tree processing
  • Redundant default gateway for lag 2
  • Service module integration (dette kræver minimum en Catalyst 6500 series switch):
    • Firewall
    • Load balancing
    • Content switching
    • Secure sockets layer (SSL) offload
    • Intrusion detection (IDS)
    • Netværksanalyse

Access

Fysisk forbindelse for hosts/server/clusters i datacenteret.

Lag 2 vs. Lag 3 i accesslaget Man opbygger accesslaget efter servernes funktion. Der er forskellige fordele ved brug af enten lag 2 eller 3:

  • Lag 2:
    • Mulighed for NIC teaming og lag 2 naboskab over et større område (ALB – Adaptive load balancing)
    • Supportere High-availability clustering
    • Udbrede VLAN udover accesslaget
  • Lag 3:
    • NIC teaming kan der benyttes SFT – Switch fault tolerance. Den ene port er aktiv mens den anden er i standby
    • Bedre håndtering af loops
    • Hurtigere konvergering af netværket
    • Minimere broadcast-domains, som medfører større stabilitet


Routing protokol

Det anbefales at der benyttes OSPF eller EIGRP i lag 3 i datacenteret. Der skal være load-balancing mellem campus-core og core aggregation laget i DC ved at bruge Cisco Express Farwarding (CEF) (side 182 afsnit 3) En option er at bruge layer 3 IP plus layer 4 port-based CEF load-balance. Dette giver en bedre fordeling idet det præsentere flere informationer til CEF-algoritmen. CLI-kommando: ”mls ip cef load full” EIGRP har en hurtigere konvergeringstid end OSPF. (side 103) (EIGRP/OSPF side 101 og 108)

Huskenotes ved brug af OSPF (side 182)

  • Ved 10 Gigabit Ehternet sættes ”auto-cost reference-bandwidth 10000” . OSPF har en default reference på 100Mbit/s til en cost på 1
  • Brug loopback interfaces til at definere router ID. Dette simplificere troubleshooting
  • Brug ”passive-interface default” og brug ”no passive-interface” kun på de interfaces, som er med i routing-processen
  • Brug OSPF authentication for at undgå udvedkommende.
  • Tune OSPF timers med ”timers throttle spf” for at opnå sub-second konvergeringstid

Huskenotes ved brug af EIGRP (side 184)

  • Lav en default summary route ind i DC-laget (retning mod aggregation laget) med ”ip summary-address eigrp”
  • Summarize datacenter subnets i aggregation laget (retning mod DC core) med ”ip summary-address eigrp”
  • Brug ”passive-interface default” og brug ”no passive-interface” kun på de interfaces, som er med i routing-processen


Default-gateway

Huskenotes ved redundant default-gateway (side 186)

  • HSRP er den mest udbredte protokol i et enterprise datacenter.
  • Cisco anbefaler ikke flere end 500 HSRP instanser pga. CPU ressourcer.
  • 1 sek. hello og 3 sek. Holdtime

STP design (side 187)

  • RPVST+ anbefales i forhold til MST pga. hurtigere konvergeringstid.
  • Root guard på aggregation porte med retning mod access laget.
  • Loop guard på access porte med retning mod aggregation laget.
  • Loop guard mellem aggregation switche.
  • BPDU guard på access porte med retning mod hosts/servere.
  • ULDL er globalt enabled,  


Løsning

Datacenter Design

Vi har designet et three-tier funktionsopbygget datacenter. Billedet ovenover er blot en logisk opbygningen af netværket. Vi har lavet de 3 grupperinger af serverne med WLC, CUCM og DATA. Ud fra netværkets størrelse, har vi medtaget et corelag i tilfælde af udvidelse i aggregationslaget. Corelaget gør netværket mere skalerbart.

Core

Corelagets funktion er hurtig switching mellem aggregationlaget og campus core.

Aggregation

Aggregationlaget er modulopbygget og fungerer som policy-based distribution. Det anbefales at bruge en Catalyst 6500 series switch i aggregation laget. På hver aggregation-switch er der behov for følgende moduler:

  • 2 stk. 48 ports switchmoduler
  • 2 stk. FWSM (Firewall)
  • Intrusion detection (IDS)
  • Network analysis

IDS benyttes til at fange evt. uautoriseret data-/servertilgang. Firewall bruges til at kontrollere og filtrere tilgang mellem VLAN og servere. Etherchannels bundles på tværs af de 2 switchmoduler. Mod corelaget er der etherchannels. Mod accesslaget er der 1 link pr. aggregation switch til 1 funktionsopdelt switchblok.

Access

Der er taget udgangpunkt i et Layer 2 Looped Square design, hvor der er lag 2 i accesslaget. Denne model tillader aktiv/aktiv på servicemoduler i aggrationslaget. I aggrationslaget er der en HSRP-instans pr. VLAN, hvor VLANs fordeles lige over par af aggretionsswitche som HSRP aktive og standby.

Spanning tree

Der benyttes RPVST+ som spanning-tree protokol. Denne protokol anbefales af cisco til brug i et datacenter. Der vil kun være de VLANS ude i accesslaget, som der er behov for. Dette forbedrer konvergeringstiden i accesslaget. I takt med den lige fordeling af aktive og standby HSRP-instanser pr. VLAN, skal RPVST+ være root primary og secondary på samme VLANs. Der skal være et link mellem de 2 funktionsopdelte switche. Dette link bliver lukket af spanning-tree og tages i brug, hvis ét af uplinkene til aggregationlaget fejler.

Routingsprotokol

MANGLER



IP-scheme (Datacenter = 10.128.0.0/10)

Vi grupperer hver type af server i hver sin switchblock med hvert sit subnet (role-based addressing) (side 89 midt).

2. Octet er skabsnummer eller nummer på lag 3 switch.

3. Octet er VLAN-nr.

4. Octet er hosts. (side 90 for ”tommelfingerregel”)

LAG3 switche

  • 10.128.0.0 / 16 - DCcore1
  • 10.129.0.0 / 16 - DCcore1
  • 10.130.0.0 / 16 - DCagg1
  • 10.131.0.0 / 16 - DCagg2
  • 10.132.0.0 / 16 - CUCMswitch1
  • 10.133.0.0 / 16 - CUCMswitch2

VLAN

  • 10.130.10.0 / 24 - WLC
  • 10.130.20.0 / 24 - DATA1
  • 10.130.30.0 / 24 - ..
  • 10.130.40.0 / 24 - ..
  • 10.132.10.0 / 24 - VOICE

Point-to-point

  • 10.191.255.0 / 30 - DCcore1 --> Campus core1
  • 10.191.255.4 / 30 - DCcore1 --> Campus core2
  • 10.191.255.8 / 30 - DCcore1 --> DCagg1
  • 10.191.255.12 / 30 - DCcore1 --> DCagg2
  • 10.191.255.16 / 30 - DCcore2 --> Campus core1
  • 10.191.255.20 / 30 - DCcore2 --> Campus core2
  • 10.191.255.24 / 30 - DCcore2 --> DCagg1
  • 10.191.255.28 / 30 - DCcore2 --> DCagg2
  • 10.191.255.32 / 30 - DCagg1 --> CUCMswitch1
  • 10.191.255.36 / 30 - DCagg2 --> CUCMswitch2


Fordel for globale ACL og i edge (side 90 nederst)



Uddrag fra konfigurationer

Etherchannel

Lag 3

DCcore1# configure terminal
DCcore1(config)#interface port-channel 1
DCcore1(config-if)# ip address 10.191.255.1 255.255.255.252
DCcore1(config-if)# switchport trunk encap dot1q
DCcore1(config-if)# switchport mode trunk
DCcore1(config-if)# exit

DCcore1(config)# interface range gigabitethernet 0/1 - 2
DCcore1(config-if-range)# channel-group group 1 mode desirable 
DCcore1(config-if-range)# no shutdown
DCcore1(config-if-range)# end

Lag 2

DCagg1# configure terminal
DCagg1(config)# interface range fastethernet 0/1 - 2
DCagg1(config-if)# channel-group group 1 mode desirable
DCagg1(config-if)# exit

DCagg1(config)#interface port-channel 1
DCagg1(config-if)# switchport mode trunk
DCagg1(config-if)# exit

Load balance

DCcore1(config)# port-channel load-balance {src-mac | dst-mac | src-dst-mac | src-ip | dst-ip |src-dst-ip}


HSRP

Eksempel med VLAN 10 og 20. DCagg1 er den foretrukken default-gateway for VLAN 10 og DCagg2 er den foretrukken default-gateway for VLAN 20.

DCagg1# configure terminal
DCagg1(config)#  interface Vlan 10
DCagg1(config-if)# description WLC
DCagg1(config-if)# ip address 10.130.10.1 255.255.255.0
DCagg1(config-if)# standby 10 ip 10.130.10.254
DCagg1(config-if)# standby 10 preempt
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
DCagg1(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
DCagg1(config-if)# end


DCagg1# configure terminal
DCagg1(config)#  interface Vlan 20
DCagg1(config-if)# description DATA
DCagg1(config-if)# ip address 10.130.20.1 255.255.255.0
DCagg1(config-if)# standby 20 ip 10.130.20.254
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
DCagg1(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>



DCagg2# configure terminal
DCagg2(config)#  interface Vlan 10
DCagg2(config-if)# description WLC
DCagg2(config-if)# ip address 10.130.10.2 255.255.255.0
DCagg2(config-if)# standby 10 ip 10.130.10.254
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore1>
DCagg2(config-if)# standby 10 track GigabitEthernet <slot/port to DCcore2>
DCagg2(config-if)# end


DCagg2# configure terminal
DCagg2(config)#  interface Vlan 20
DCagg2(config-if)# description DATA
DCagg2(config-if)# ip address 10.130.20.2 255.255.255.0
DCagg2(config-if)# standby 20 ip 10.130.20.254
DCagg2(config-if)# standby 20 preempt
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore1>
DCagg2(config-if)# standby 20 track GigabitEthernet <slot/port to DCcore2>