Download - c8 Open Software Networking Platform 2
-
7/28/2019 c8 Open Software Networking Platform 2
1/66
Introduction to Open Software
Networking Platform: Part 2
Introduction to Open Software
Networking Platform: Part 2
April 23, 2013
CS Hong
April 23, 2013
CS Hong
-
7/28/2019 c8 Open Software Networking Platform 2
2/66
2
OpenStack
CloudStack
Open vSwitch
-
7/28/2019 c8 Open Software Networking Platform 2
3/66
3
What is OpenStackWhat is OpenStack
OpenStack: The Mission
"To produce the ubiquitous Open Source cloud computing
platform that will meet the needs ofpublic and privatecloud providers regardless of size, by being simple toimplement and massively scalable."
3
-
7/28/2019 c8 Open Software Networking Platform 2
4/66
4
History of OpenStackHistory of OpenStack
4
-
7/28/2019 c8 Open Software Networking Platform 2
5/66
5
OpenStack Founding PrinciplesOpenStack Founding Principles
Apache 2.0 license (OSI), open developmentprocess
Open design process, 2x year public DesignSummits
Publicly available open source code repository
Open community processes documented andtransparent
Commitment to drive and adopt open standards
Modular design for deployment flexibility via APIs
5
-
7/28/2019 c8 Open Software Networking Platform 2
6/66
6
Community with Broad Commercial SupportCommunity with Broad Commercial Support
6
-
7/28/2019 c8 Open Software Networking Platform 2
7/66
7
OpenStack Isn't EverythingOpenStack Isn't Everything
-
7/28/2019 c8 Open Software Networking Platform 2
8/66
8
Virtual Machines and StorageVirtual Machines and Storage
-
7/28/2019 c8 Open Software Networking Platform 2
9/66
9
Building an OpenStack Cloud Datacenter, Hardware, and ProcessBuilding an OpenStack Cloud Datacenter, Hardware, and Process
Business Prerequisites
-
7/28/2019 c8 Open Software Networking Platform 2
10/66
10
Technical PrerequisitesTechnical Prerequisites
-
7/28/2019 c8 Open Software Networking Platform 2
11/66
11
Cloud Ready Datacenter RequirementsCloud Ready Datacenter Requirements
11
-
7/28/2019 c8 Open Software Networking Platform 2
12/66
12
Bootstrapping the Host MachinesBootstrapping the Host Machines
12
-
7/28/2019 c8 Open Software Networking Platform 2
13/66
13
Building an OpenStack Cloud Object StorageBuilding an OpenStack Cloud Object Storage
13
-
7/28/2019 c8 Open Software Networking Platform 2
14/66
14
Building an OpenStack Cloud Object StorageBuilding an OpenStack Cloud Object Storage
14
-
7/28/2019 c8 Open Software Networking Platform 2
15/66
15
Data Must Be Stored EfficientlyData Must Be Stored Efficiently
15
-
7/28/2019 c8 Open Software Networking Platform 2
16/66
16
Object Storage SummaryObject Storage Summary
-
7/28/2019 c8 Open Software Networking Platform 2
17/66
17
Object Storage Key FeaturesObject Storage Key Features
-
7/28/2019 c8 Open Software Networking Platform 2
18/66
18
System ComponentsSystem Components
The Ring: Mapping of names to entities (accounts,containers, objects) on disk.
Stores data based on zones, devices, partitions, and
replicas
Weights can be used to balance the distribution of
partitions
Used by the Proxy Server for many background processes
Proxy Server: Request routing, exposes the publicAPI
Replication: Keep the system consistent, handle
failuresUpdaters: Process failed or queued updates
Auditors: Verify integrity of objects, containers,
and accounts18
-
7/28/2019 c8 Open Software Networking Platform 2
19/66
19
System Components (Cont.)System Components (Cont.)
Account Server: Handles listing ofcontainers, stores as SQLite DB
Container Server: Handles listing of objects,stores as SQLite DB
Object Server: Blob storage server,
metadata kept in xattrs, data in binaryformat
Recommended to run on XFS
Object location based on hash of name &
timestamp
19
-
7/28/2019 c8 Open Software Networking Platform 2
20/66
20
Software DependenciesSoftware Dependencies
Object Storage should work on most Linux
platforms with the following software (main
build target for Austin release is Ubuntu 10.04):
Python 2.6
rsync 3.0
And the following python libraries: Eventlet 0.9.8
WebOb 0.9.8
Setuptools
Simplejson
Xattr
Nose
Sphinx20
-
7/28/2019 c8 Open Software Networking Platform 2
21/66
21
Evolution of Object Storage ArchitectureEvolution of Object Storage Architecture
-
7/28/2019 c8 Open Software Networking Platform 2
22/66
22
OpenStack Compute Key Features
Building an OpenStack Cloud ComputeBuilding an OpenStack Cloud Compute
-
7/28/2019 c8 Open Software Networking Platform 2
23/66
23
Open Stack ComputeOpen Stack Compute
-
7/28/2019 c8 Open Software Networking Platform 2
24/66
24
Component Architecture DetailComponent Architecture Detail
AMQP: Advanced Message Queuing Protocol
-
7/28/2019 c8 Open Software Networking Platform 2
25/66
25
System ComponentsSystem Components
API Server: Interface module for command and control requests Designed to be modular to support multiple APIs In current release: OpenStack API, EC2 Compatibility Module
Approved blueprint: Open Cloud Computing Interface (OCCI)
Message Queue: Broker to handle interactions between services Currently based on RabbitMQ
Metadata Storage: ORM(object-relationa Layer usingSQLAlchemy for datastore
abstraction In current release: MySQL
In development: PostgreSQL
User Manager: Directory service to store user identities
In current release: OpenLDAP, FakeLDAP (with Radius)
Scheduler: Determines the placement of a new resourcerequested via the API
Modular architecture to allow for optimizationBase schedulers included in Austin: Round-robin, Least busy
-
7/28/2019 c8 Open Software Networking Platform 2
26/66
26
System Components (Cont.)System Components (Cont.)
Compute Worker: Manage compute hosts through commandsreceived on the Message Queue via the API
Base features: Run, Terminate, Reboot, Attach/Detach Volume, Get
Console Output
Network Controller: Manage networking resources oncompute hosts through commands received on the Message
Queue via the API
Support for multiple network models
Fixed (Static) IP addresses
VLAN zones with NAT
Volume Worker: Interact with iSCSI Targets to manage
volumes Base features: Create, Delete, Establish
Image Store: Manage and deploy VM images to host machines
-
7/28/2019 c8 Open Software Networking Platform 2
27/66
27
Hypervisor IndependenceHypervisor Independence
Cloud applications should be designed and packaged,abstracted from the hypervisor, deploy and test for best fit
for your workload
Manage application definition and workload, not the machine
image Configuration management
Abstract virtual machine definition
-
7/28/2019 c8 Open Software Networking Platform 2
28/66
28
Network ModelsNetwork Models
Private VMs on Project VLANs or Public VMs on flat networks
-
7/28/2019 c8 Open Software Networking Platform 2
29/66
29
Network DetailsNetwork Details
Security Group: Named collection of network access rules Access rules specify which incoming network traffic should be
delivered to all VM instances in the group
Users can modify rules for a group at any time New rules are automatically enforced for all running instances and instances launched from then on
Cloudpipe: Per project VPN tunnel to connect users to thecloud
Certificate Authority: Used for Project VPNs and to decryptbundled images
Cloudpipe Image: Based on Linux with OpenVPN
l f kl f k
-
7/28/2019 c8 Open Software Networking Platform 2
30/66
30
Example of OpenStackExample of OpenStack
E l i i Si l dE l i i Si l d
-
7/28/2019 c8 Open Software Networking Platform 2
31/66
31
Example innovation: SimcloudExample innovation: Simcloud
-
7/28/2019 c8 Open Software Networking Platform 2
32/66
Apache CloudStackpache CloudStack
I SI S
-
7/28/2019 c8 Open Software Networking Platform 2
33/66
33
IaaSIaaS
IaaS challengesIaaS challenges
-
7/28/2019 c8 Open Software Networking Platform 2
34/66
34
IaaS challengesIaaS challenges
Not out of the box by itself
Need a farm of hypervisors
Xen, KVM, VMware
Need storage
For image catalogue
For volume/snapshot management
Need flexible network that can be
configured on-demand
VLANS, no VLANS, existing net infra, SDN
IaaS is really:IaaS is really:
-
7/28/2019 c8 Open Software Networking Platform 2
35/66
35
IaaS is really:IaaS is really:
A Data Center Orchestrator
Data storage
Data movement
Data processing
That can: Handle failures
Support large scale
Be programmed
DevOpsDevOps
-
7/28/2019 c8 Open Software Networking Platform 2
36/66
36
DevOpsDevOps
Bring your developers closer to theoperations
Make your sys admins develop the apps
Move to Software Defined Data Center,Automate everything
Dev:
Java
IDE
Ops:
Shell
CLI
What the ASF did to CloudStack ?What the ASF did to CloudStack ?
-
7/28/2019 c8 Open Software Networking Platform 2
37/66
37
What the ASF did to CloudStack ?What the ASF did to CloudStack ?
ASF: Apache Software Foundation
-
7/28/2019 c8 Open Software Networking Platform 2
38/66
38
A little bit about the internals
-
7/28/2019 c8 Open Software Networking Platform 2
39/66
39
A Very Flexible IaaS PlatformVery Flexible IaaS PlatformCompute
XenServer VMware KVMOracle
VMBare metalXenServer VMwareVMware KVM
OracleVM
Bare metal
Hypervisor
Storage
LocalDisk
iSCSI NFSFiber
ChannelSwift
LocalDisk
iSCSI NFSFiber
ChannelSwift
Block & Object
Network
NetworkType
Isolation Loadbalancer
Firewall VPNNetworkType
Isolation Loadbalancer
Firewall VPN
Network & Network Services
PrimaryStorage SecondaryStorage
http://www.slideshare.net/cloudstack/cloudstackarchitecture
Architecture / LanguageArchitecture / Language
-
7/28/2019 c8 Open Software Networking Platform 2
40/66
40
Architecture / LanguageArchitecture / Language
Java application
Tomcat6, Axis2, Maven build + ant
Ant going away in 4.1Moving towards a plugin architecture
ReleasesReleases
-
7/28/2019 c8 Open Software Networking Platform 2
41/66
41
ReleasesReleases
Apache CloudStack 4.0 released inNovember, 2012
Time based releases
Rather slip features but guarantee release
Apache CloudStack 4.1 planned for March22nd, 2013
-
7/28/2019 c8 Open Software Networking Platform 2
42/66
42
Pod 1
.
Cluster N
rAccess Layer
Host 2Host 2
Cluster 1
CloudStack Cloud ArchitectureloudStack Cloud Architecture
Host 1Host 1
Hypervisoristhebasicunitofscale.
Clusterconsistsofoneore
morehosts
of
same
hypervisor
Allhostsinclusterhaveaccesstoshared(primary)storage
Podisoneormoreclusters,usuallywith L2switches.
AvailabilityZonehasoneormorepods,hasaccesstosecondarystorage.
Oneormorezonesrepresentcloud
PrimaryStorage
Zone 1
.
L3 core
Secondary
Storage
Pod N
CloudStackManagement
Server
Internet
Platform Optimized Design (PODs)
-
7/28/2019 c8 Open Software Networking Platform 2
43/66
43
Cloud Interactionsloud Interactions
CloudStack
Clouduser
{APIclient(Fog/etc)}
End
User UI
AdminUI
MySQL
CloudStackClustered
CloudStackManagement
Server
DomainAdmin UI
CSAdmin&
EnduserAPI
Clouduser
{ec2API
client
}
ec2API
Monitoring CSAPI vSphere Cluster
Primary
Storage
vcenter
XS ClusterPrimary
Storage
XAPI
KVM ClusterPrimary
StorageJSON
OVM Cluster PrimaryStorage
NetConf
NitroAPI
JuniperSRX
Netscaler
Console
Proxy VMConsole
Proxy VM
JSON
Clouduser
HTTPSAjaxConsole
VNC
Sec.Storage
VM
NFS
Server
NFSSec.Storage
VM
HTTP(TemplateDownload)
HTTP(TemplateCopy)
HTTP(Swift)
NFS
Router VMRouter VM
Router VM
JSON
{Proxied}SSH
http://www.slideshare.net/cloudstack/cloudstackarchitecture
-
7/28/2019 c8 Open Software Networking Platform 2
44/66
44
To get your feet wet
DevCloudDevCloud
-
7/28/2019 c8 Open Software Networking Platform 2
45/66
45
DevCloudDevCloud
A Virtual box appliance packaged to provide
a working CloudStack environment.
Aimed at developers but has other use cases:
Xen PV hosts gives nested virtualization
Local EC2/S3 Cloud on your laptop
Networking experiments ?
Self-ContainedSelf-Contained
-
7/28/2019 c8 Open Software Networking Platform 2
46/66
46
DevCloud: as HostDevCloud: as Host
-
7/28/2019 c8 Open Software Networking Platform 2
47/66
47
RunCloudStack on
local
machine
UseDevCloud tosetuphosts
CloudMonkeyCloudMonkey
-
7/28/2019 c8 Open Software Networking Platform 2
48/66
48
The CloudStack CLI, developed by RohitYadav
~600 lines of Python
pip install cloudmonkey
Lots of features: Auto-completion
Tabular output
Help , scriptable, interactive shell
InfoInfo
-
7/28/2019 c8 Open Software Networking Platform 2
49/66
49
Apache incubator projecthttp://incubator.apache.org/cloudstack#cloudstack and #cloudstack-dev on irc.freenode.net
@CloudStack on Twitterhttp://www.slideshare.net/cloudstackhttp://incubator.apache.org/cloudstack/mailing-lists.html
Collaboration Conference, Nov 30th -Dec 2nd http://collab12.cloudstack.org/ http://www.youtube.com/diycloudcomputing
Welcoming contributions and feedback, Join the fun !
What is Open vSwitchWhat is Open vSwitch
-
7/28/2019 c8 Open Software Networking Platform 2
50/66
50
Open vSwitch is a production quality,multilayer virtual switch licensed underthe open source Apache 2.0 license. It isdesigned to enable massive networkautomation through programmaticextension, while still supportingstandard management interfaces andprotocols (e.g. NetFlow, sFlow, SPAN,RSPAN, CLI, LACP, 802.1ag).
What is VirtualizationWhat is Virtualization
-
7/28/2019 c8 Open Software Networking Platform 2
51/66
51
Multiple virtual machines on thesame physical host
Lowest layer is the hypervisor,
which provides the illusion
Built by OS people
Historically, simple
bridge Physical Switch
Whats been missing?Whats been missing?
-
7/28/2019 c8 Open Software Networking Platform 2
52/66
52
Lacked visibility that network administratorsexpected
Lack of fine-grain control
Brittle of in face of mobility
Virtualized Networking is DifferentVirtualized Networking is Different
-
7/28/2019 c8 Open Software Networking Platform 2
53/66
53
Greater context MAC/IP addresses
Host identifiers (UUID)
Multicast membership
Machine start/stop/move events
MobilityStrong isolation between tenants
Advanced Edge SwitchesAdvanced Edge Switches
-
7/28/2019 c8 Open Software Networking Platform 2
54/66
54
Tight integration with hypervisorApproaching feature -parity with hardware
switches
Visibility
ACLs
Quality of ServiceCentralized management
Hardware off-loading
Examples: Vmware vSwitch, Cisco Nexus
1000V, Open vSwitch
PackagingPackaging
-
7/28/2019 c8 Open Software Networking Platform 2
55/66
55
Default networking stack for Xen CloudPlatform (XCP)
Ships with Citrix XenServer and basis for
their Distributed Virtual Switch (DVS)
Distribution packaging
Debian Ubuntu
SUSE
Red Hat
Goal is to upstream kernel module
Visibility and ControlVisibility and Control
-
7/28/2019 c8 Open Software Networking Platform 2
56/66
56
Visibility NetFlow
sFlow
Mirroring (SPAN/RSPAN/ERSPAN)
Fine-grained ACL and QoS policies
L2-L4 matching Actions to forward, drop, modify, and queue
HTB and HFSC queuing disciplines
- Hierarchical Fair Service Curve (HFSC)- Hierarchical token bucket (HTB)
sFlow with Open vSwitchsFlow with Open vSwitch
-
7/28/2019 c8 Open Software Networking Platform 2
57/66
57
ForwardingForwarding
-
7/28/2019 c8 Open Software Networking Platform 2
58/66
58
LACPPortbonding
Source-MAC load--balancing
TCP load-balancing
Active/backup
802.1ag CFM (Connectivity Fault Mgmt)Fast Ethernet-over-GRE tunneling
LACP: Link Aggregation Control Protocol
Main ComponentsMain Components
-
7/28/2019 c8 Open Software Networking Platform 2
59/66
59
Forwarding ComponentsForwarding Components
-
7/28/2019 c8 Open Software Networking Platform 2
60/66
60
ovs-vswitchd (Slow Path) Forwarding logic (learning, mirroring, VLANs,
and bonding)
Remote configuration and visibility
openvswitch_mod.ko (Fast Path)
Packet lookup, modification, and forwarding Tunnel encapsulation/decapsulation
Centralized ControlCentralized Control
-
7/28/2019 c8 Open Software Networking Platform 2
61/66
61
One OpenFlow connection per datapath Exports idealized view of swtichs datapath
Lookup based on L2L4
Full wildcarding and priorities
Actions: forward, drop, modify, and queue
Missed flows go to central controller
One management channel per system
Switch-level configuration
Resources Counters
Distributed Virtual SwitchDistributed Virtual Switch
-
7/28/2019 c8 Open Software Networking Platform 2
62/66
62
Citrix DVS ControllerCitrix DVS Controller
-
7/28/2019 c8 Open Software Networking Platform 2
63/66
63
PerformancePerformance
-
7/28/2019 c8 Open Software Networking Platform 2
64/66
64
ReferencesReferences
-
7/28/2019 c8 Open Software Networking Platform 2
65/66
65
http://www.openstack.org/http://www.slideshare.net/cloudstack
http://openvswitch.orgSource repository:
gitclonegit://openvswitch.org/openvswitch
65
-
7/28/2019 c8 Open Software Networking Platform 2
66/66
Thank y ou !hank y ou !