deploying high capacity ip fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 ·...

16
deploying high capacity IP fabrics

Upload: others

Post on 22-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

deploying high capacity IP fabrics

Page 2: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

How can I build a network of 100 switches in 5 minutes?

Thesis…..

October 3, 2013 2

Page 3: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

October 3, 2013 3

High Capacity IP Fabric

Page 4: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Bringing the Linux revolution to Networking!

4

Traditional Network Gear Networking Gear and Networking OS

locked onto one vendor

New Paradigm Disaggregate the Networking Gear from the OS Bring Linux OS to networking: Cumulus Linux

October 3, 2013

YOUR CHOICE OF LINUX APPS

YOUR CHOICE OF HARDWARE

Page 5: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Industry standard switch hardware

October 3, 2013 5

(48) 1/10G (4) 40G

OOB

Console

•  1RU height •  Redundant power supply units and fan trays •  Directional airflow (cable side inlet) or (PSU side inlet)

Click here for more information on Cumulus Networks hardware support: http://cumulusnetworks.com/support/hcl/

Page 6: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Cumulus™ Linux® IS Linux

6

Linux Kernel

switchd

Switch Driver

Switch HAL

Routing Table

ARP Table

Ethernet Interfaces

CPU, RAM, Flash, etc

Routing Protocols 3rd Party/Customer

Applications

Automation Routing Suite Monitoring Overlay Network

Switch Silicon

Front  Panel  Ports  

Use

r Spa

ce

Bridge Table

•  Native Linux experience •  Linux applications now work on networking gear

October 3, 2013 "The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus

Torvalds, owner of the mark on a world-wide basis."

Page 7: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Open Network Install Environment

October 3, 2013 7

Bare metal switch

operating system

app app app

ONIE

Bare metal server

operating system

app app app

BIOS

Server

Switch

Networking hardware needs an installer for flexibility and economies of scale •  (i)PXE equivalent for networking HW

ONIE – installer environment for open networking hardware •  small, Linux OS pre-installed on switches •  environment for network OS installers

network operating system neutral

•  stays resident for un-install, re-install, etc

Discovery and execution • v6ND… DHCPv6…DHCPv4

Modern awesomeness • http, ssh, syslog, etc

https://github.com/onie

Page 8: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

First boot – Current state

October 3, 2013 8

ONIE pre installed by ODM

Unpack and rack switch

Ship hardware thru supply chain

Connect to management network

ONIE discovers Cumulus Linux

Power up switch

Cumulus Linux first boot

What next?

OD

M

Cus

tom

er

Page 9: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Zero-touch install

Right-size and provision devices •  credentials •  users •  logging & monitoring •  operational packages •  configuration

1- Discover installer on management interface: USB, URL from DHCP, URL from DNS-SD, ….

2- Download, run installer, and reboot

onie-installer

October 3, 2013 9

Page 10: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

dhcp configuration

ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; option www-server code 72 = ip-address; subnet 10.99.0.0 netmask 255.255.255.0 {

range 10.99.0.10 10.99.0.250; option routers 10.99.0.1; option domain-name-servers 10.99.0.1; option domain-name "provisioning.local"; option www-server 10.99.0.1;

}

October 3, 2013 10

Page 11: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

post-install provisioning

#!/bin/bash # update and install puppet apt-get -q -y update apt-get -q -y upgrade apt-get -qq install puppet # set the hostname SWHOSTNAME=demo-`facter macaddress | sed "s/://g"`-`< /dev/urandom tr -dc

a-z0-9 | head -c4` echo $SWHOSTNAME >/etc/hostname echo "127.0.0.1 $SWHOSTNAME" >> /etc/hosts hostname $SWHOSTNAME invoke-rc.d hostname.sh start # config puppet sed -i /etc/default/puppet -e 's/START=no/START=yes/' service puppet restart # CUMULUS-AUTOPROVISIONING exit 0

October 3, 2013 11

Page 12: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

puppet based provisioning

import "classes/*.pp" # unassigned nodes get this node default { if $operatingsystem == 'CumulusLinux' { include switchbase } } class switchbase { include users include sudo include motd include licenseinstall } class users { add_user { nat: email => "[email protected]", uid => 5001, shell => "/bin/bash", groups => [], password => '$6$v3GTFaOh$8oyYjqufzIfMGTn9ZQz9GmQCGe2mZyp1tWY22c/040i3GjOvUxGmsvpmAgOIHUkGJF0otJ1O5bs40HW3WURYa.' } add_ssh_key { nat: type => "ssh-dss", key=> ”…snip…" } } class sudo { package { sudo: ensure => latest } file { "/etc/sudoers": owner => root, group => root, mode => 440, source => "puppet:///files/sudoers", require => Package["sudo"] } } class motd { file { "/etc/motd": owner => root, group => root, source => "puppet:///files/motd" } } class licenseinstall { file { "/etc/cumulus/mylicense.txt": owner => root, group => root, source => "puppet:///files/mylicense.txt" } exec { "/usr/cumulus/bin/cl-license -i /etc/cumulus/mylicense.txt":

subscribe => File["/etc/cumulus/mylicense.txt"], refreshonly => true

} }

October 3, 2013 12

Page 13: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Topology graph:

•  Graph G { S1:p1 – M1:p3;

S1:p2 – M2:p3;

S1:p3 – M3:p3;

S1:p4 – M4:p3;

S2:p1 – M1:p4;

S2:p2 – M2:p4;

S2:p3 – M3:p4;

S2:p4 – M4:p4;

M1:p1 – T1:p1;

M1:p2 – T2:p2;

M4:p2 – T4:p2;

}

Prescriptive Topology Module

§  Goal: Operational simplicity, reduced Operator errors

§ Verify connectivity per cabling plan § Bring up routing adjacency only if cabling test passes § Selective actions on link up

§ How? Network topology specified via DOT language and distributed to all nodes

§ Each node determines its relevant information § Use LLDP to verify connectivity § Logs errors § Daemon executes a set of scripts on topology pass and a different set of scripts on topology fail

Topology

S2

M2 M1

T2 T1

M4 M3

T4 T3

S1

October 3, 2013 13

Page 14: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Demo

Topology

s1 s0

l1 l0

October 3, 2013 14

digraph G { //spine0's connections spine0:swp1 -> leaf0:swp1; spine0:swp2 -> leaf1:swp1; //spine1's connections spine1:swp1 -> leaf0:swp2; spine1:swp2 -> leaf1:swp2; //leaf0's connections leaf0:swp1 -> spine0:swp1; leaf0:swp2 -> spine1:swp1; //leaf1's connections leaf1:swp1 -> spine0:swp2; leaf1:swp2 -> spine1:swp2; }

Page 15: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Monitoring & Troubleshooting

•  Native Linux troubleshooting & monitoring utilities •  SNMP, syslog, log files, traceroute, tcpdump…

•  Wire-rate tools such as SPAN/ERSPAN

•  Hardware counters •  ethtool stats, queue-depth, buffer utilization

•  Packages tested for monitoring •  e.g. collectd, netsnmp

•  Advanced troubleshooting with PTMd

October 3, 2013 15

Page 16: deploying high capacity IP fabricsnetseminar.stanford.edu/seminars/10_03_13.pdf · 2013-10-11 · Open Network Install Environment October 3, 2013 7 Bare metal switch operating system

Thank you!