42
OpenStack でででででででで でででででで OpenStack Neutron で HA でで Rossella Sblendido Software Engineer SUSE rsblendido@suse. com Ryo Murakawa Evangelist Novell Japan [email protected]

High Availability in Neutron

Embed Size (px)

Citation preview

OpenStack でのダウンタイム・ゼロへの挑戦OpenStack Neutron の HA とは

Rossella SblendidoSoftware [email protected]

RyoMurakawaEvangelistNovell [email protected]

2

What is SUSE® OpenStack Cloud?

SUSE will change the name from SUSE Cloud to SUSE OpenStack Cloud as same as the release of next version openstack product.

SUSE OpenStaclk Cloud 5

Before, we called our product SUSE Cloud.

Name Based OpenStack

SUSE Cloud 2 Grizzly

SUSE Cloud 3 Havana

SUSE Cloud 4 Icehouse

SUSE OpenStack Cloud 5 Juno

SUSE OpenStack Cloud 6 Kilo

3

OpenStack Distribution

Billling VM Mgmt Image Tool Portal App Monitor Sec & Perf

Cloud

Management

Orchestration(Heat)

Dashboard(Horizon)

Cloud APIs(OpenStack and

EC2)RequiredServices

Message QDatabase

Identity(Keystone)

Images(Glance)

Hypervisor

Compute(Nova)

Operating System

Physical Infrastructure: x86-64, Switches, Storage

OpenStack Icehouse Management Tools OS and Hypervisor

Object(Swift)

Network(Neutron)

Adapters Adapters

Telemetry(Ceilometer)

Ins

tall

Fra

me

wo

rk

Physical Infrastructure

Block(Cinder)

SUSE Cloud Adds

RequiredServicesRabbitMQPostgresql

Ins

tall

Fra

me

wo

rk(C

row

bar,

Che

f, T

FT

P,D

NS

, D

HC

P)

SUSE® OpenStack Cloud

4

SUSE® OpenStack Cloud Feature

Crowbar based Installation Framework

5

Days

Parameters

Components

>1400112

Deploying OpenStack Manually

6

Hours

Parameters

Components

>1400112

Deploying OpenSack with SUSE OpenStack Cloud

7

Multi Hyper Visor Support

Supported Hyper Visor KVM

Xen

vSphere

Hyper-V

Future Support Docker

8

High Availability for Control Node

High Availability for Control Node

OpenStack Component High Availability type

Data Base Active/Standby

Messaging Service Active/Standby

Keystone Active/Active

Glance Active/Active

Cinder Active/Active

Neutron Active/Active

Nova-Service Active/Active

Horizon Active/Active

Ceilometer Active/Active

High Availability in Neutron

10

Neutron wa nani??

11

What's Neutron?

• Neutron is an OpenStack project to provide “networking as a service” between interface devices (e.g., vNICs) managed by other Openstack services (e.g., nova)

• provides a powerful API to define the network connectivity

12

Neutron abstractions

• Network: L2 broadcast domain• Subnet: a block of v4 or v6 IP addresses and

associated configuration state.• Port: a connection point for attaching a single device,

such as the NIC of a virtual server, to a virtual network. Also describes the associated network configuration, such as the MAC and IP addresses to be used on that port.

• Router: interconnects networks

13

Modular architecture

• Plugin: custom back-end implementation of the Networking API• Neutron-server: exposes the API• Several agents (L2, L3, DHCP, Metadata, etc)

14

Plugin

• Monolithic plugin (direct control of core resources)• ML2

• Modular, delegates calls to proper drivers• Two kind of drives:

• Type drivers (support specific network type)• Mechanism drivers (ensure the information established by the TypeDriver is

properly applied)• 2 default implementations: OpenVSwitch and LinuxBridge

15

Different kind of nodes

16

L2 Agent

• Runs on hypervisor• Configure the local vswitch• Communicates with the server over RPC• Wires new devices• Security Group Rules

17

L3 Agent

• Provides L3/NAT• Runs network node• Uses namespaces• External network access

18

DHCP agent

• Provides DHCP services• Communication over RPC• Isolation through namespaces• dnsmasq

19

Metadata Agent

• Proxies Metadata requests to Nova• Routed Networks

• Process embedded in router

• Non-routed Networks• Static routes redirect traffic running in the DHCP namespace

High Availability

21

What HA means

• Minimize two things:• System downtime — occurs when a user-facing

service is unavailable beyond a specified maximum amount of time

• Data loss — accidental deletion or destruction of data

22

Stateless vs. Stateful services

• A stateless service is one that provides a response after your request, and then requires no further attention

• A stateful service is one where subsequent requests to the service depend on the results of the first request

23

Active/passive Active/active

• Active/passive (one instance is only receiving notification but not processing requests):

• Active/active: there's a backup but both the main and redundant systems run concurrently

How to make Neutron HA

25

How to make Neutron HA

• L2 agent runs on every compute node, no need of HA• Neutron server, DHCP and L3 agent need HA

26

HA Neutron server

• It's stateless

27

HA DHCP agent

• OpenStack Networking service has a scheduler that lets you run multiple agents across nodes.

• The DHCP agent can be natively highly available.

28

HA L3 agent

• It is scalable thanks to the scheduler that allows distribution of virtual routers across multiple nodes.

• But no native HA, routers need to be migrated if a L3 agent fails

29

L3 agent fails...

30

HA upstream solutions

• VRRP (Virtual Router Redundancy Protocol)• DVR (Distributed Virtual Router)

31

VRRP

32

Without DVR

33

With DVR

Real world example

35

Neutron configuration - Real world scenario• SUSE Cloud 4 (Icehouse) and tests for Cloud 5 (Juno)• ML2, OVS with VLAN or LinuxBridge (multi-hypervisor

support)• HA!

36

L3 Agent HA

• Active/active• Migration tools that monitors the agents

• Migrates routers from dead agents to alive ones• Replicates networks to all DHCP agents running

37

Network cluster

38

Failure...

39

Failover

Thank you.

If you have questions...come to our booth!

Unpublished Work of SUSE. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.