150114 open stack korea 정기세미나 session2
Post on 16-Jul-2015
3.319 Views
Preview:
TRANSCRIPT
http://sola99.tistory.com
1. 네트워크 기본 지식 (1/8)
IP 주소 : 공인IP, 사설IP
공인IP : 전 세계 유일한 주소, 인터넷
사설IP : 맘껏 사용, 인터넷 사용 시 NAT = Fixed
IP
http://sola99.tistory.com
1. 네트워크 기본 지식 (2/8)
IP 통신 : 동일, 다른 네트워크
동일 네트워크 : 그냥 됨, (arp/mac)
다른 네트워크 : Gateway 나가는 문 필요
IP 통신
http://sola99.tistory.com
1. 네트워크 기본 지식 (3/8)
NAT(Network Address Translation) 네트워크 주소(IP) 변환
1:1 NAT(혹은 DNAT) : Floating IP
1:다수 NAT(혹은 SNAT, Masquerading)
사설IP 인터넷
서버 홍길동 NAT장비 인터넷
IP : 192.168.0.10
GW : 192.168.0.1
1:1 NAT 정책
125.1.1.2 ↔ 192.168.0.10
Port1 : 192.168.0.1 Port0 : 125.1.1.1
IP : 50.1.1.1
출발지IP 목적지IP
192.168.0.10 50.1.1.1
출발지IP 목적지IP
125.1.1.2 50.1.1.1
출발지IP 목적지IP
125.1.1.2 50.1.1.1
출발지IP 목적지IP
50.1.1.1 125.1.1.2
출발지IP 목적지IP
50.1.1.1 125.1.1.2
출발지IP 목적지IP
50.1.1.1 192.168.0.10
http://sola99.tistory.com
1. 네트워크 기본 지식 (4/8)
VLAN(Virtual LAN) : LAN 격리(?)
VLAN 스위치
학생1
선생님
[통 네트워크]
학생2
스위치
학생1
선생님
학생2
[격리 네트워크]
VLAN10
VLAN20 네트워크 장비에 설정 필요(엔지니어)
http://sola99.tistory.com
1. 네트워크 기본 지식 (5/8)
VLAN(Virtual LAN) : Trunk 구간에서 VLAN Tag(ID)를 이용한 격리 통신
802.1Q Trunk
1층스위치
학생1
선생님
학생2
[격리 네트워크 확장]
VLAN10
VLAN20
2층스위치 선생님
VLAN20
학생3 학생4
VLAN10
케이블1선Trunk V10 V20
네트워크 장비에 설정 필요(엔지니어)
http://sola99.tistory.com
1. 네트워크 기본 지식 (6/8)
IP 설정 : 수동, 자동(DHCP)
수동 : vi 편집 등등 VM이 1천대면?
자동 : DHCP 서버(IP)로 자동 할당 = Dnsmasq
단말 IP 설정
유동IP일 경우 VM에서 지속 서비스 제공 우째?
http://sola99.tistory.com
1. 네트워크 기본 지식 (7/8)
VLAN 확장 : L3 라우팅 환경을 넘어가도 동일 VLAN 네트워크 환경 제공 = VXLAN
VXLAN(Virtual Extensible LAN)
① 아무 생각 없이 LAN 확장
② 대량의 백그라운드 트래픽 발생(broadcast)
③ 보안 문제 등 기타 다른 문제점 발생
④ 해결 방안 : LAN 영역을 Layer 3 영역으로 차단
LAN 확장 스위치
학생1 학생2
VLAN10
라우터 , L3 스위치
http://sola99.tistory.com
1. 네트워크 기본 지식 (8/8)
VLAN 확장 : L3 라우팅 환경을 넘어가도 동일 LAN 네트워크 환경 제공 = VXLAN
VNID, GRE Key 값 : 각기 다른 LAN
VXLAN
10.1.1.1/24 10.1.1.2/24 20.1.1.2 20.1.1.1
출발지IP 목적지IP
10.1.1.1 10.1.1.2
출발VTEP 도착VTEP VXLAN UDP 출발지IP 목적지IP
20.1.1.1 20.1.1.2 VNID(10) Port 10.1.1.1 10.1.1.2
출발지IP 목적지IP
10.1.1.1 10.1.1.2
10.1.1.2(VTEP2)
https://sites.google.com/site/amitsciscozone/home/data-center/vxlan
http://sola99.tistory.com http://ryusstory.tistory.com/entry/네트워크-엔지니어가-보는-Pycon2014
쉬어가기
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (1/9)
Nova에서 VM 생성 및 종료에 따른 네트워크 요소
들을 관리하는 Nova의 하위 구성 요소
nova-network
[2014 Nov Survey Network Driver]
3가지 구성 방안 : Flat, FlatDHCP, VLAN
2가지 IP 유형 : Fixed, Floating (참고: 고정/사설, 유동/IP)
2가지 호스트 모드 : single-host, multi-host
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (2/9)
3가지 구성 방안(Flat, FlatDHCP, VLAN)중 FlatManager & Fixed IP & Single-Host 모드
eth0
VM /etc/network/interfaces
IP 10.1.1.2 (GW 10.1.1.1)
nova-compute & nova-network
linux
bridge
L2 Switch = Shared Network 10.1.1.0/24
인터넷 L3 장비
라우팅(NAT)
eth0 10.1.1.1
eth1
공인IP
서버
10.1.1.10
오직 1개 공유 네트워크
VM에 IP를 직접 수동
확장 시 문제
보안 문제
운영 문제(수동 IP 설정)
https://www.mirantis.com/blog/openstack-networking-flatmanager-and-flatdhcpmanager/
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (3/9)
3가지 구성 방안(Flat, FlatDHCP, VLAN)중 FlatDHCPManager & Fixed IP & Single-Host 모드
eth0
VM dhcp client
IP 10.1.1.2 (GW 10.1.1.1)
nova-compute & nova-network
linux
bridge
L2 Switch = Shared Network 10.1.1.0/24
서버
10.1.1.10
오직 1개 공유 네트워크
VM에 IP 자동 할당
확장 시 문제
보안 문제
https://www.mirantis.com/blog/openstack-networking-flatmanager-and-flatdhcpmanager/
10.1.1.1
dnsmasq
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (4/9)
3가지 구성 방안(Flat, FlatDHCP, VLAN)중 VlanManager & Fixed IP & Single-Host 모드
nova-compute & nova-network
L2 Switch
VLAN 10 Shared Network 10.1.1.0/24
VLAN 20 Shared Network 10.1.2.0/24
서버
10.1.1.10
다수 사설 Network
VLAN 4096 갯수 제약
tenent간 동일 사설 IP
Network 불가능
eth0
VM dhcp client
IP 10.1.1.2(GW.1)
linux
bridge1
dnsmasq
VM dhcp client
IP 10.1.2.2(GW.1)
linux
bridge2
dnsmasq
vlan10 vlan20
10.1.1.1 10.1.2.1
vlan10
서버
10.1.2.10
vlan20
케이블1선Trunk
https://www.mirantis.com/blog/vlanmanager-network-flow-analysis/
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (5/9)
인터넷 사용 시 트래픽 흐름도 VlanManager & Fixed IP/SNAT & Single-Host 모드
nova-compute & nova-network
내부 다수 VM이 SNAT
을 통하여 Public IP로
변환되어 외부 통신
단, 외부에서 내부로 직
접 접근 불가능
eth0
VM dhcp client
IP 10.1.1.2(GW.1)
linux
bridge1
dnsmasq
VM dhcp client
IP 10.1.2.2(GW.1)
linux
bridge2
dnsmasq
vlan10 vlan20
10.1.1.1 10.1.2.1
https://www.mirantis.com/blog/vlanmanager-network-flow-analysis/
eth1 Public IP
Routing
NAT
인터넷
SNAT
any:90.1.1.1
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (6/9)
외부에서 내부 인입 시 트래픽 흐름도 VlanManager & Fixed IP/Floating IP & Single-Host 모드
nova-compute & nova-network
외부에서 내부 VM의
Floating IP로 접근 시
DNAT를 통하여 내부의
VM(Fixed IP)로 연결
eth0
VM dhcp client
IP 10.1.1.2(GW.1)
linux
bridge1
dnsmasq
VM dhcp client
IP 10.1.2.2(GW.1)
linux
bridge2
dnsmasq
vlan10 vlan20
10.1.1.1 10.1.2.1
https://www.mirantis.com/blog/vlanmanager-network-flow-analysis/
eth1 Public IP
(Secondary IP)
Routing
NAT
인터넷
DNAT
90.1.1.2:10.1.1.2
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (7/9)
VlanManager & Fixed IP/SNAT/Floating IP & Single-Host 모드(개별 nova-network host)
http://www.slideshare.net/openstack/openstack-super-bootcamppdf
eth0
VM
IP 10.1.1.2
nova-compute host
linux
bridge
eth0
VM
IP 10.1.1.2
nova-compute host
linux
bridge
L2 Switch
eth0
nova-network host Routing
NAT
eth1 Public IP
gw 10.1.1.1
인터넷
nova-network host가
장애 발생 시 내부
tenant 간 라우팅, 외부
통신(NAT) 불가능
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (8/9)
VlanManager & Fixed IP/SNAT/Floating IP & Multi-Host 모드 (참고 Neutron Juno DVR Mode)
http://www.slideshare.net/openstack/openstack-super-bootcamppdf
eth0
VM
IP 10.1.1.2
nova-compute &
nova-network host
linux
bridge
eth0
VM
IP 10.1.1.2
nova-compute &
nova-network host
linux
bridge
L2 Switch
Routing
NAT
Public IP
인터넷
multi-host 경우
nova-network 기능이
compute 마다 분산 처
리를 통하여 한 서버 장
애 발생 시 나머지
compute는 정상 통신
Routing
NAT
L2 Switch
Public IP eth1 eth1
http://sola99.tistory.com
2. 오픈스택 네트워크 : 노바 네트워크 (9/9)
노바 네트워크 한계점
대규모 네트워크 확장 시 문제
No 3-tier Network topology supported
No Self-tenant L3
제한적인 이중화/HA 기술 제공
No Service : LBaaS, FWaaS, VPNaaS, XaaS
3rd party 벤더/솔루션 제공 불가(plugin)
SDN 망/컨트롤러 연동 불가
http://sola99.tistory.com 20
여러분만 어려운게 아닙니다
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (1/10)
[ ㄱ. Neutron 소개 ] [ ㄴ. Neutron 구성요소 ]
네트워크 가상화가 등장하면서, Quantum → Neutron 등장
VLAN, VXLAN, GRE 등 지원, API for Network 지원
상용 벤더 하드웨어/솔루션 연동, SDN 연동 필요, 서비스 요구
Monolithic(LinuxBridge, OVS), ML2(Type, Mechanism)
5가지 구성 : Single Flat, Multiple Flat, Mixed Flat and
Private, Provider router with private, Per-tenant router
with private
2가지 호스트 모드 : single-host, multi-host(Juno DVR)
Openstack Scale-out 구성 시 Network 설계 방안 및 아이디어
neutron-server
queue neutron-
agent(s)
neutron
database
neutron-
agent(s)
Neutron
Neutron Plugins
Neutron Agents
↳ dhcp/l3 agent
[ ㄷ. Namespace ] [ ㄹ. Plugin ]
Monolithic
LinuxBridge,
Open vSwitch 중 선택
Tenant A
VM1
10.1.1.0/24
Tenant B
VM1
10.1.2.0/24
namespace 사용 전
Compute Node
Tenant A
VM1
10.1.1.0/24
Tenant B
VM1
10.1.1.0/24
namespace 사용
Compute Node
1대 물리 서버에서 Namespace 로 Overlapping IPs
격리 : Net 인터페이스, 라우팅 테이블, IPtables
ML2
Vendor X Plugin
http://naleejang.tistory.com/119
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (2/10)
[ ㄱ. Neutron 구성 예시 ] [ ㄴ. 1 Node All-in-One ]
[ ㄷ. 3 Node]
Single-host : 1 Node All-in-One, 3 Node Basic
Multi-host : Juno(DVR)
1 Node
All-in-one
(All Service)
OpenStack or
DevStack
인터넷
Controller
Network
Compute
eth0 eth0 eth0 eth1 eth2 eth1
관리, API (MgMt)
외부인터넷 (internet)
VM간통신 (host-only)
인터넷
Node 설명
Controller 인증/이미지/관리(컴퓨트/네트워킹), 대쉬보드, DB, message broker, NTP, + (옵션)
Network 네트워크 플로그인(Layer 2/3 agent, NAT/DHCP), 내/외부 연결
Compute 컴퓨트를 위한 하이버바이저, 네트워크(L2 agent), + (옵션)
VLAN
VXLAN
GRE
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (3/10)
[ㄴ. Single Flat Network ]
[ ㄷ. Multiple Flat Network]
[ ㄱ. Neutron Deployment Use Cases ]
Single Flat Network
Multiple Flat Network
Mixed Flat and Private Network
Provider Router with Private Networks
Per-tenant Routers with Private Networks
[ ㄹ. Mixed Flat and Private Network ]
nova-network 의
FlatDHCP와 유사
네트워크 장비 관련 설정 거
의 없음
VMs 간 네트워크 동일(확장
/보안 문제 발생)
VMs 간 네트워크 동일(확장
/보안 문제 발생)
네트워크 장비 설정 일부 존재
L2 Switch 에 VLAN 설정 권장
L3 장비에 VMs Gateway 설정
http://docs.openstack.org/havana/install-guide/install/apt/content/section_use-cases-multi-flat.html
VM에 MultiNic 설정
VMs 간 격리 네트워트 =
Private
VMs 간 네트워크 동일(확장
/보안 문제 발생) = Shared
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (4/10)
[ㅂ. Per-tenant Routers with Private Networks ] [ ㅁ. Provider Router with Private Networks ]
가상 라우터(Provider Router) 제공
SNAT/DNAT(Floating IP) 가능
Tenants 간 가상 라우터를 통한 통신 가능
Tenants 간 Overlapping IPs 대역을 설정 불가능
활용 : 대규모 Private Cloud 용도이며 Tenants 간 통신 가능 시
Overlapping IPs
활용 : Public Cloud
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (5/10)
DVR(Distributed Virtual Routing)
[ㄴ. Multihost DVR : East-West ]
[ ㄷ. Multihost DVR : Central SNAT ]
[ ㄱ. Single Host ]
[ ㄹ. Multihost DVR : DNAT Floating IP ]
https://docs.google.com/presentation/d/1XJY30ZM0K3xz1U4CVWaQuaqBotGadAFM1xl1UuLtbrk/edit#slide=id.g2b6a14e30_053
Network
Node
Compute1
VM1(T1)
Compute2
VM2(T2)
Compute3
VM2(T1)
인터넷
Switch
Network Node SPoF(Single Point of failure) ⇒ Pacemaker
프로세스 부하, 트래픽 부하 발생 ⇒ DVR
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (6/10)
플러그인
[ㄴ. VMware의 VMware NSX MH ] [ ㄱ. Plugin ]
VMware NSX 플러그인 통해, Gateway(L3 Agent) 분산/확장
L2/L3/SNAT/DNAT/FW/QoS 기능 제공, Overlay Network 지원
HA/이중화 제공, A-S, A-A 형태 동작 제공, 기존 인프라 연동 지원
https://communities.vmware.com/servlet/JiveServlet/previewBody/27611-102-2-37003/NSX-MH-DesignGuidev4.2_Final.pdf
다양한 플러그인을 통하여 네트워크 기본 기능 및 고급 기능
단, 각 벤더/솔루션의 기능/성능에 대한 PoC/Test 꼭 진행 할 것
기존 네트워크 벤더의 치열한 경쟁/전쟁터
오버레이 기반의 네트워크 가상화 제공이 대부분이며, 이중화 및 Scale-
out 에 대한 방안등이 주요 기능, SDN(Openflow) 및 BGP를 통한
모니터링/제어 동작도 다수 솔루션에서 구현
http://docs.openstack.org/admin-guide-cloud/content/section_plugin-arch.html
https://wiki.openstack.org/wiki/Neutron_Plugins_and_Drivers
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (7/10)
플러그인
[ㄹ. Arista + F5 ] [ ㄷ. Midokura 의 MidoNet ]
MidoNet/Neutron API : 뉴트론과 연동(RESTful APIs) Distributed NAT Logical L2 Switching (스위칭) : 고립 L2 제공, 분산 가상 스위칭 Logical Distributed Firewall (방화벽) : VM을 위한 방화벽 기능 Logical distributed L4/LB: 부하에 따른 자동 Scale Up/Down VxLAN/GRE Tunneling VxLAN Gateway : VM이 L2 환경으로 물리적 VLAN과 통신 가능
http://www.midokura.com/midonet/openstack/
L3 ECMP Fabric All routing in hardware East-West routing via dedicated Arista MLAG pair North-South routing and NAT via dedicated F5 HA pair CVX runs OpenStack, VXLAN, and Network Topology service Max pod size
100 racks, ~4000 servers 80K VMs, assuming ~20 VMs/server Split across 4-25 OpenStack clusters 4K networks per OpenStack cluster Dedicated Arista L3 node and F5 Gateway node required per
cluster
[ Openstack with VXLAN with NAT ]
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (8/10)
플러그인
[ㅂ. Cisco CSR1kv VPNaaS & Cisco ACI(SDN) ] [ ㅁ. Cisco Nexus Driver for Neutron ]
http://www.cisco.com/c/en/us/products/collateral/switches/nexus-3000-series-switches/data_sheet_c78-727737.html
VLAN 프로그래밍 : VM 생성 시 할당된 VLAN 정보를 물리 스위치에 설정 및 VM 해제 시 VLAN 정보를 삭제 함
L3 Gateway 설정 : VM 에서 외부로 트래픽 나갈때 물리 스위치에 SVI(Gateway) 설정되어 있어, 분산트래픽 처리(?)
Multihomed Host Deployments : 물리 서버와 상단 물리 스위치들간 링크를 Active-Active 사용 설정/삭제
http://www.slideshare.net/lewtucker/open-stack-atlanta-2014tucker
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (9/10)
플러그인
[ㅇ. Opencontrail ] [ ㅅ. IBM SDN-VE ]
http://ryusstory.tistory.com/311
vRouter 와는 XMPP를 통하여 모니터링/제어(?) : VM 생성 시 XMPP를 통해 vRouter에 인터페이스 자동 생성 및 VM Port 연결
vRouter(E-VPN, L3VPN 기능 등)는 OVS, LinuxBridge를 대체 기존 인프라와 연결된 장비와는 BGP + Netconf를 통하여 라우팅
관리/제에, 데이터 처리는 MPLSoverGRE/UDP or VXLAN
http://sola99.tistory.com
3. 오픈스택 네트워크 : 뉴트론 (10/10)
서비스 : LBaaS, VPNaaS, FWaaS → XaaS(Any)
[ ㄴ. VPNaaS : vPC on AWS : Cisco CSR1Kv ] [ ㄱ. LBaaS ]
http://www.slideshare.net/shakhat/openstack-lbaas-presentation
Routing
NAT
Public 50.1.1.1
↔ DNAT 변환
Private 10.1.1.10
[ ㄷ. FWaaS ] 인터넷
L2 Switch
Load
Balancer
10.1.1.10
VM1
10.1.1.11
VM2
10.1.1.12
VM3
10.1.1.13
서버 용량 확장 및 운영 용이를 위해 L4 서비스를 제공
기본적으로 LBaaS는 오픈소스인 HAProxy를 통해서 구현(L4/L7)
2가지 모드 : 동일 네트워크(Wiring), 다른 네트워크(Routed Mode)
외부에서 VIP로 접근 되면, 해당 LB/L4는 멤버VMs을 확인하여 지정한
부하분산 알고리즘에 따라서 선택된 멤버VM(서버)로 전달
멤버VMs에 대한 생존 확인을 위하여 Health Check 기능
세션 유지 기능 제공, LB/L4에 자체에 대한 HA/이중화(?)
(옵션) 부하에 따라 VMs(이미지, Glance)로 자동 생성/배포/삭제
Member : VM1/2/3
Service Port : 80(HTTP)
Health Check
Virtual IP : 10.1.1.10
(옵션)
오토
스케일
image
https://supportforums.cisco.com/document/12278611/vpc-gateway-redundancy-csr-1000v
Security Group은 VM(호스트) 레벨의 방화벽(IPtable)
FWaaS는 Project 레벨의 보안(Neutron Router에 적용)
http://sola99.tistory.com
Finished!
당신은 이제 네트워크 전문가
http://sola99.tistory.com
참고 자료
클라우드 데이터센터 네트워크 아키텍처
[ ㄹ. XaaS ] [ ㄱ. VXLAN 기반 네트워크 아키텍처 Cisco ]
http://www.slideshare.net/jonghoseo12/vxlan-cisco20141215 http://www.slideshare.net/jonghoseo12/20141202-42242800
http://sola99.tistory.com
참고 자료
Neutron 내부 네트워크 구조(GRE) 상세
eth2
br-ex (ovs)
qg-XXX
L3 Agent, IPtable
br-int (ovs)
patch-tun
Tap qr-Y qr-Z Tap
br-ex
br-int
br-tun (ovs)
gre-XX
patch-int
eth1
qvb
br-int (ovs)
patch-tun
qvo qvo
br-int
br-tun (ovs)
gre-XX
patch-int
eth1
qvb
qbr qbr
tap tap
네트워크 노드 컴퓨트 노드
Tenant1 VM1
Tenant2 VM1
dnsmasq dnsmasq
터널(?)
Open vSwitch Internal Port Patch Port
TAP device Linux Bridge veth pair 인터넷
http://sola99.tistory.com
참고 자료
이중화
[ ㄴ. L3 Agent 이중화 방안 ] [ ㄱ. [ 네트워크 노드 이중화(클러스터링) ]
http://docs.openstack.org/openstack-ops/content/example_architecture.html
https://www.openstack.org/assets/presentation-media/Neutron-L3-HA-Summit-eNovance-template.pdf
기본적으로 IceHouse 경우 pacemaker 로 멀티 노드간 생존체크를 하며, Juno 버전부터는 VRRP를 사용하였으니, 최근 파리 summit 에서 Icehouse 에서 VRRP 사용에 대한 언급이 되었음 앞선 방안과는 다르게 Compute 노드에서 L3 처리가 아니라, Network Node 들을 증가하여 트래픽 처리를 분산하는 개념 HA의 방안 : Active/Passive , Active/Active 방식 제공
top related