2014년 11월 24일 월요일

Cloud Network Structure (OpenStack + OpenDaylight + Open vSwitch)

OpenStack + OpenDaylight

  • OpenStack과OpenDaylight, SDN, 그리고 NFV와의 관계를 알아보자.

OpenStack 네트워크 관련 스택

  • Metering (Ceilometer)
    • 계측기능
    • 경고(알람) 기능
  • Orchestration (Heat)
    • 오케스트레이션 기능
    • Ceilometer와 연동하여 자동 Scale in/out 서비스를 제공
    • VPNaaS, FWaas, LBaaS, ..., etc
  • Networking (Neutron)
    • 네트워크 관리 기능

OpenStack Orchestration (Heat)

  • 주된 사용 용도
    • 다수의 인스턴스의 연동이 필요하거나,
    • 단일 서비스 인스턴스를 확장할 때 사용
    • 인스턴스의 오케스트레이션 기능을 제공하며,
    • 어플리케이션의 디플로이를 쉽게 해 줌
  • TOSCA
    • Topology and
    • Orchestration
    • Specification for
    • Cloud
    • Application

OpenStack Networking (Neutron)

  • 클라우드에 네트워크를 관리
  • 다수의 써드파티 플러그 인 형태로 선택해서 사용
    • Cisco
    • Juniper
    • Midokura
    • NEC
    • Mellannox
  • 모듈형 레이어 2 (ML2) 플러그 인
    • OpenStack Havana 릴리즈 이후부터 플러그인 형태로 제공되었으며,
    • OSI Layer2기술을 제공하는 플러그인.

ML2 PlugIn (Midonet)

  • 엣지오버레이형 네트워크 플러그인 (midonet)
    • IaaS 클라우드 를 위해서 개발
    • 제어 콘트ㄹ러 기능을 분산함
    • 데이터 베이스가 네트워크 토폴로지 정보를 가짐

ML2 PlugIn (Cisco Nexus)

  • Cisco Open Cloud
    • USS, Nexus, Cisco One 기술을 사용해서 OpenStack관 연동
    • Cisco SDN 기반
    • Nexus 1000v
    • onePK
    • ONE Controller
  • Cisco Open Cloud Solution
    • OpenStack기반
    • Video Scalable Object Storage
    • Scalable Message Bus
    • App Metering
    • 가상화 기반의 네트워크 어플리케이션 서비스을 제공이 목적

모듈형 Layer2 Plugin

  • Neutron Server에서 ML2 Plugin형태로 서비스 제공
  • ML2 TypeDriver
    • Local
    • Flat
    • GRE
    • VLAN
    • VXLAN
  • Mechanism Manager
    • Arista
    • Cisco Nexus
    • Hyper-V
    • L2 Population
    • Linux bridge
    • Open vSwitch
    • Tail-F NCS

ML2를 사용한 클라우드 동작 과정

  • Host1, Host2, 그리고 Cisco Nexus Switch가 있다고 가정
  • Host1 에서 동작
    • Nova API에 의해서 Nova Compute생성
    • Neutron Server에 의해서 Neutron OVS Agent 생성
    • Neutron DHCP에 의해서 Neutron L3 Agent 생성
    • 네트워크 구성
    • VM1 -> br-int -> br-eth2 - eth2
  • Host2 에서 동작
    • Nova API에 의해서 Nova Compute생성
    • Neutron Server에 의해서 Neutron OVS Agent 생성
    • Neutron DHCP에 의해서 Neutron L3 Agent 생성
    • 네트워크 구성
    • VM2 -> br-int -> br-eth2 - eth2
  • Host1에서 OVS Agent 동작
    • ML2 OVS Mechanism Driver에 의해서
    • VM1용 br-eth2 포트에
    • 가상 NIC IF에 VLAN 추가
  • Host2에서 OVS Agent 동작
    • ML2 OVS Mechanism Driver에 의해서
    • VM2용 br-eth2 포트에
    • 가상 NIC IF에 VLAN 추가
  • OpenStack 자동 설정 후 VM1-VM2간 ping으로 상호 통신 테스트 실시
  • VM1에서 발생한 패킷의 이동 경로
    • Host1
    • VM1 -> Br-int -> Br-eth2 -> eth2
    • Host1 -> Cisco Neus Switch -> Host2
    • eth2/1 에서 Host1의 패킷 수신
      • ML2 Cisco Nexus Mechanism Driver에서
      • eth2/1에 VLAN 트렁크 설정
    • eth2/2 에서 Host2로 패킷 전달
      • ML2 Cisco Nexus Mechanism Driver에서
      • eth2/2에 VLAN 트렁크 설정
    • Host2
    • eth2 -> Br-eht2 -> Br-int -> VM2

OpenDaylight에서 OpenStack Neutron용 ML2 PlugIn

  • SDN Controller인 OpenDaylight에서 OpenStack용 서비스 NBI 공개
    • Neutron API
    • OpenDaylihgt 내 다수의 Neutron network을 실장
  • OpenStack과 OpenDaylight의 Structure
    • OpenStack Neutron
      • Neutron plugin
    • OpenDaylight APIs (REST)
    • Netutron service
      • VTN Provider
      • DOVE Provider
      • Other Provider
  • 최초 릴리즈 OpenDaylight에서는 L4~L7 서비스는 제공하지 않았음.
  • Open vSwitch와의 연동

댓글 없음:

댓글 쓰기