SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
© 2018 NHN FORWARD. All rights reserved.
우리의 완벽한 OpenStack
- OpenStack 5년 운영 경험
정은철
클라우드시스템운영팀
자체 구축한 데이터센터의
OpenStack 위에 우리의 기술을 쌓아
TOAST 클라우드는 지금도 진화하고 있습니다.
4 / 46
OpenStack == SDDC
Keystone
(Identity)
Nova
(Compute)
Cinder
(Block storage)
Glance
(Image)
Neutron
(Network)
SDDC = SDC + SDS + SDN
Software Defined Data Center
Compute
Service
Storage
Service
Network
Service
CONTENTS
1. TOAST 클라우드의 성장
2. 성장통과 극복
3. RDS
4. 주요 과제
TOAST 클라우드의 성장
7 / 46
걸어온 길
OpenStack
연구시작
2013년 2014년 2015-2016년 2017-2018년 2019년
TOAT Cloud
내부 오픈
안정화 대외 서비스
확장
글로벌 진출
8 / 46
5년의 시간
300+ Computer nodes
3000+ Active IaaS Projects
4000+ Floating IP
5000+ Active Server Instances
Infra Product Volume
Instance / Auto Scale
RDS for MySQL
Block Storage / Object Storage
VPC / Load Balancer
CDN
…
성장통과 극복
10 / 46
운영을 해보니 마주친 다양한 문제들
SaltStack 사용
OpenStack 패키지 관리
많은 노드의 형상 관리
DVR 적용Network node 부하
방어 체계 구성, neutron 패치BUM Traffic, Switching Loop
QoS 적용Block Storage IO 부하
11 / 46
PoC
• 소수의 장비
• 수동 구성
사례1. Infrastructure as Code
Production
• 다수의 장비
• 구성 자동화
12 / 46
사례1. Infrastructure as Code
형상관리 문제
• Kernel, Package 버전 불일치
• Code patch 누락
구성 변경의 추적 불가
• 디버깅의 유산
불신
두려움수작업
13 / 46
사례1. Infrastructure as Code
Master
Minion
형상 관리
• State 관리
• OS 형상 관리
• OpenStack 패키지 관리
구성 변경 감시
• Event monitoring
• Reactor
Beacons
Reactor
file changes
system load
service status
state
Event bus
Fire Monitor
Minion
Minion
Minion
Apply
SE
Alert
14 / 46
사례2. DVR(Distributed Virtual Routing)
VPC(Virtual Private Cloud)
• 사용자 정의 가상 네트워크 환경
• 클라우드 환경에서 격리된 네트워크 환경을 보장
Router
VM-1 VM-2
Switch
VM-Q VM-W
192.168.0.41/24 192.168.0.51/24 192.168.1.84/24 192.168.1.94/24
192.168.0.1/24
192.168.1.1/24
동일 서브넷 간: MAC, Switching
다른 서브넷 간: IP, Routing
15 / 46
사례2. DVR(Distributed Virtual Routing)
CVR (Centralized Virtual Routing)
• HA 구성 불가 (Ice House)
• External 통신은 Network node 가 전담: 부하집중, SPoF
Compute node Network node
VM Internal network
VM External network
RouterVM
Compute node
VM
crash
16 / 46
사례2. DVR(Distributed Virtual Routing)
전략
• IDC 이전: 목동 -> TCC1
• OpenStack 재구성: Ice House -> Kilo
• DVR 선택
17 / 46
사례2. DVR(Distributed Virtual Routing)
DVR
• Exnternal 통신은 Compue node 의 Router 가 처리(FIP 가 있는 경우)
Compute node
Network node
VM Internal network
VM External network
Router
VM
Compute node
VM
Router Router
18 / 46
사례2. DVR(Distributed Virtual Routing)
적용 후
• 장애 발생 시 영향 범위가 축소됨
• Network node 의 부하 감소하여 Crash 발생 안함
• 그러나 HA 문제는 해결 할 수 없음
19 / 46
사례3. BUM, Loop
Switch
VM
OVSovs-agent
VM VM
OVSovs-agent
VM VM
OVSovs-agent
VM
Neutron server
Management network
Tenant/Provider network
Compute node
20 / 46
사례3. BUM, Loop
VM
br-int
br-ext br-vlan
VM
bond1bond2
SwitchSwitch
Compute node
Router
Provider network
Tenant network
OVS
21 / 46
사례3. BUM, Loop
문제점
• BUM: Broadcast, Unknown-Unicast, Multicast
• Node 재부팅할 때 다량이 BUM Traffic 발생하여 상단 Switch 부하 유발
• 그로 인해 Overlay Network 품질 저하 및 장애 발생
22 / 46
사례3. BUM, Loop
방지 방안1
• OVS에 Flooding 방지 설정
• fail-mode: secure
Controller와 연결이 안되는 경우에
Flow설정하지 않도록 함
VM
br-int
br-ext br-vlan
VM
bond1bond2
Compute node
Provider network
Tenant network
OVS
23 / 46
사례3. BUM, Loop
방지 방안2
• ovs-agent에서 flow 적용 순서 변경
• Drop rule을 가장 먼저 적용
VM
OVSovs-agent
VM
Management network
Tenant/Provider network
Compute node
24 / 46
사례3. BUM, Loop
방지 방안3
• 상단 Switch 의 Storm control 적용
• Broadcast, Multicast 가 1K/s 이하로 억제
Switch
VM
OVSovs-agent
VM
Management network
Tenant/Provider network
Compute node
25 / 46
사례4. ARP 학습
VM
br-int
br-ext br-vlan
VM
bond1bond2
SwitchSwitch
Compute node
Router
Provider network
Tenant network
OVS
Router Router FIP GW
26 / 46
사례4. ARP 학습
VM
br-int
br-ext br-vlan
bond1bond2
Compute node
OVS
Router
Routing
NAT
Fixed => Floating IP
Fixed <= Floating IP
FIP GW
MAC: FA:16:3E:0C:DD:21
27 / 46
사례4. ARP 학습
VM 1
br-int
br-ext br-vlan
bond1bond2
Compute node1
Provider network
OVS
Router
br-int
br-ext br-vlan
bond1bond2
Compute node2
OVS
FIP GW
MAC1: FA:16:3E:0C:DD:21 MAC2: FA:16:3E:5F:21:A2
FIP
VM 2Router FIP GW
Switch
Router
ARP Table
FIP - MAC1
28 / 46
사례4. ARP 학습
문제점
• Instance에 할당된 FIP 를 회수하여 다른 Instance에 할당
• Router(Gateway) 의 ARP Table이 갱신되지 않음
• 외부에서 FIP로 통신 불가
29 / 46
사례4. ARP 학습
VM 1
br-int
br-ext br-vlan
bond1bond2
Compute node1
Provider network
OVS
Router
br-int
br-ext br-vlan
bond1bond2
Compute node2
OVS
FIP GW
MAC1: FA:16:3E:0C:DD:21 MAC2: FA:16:3E:5F:21:A2
VM 2Router FIP GW
Switch
Router
ARP Table
FIP – MAC1
FIP
30 / 46
사례4. ARP 학습
개선
• L3-agent가 FIP 설정 담당
• FIP구성 마지막 단계에서 Router 에게 ARP 정보를 전파함
• L3-agent는 Reply형태로 GARP 발생하도록 되어 있음
• Router가 Request 형태의 GARP를 처리함을 확인
• L3-agent 소스코드를 수정함
31 / 46
사례5. Block Storage 부하
32 / 46
사례5. Block Storage 부하
Compute node
VM VM VM VM
File File File File
Disk Disk Disk Disk
NAS
Switch
Compute
node
NAS
Compute
node
Compute
node
33 / 46
사례5. Block Storage 부하
문제점
• 규모가 커지고 사용량이 증가하면서 IO 부하 발생
• 일부 Server Instance 가 높은 부하 발생
• 그로 인해 Storage network, NAS 부하 유발
• 연관된 Server Intance 의 Block storage IO 지연 발생
34 / 46
사례5. Block Storage 부하
개선
• IO 측정 및 분석
• NAS 모니터링
• Server Instance 단위의 Block device IO 모니터링
• QoS 를 확보하기 위한 IO 제한 적용
RDS
36 / 46
관리의 부담
감소 가용성확장성
Relational Database Service
• MySQL 제공
• 개발 vs OpenStack Trove
RDS
37 / 46
RDS
1차 아키텍처 디자인
VM
Public pool
IaaS Project
VM
10.0.0.0/24
RDS
WMI pool
RDS Project
192.168.0.0/24
Peering
DMZ
RDS Manager
Firewall
NE System
38 / 46
2차 아키텍처 디자인
RDS
VM
Public pool
IaaS Project
VM
10.0.0.0/24
NE System
RDS Manager
RDS
RDS Project
VM
WMI pool
IaaS Project
VM
10.0.0.0/24
RDS
RDS Project
TOAST 클라우드의 방향
40 / 46
가용성 확장성고성능
개발 중인 SDN 스위치 및 컨트롤러 적용
High performance networking
41 / 46
재해복구
(DR)
지역 접근성
Global Region 확장
• 일본, 미국
Global regions
42 / 46
WMI 환경에서 클라우드의 장점을 적극 활용할 수 있는 환경 제공
Dynamic Infrastructure
API Self-ServiceOn-Demand
© 2018 NHN FORWARD. All rights reserved.
요약
44 / 46
Life with TOAST 클라우드
• 5년의 시간 동안 OpenStack과 기반 기술 내재화
• IaaS 기반의 RDS, Redis 상품 개발 진행 중
• Overlay network 성능 고도화 진행 중
• 일본, 미국에 Region 구축 진행 중
• Dynamic Infrastructure 가능한 환경 제공 준비
• 지금! 바로! http://www.toast.com
© 2018 NHN FORWARD. All rights reserved.
Q&A
© 2018 NHN FORWARD. All rights reserved.
THANK YOU

Contenu connexe

Tendances

Tendances (20)

[242]open stack neutron dataplane 구현
[242]open stack neutron   dataplane 구현[242]open stack neutron   dataplane 구현
[242]open stack neutron dataplane 구현
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
150326 openstack, glance 김지은
150326 openstack, glance 김지은150326 openstack, glance 김지은
150326 openstack, glance 김지은
 
Issues of OpenStack multi-region mode
Issues of OpenStack multi-region modeIssues of OpenStack multi-region mode
Issues of OpenStack multi-region mode
 
Openstack zun,virtual kubelet
Openstack zun,virtual kubeletOpenstack zun,virtual kubelet
Openstack zun,virtual kubelet
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
Deploying CloudStack and Ceph with flexible VXLAN and BGP networking
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNs
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 
[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우[234] toast cloud open stack sdn 전략-박성우
[234] toast cloud open stack sdn 전략-박성우
 
Community Openstack 구축 사례
Community Openstack 구축 사례Community Openstack 구축 사례
Community Openstack 구축 사례
 
Deep dive into Kubernetes Networking
Deep dive into Kubernetes NetworkingDeep dive into Kubernetes Networking
Deep dive into Kubernetes Networking
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
 
Intro to Helm for Kubernetes
Intro to Helm for KubernetesIntro to Helm for Kubernetes
Intro to Helm for Kubernetes
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)
 
K8s cluster autoscaler
K8s cluster autoscaler K8s cluster autoscaler
K8s cluster autoscaler
 
Red Hat OpenStack 17 저자직강+스터디그룹_5주차
Red Hat OpenStack 17 저자직강+스터디그룹_5주차Red Hat OpenStack 17 저자직강+스터디그룹_5주차
Red Hat OpenStack 17 저자직강+스터디그룹_5주차
 

Similaire à [2018] 오픈스택 5년 운영의 경험

[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
OpenStack Korea Community
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
choi kyumin
 

Similaire à [2018] 오픈스택 5년 운영의 경험 (20)

한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktf한대희 Web proxy_개발_2006년11월_pas_ktf
한대희 Web proxy_개발_2006년11월_pas_ktf
 
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
 
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
[OpenStack Days Korea 2016] Track2 - How to speed up OpenStack network with P...
 
Private cloud network architecture (2018)
Private cloud network architecture (2018)Private cloud network architecture (2018)
Private cloud network architecture (2018)
 
Mellanox introduction 2016 03-28_hjh
Mellanox introduction  2016 03-28_hjhMellanox introduction  2016 03-28_hjh
Mellanox introduction 2016 03-28_hjh
 
cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)
 
[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster[2B5]nBase-ARC Redis Cluster
[2B5]nBase-ARC Redis Cluster
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
 
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
[OpenStack Days Korea 2016] Innovating OpenStack Network with SDN solution
 
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
[OpenInfra Days Korea 2018] (Track 2) 오픈스택 기반 온프레미스 및 멀티클라우드 연동 사례: IXcloud KDX
 
NSO Introduction
NSO IntroductionNSO Introduction
NSO Introduction
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 
5G SDN/NFV/CNF
5G SDN/NFV/CNF5G SDN/NFV/CNF
5G SDN/NFV/CNF
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
Next generation cloud data center technologies
Next generation cloud data center technologiesNext generation cloud data center technologies
Next generation cloud data center technologies
 
Network virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center NetworkNetwork virtualization for the better understanding of Data Center Network
Network virtualization for the better understanding of Data Center Network
 
3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)3rd SDN Interest Group Seminar-Session 3 (130123)
3rd SDN Interest Group Seminar-Session 3 (130123)
 
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
플랫폼데이2013 workflow기반 실시간 스트리밍데이터 수집 및 분석 플랫폼 발표자료
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
 

Plus de NHN FORWARD

Plus de NHN FORWARD (20)

[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템
 
[2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿![2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿!
 
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
 
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
 
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
 
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
 
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
 
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
 
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
 
[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system
 
[2019] PAYCO 매거진 서버 Kotlin 적용기
[2019] PAYCO 매거진 서버 Kotlin 적용기[2019] PAYCO 매거진 서버 Kotlin 적용기
[2019] PAYCO 매거진 서버 Kotlin 적용기
 
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
 
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
 
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
 
[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩
 
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
 
[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우
 
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
 

[2018] 오픈스택 5년 운영의 경험

  • 1. © 2018 NHN FORWARD. All rights reserved. 우리의 완벽한 OpenStack - OpenStack 5년 운영 경험 정은철 클라우드시스템운영팀
  • 2.
  • 3. 자체 구축한 데이터센터의 OpenStack 위에 우리의 기술을 쌓아 TOAST 클라우드는 지금도 진화하고 있습니다.
  • 4. 4 / 46 OpenStack == SDDC Keystone (Identity) Nova (Compute) Cinder (Block storage) Glance (Image) Neutron (Network) SDDC = SDC + SDS + SDN Software Defined Data Center Compute Service Storage Service Network Service
  • 5. CONTENTS 1. TOAST 클라우드의 성장 2. 성장통과 극복 3. RDS 4. 주요 과제
  • 7. 7 / 46 걸어온 길 OpenStack 연구시작 2013년 2014년 2015-2016년 2017-2018년 2019년 TOAT Cloud 내부 오픈 안정화 대외 서비스 확장 글로벌 진출
  • 8. 8 / 46 5년의 시간 300+ Computer nodes 3000+ Active IaaS Projects 4000+ Floating IP 5000+ Active Server Instances Infra Product Volume Instance / Auto Scale RDS for MySQL Block Storage / Object Storage VPC / Load Balancer CDN …
  • 10. 10 / 46 운영을 해보니 마주친 다양한 문제들 SaltStack 사용 OpenStack 패키지 관리 많은 노드의 형상 관리 DVR 적용Network node 부하 방어 체계 구성, neutron 패치BUM Traffic, Switching Loop QoS 적용Block Storage IO 부하
  • 11. 11 / 46 PoC • 소수의 장비 • 수동 구성 사례1. Infrastructure as Code Production • 다수의 장비 • 구성 자동화
  • 12. 12 / 46 사례1. Infrastructure as Code 형상관리 문제 • Kernel, Package 버전 불일치 • Code patch 누락 구성 변경의 추적 불가 • 디버깅의 유산 불신 두려움수작업
  • 13. 13 / 46 사례1. Infrastructure as Code Master Minion 형상 관리 • State 관리 • OS 형상 관리 • OpenStack 패키지 관리 구성 변경 감시 • Event monitoring • Reactor Beacons Reactor file changes system load service status state Event bus Fire Monitor Minion Minion Minion Apply SE Alert
  • 14. 14 / 46 사례2. DVR(Distributed Virtual Routing) VPC(Virtual Private Cloud) • 사용자 정의 가상 네트워크 환경 • 클라우드 환경에서 격리된 네트워크 환경을 보장 Router VM-1 VM-2 Switch VM-Q VM-W 192.168.0.41/24 192.168.0.51/24 192.168.1.84/24 192.168.1.94/24 192.168.0.1/24 192.168.1.1/24 동일 서브넷 간: MAC, Switching 다른 서브넷 간: IP, Routing
  • 15. 15 / 46 사례2. DVR(Distributed Virtual Routing) CVR (Centralized Virtual Routing) • HA 구성 불가 (Ice House) • External 통신은 Network node 가 전담: 부하집중, SPoF Compute node Network node VM Internal network VM External network RouterVM Compute node VM crash
  • 16. 16 / 46 사례2. DVR(Distributed Virtual Routing) 전략 • IDC 이전: 목동 -> TCC1 • OpenStack 재구성: Ice House -> Kilo • DVR 선택
  • 17. 17 / 46 사례2. DVR(Distributed Virtual Routing) DVR • Exnternal 통신은 Compue node 의 Router 가 처리(FIP 가 있는 경우) Compute node Network node VM Internal network VM External network Router VM Compute node VM Router Router
  • 18. 18 / 46 사례2. DVR(Distributed Virtual Routing) 적용 후 • 장애 발생 시 영향 범위가 축소됨 • Network node 의 부하 감소하여 Crash 발생 안함 • 그러나 HA 문제는 해결 할 수 없음
  • 19. 19 / 46 사례3. BUM, Loop Switch VM OVSovs-agent VM VM OVSovs-agent VM VM OVSovs-agent VM Neutron server Management network Tenant/Provider network Compute node
  • 20. 20 / 46 사례3. BUM, Loop VM br-int br-ext br-vlan VM bond1bond2 SwitchSwitch Compute node Router Provider network Tenant network OVS
  • 21. 21 / 46 사례3. BUM, Loop 문제점 • BUM: Broadcast, Unknown-Unicast, Multicast • Node 재부팅할 때 다량이 BUM Traffic 발생하여 상단 Switch 부하 유발 • 그로 인해 Overlay Network 품질 저하 및 장애 발생
  • 22. 22 / 46 사례3. BUM, Loop 방지 방안1 • OVS에 Flooding 방지 설정 • fail-mode: secure Controller와 연결이 안되는 경우에 Flow설정하지 않도록 함 VM br-int br-ext br-vlan VM bond1bond2 Compute node Provider network Tenant network OVS
  • 23. 23 / 46 사례3. BUM, Loop 방지 방안2 • ovs-agent에서 flow 적용 순서 변경 • Drop rule을 가장 먼저 적용 VM OVSovs-agent VM Management network Tenant/Provider network Compute node
  • 24. 24 / 46 사례3. BUM, Loop 방지 방안3 • 상단 Switch 의 Storm control 적용 • Broadcast, Multicast 가 1K/s 이하로 억제 Switch VM OVSovs-agent VM Management network Tenant/Provider network Compute node
  • 25. 25 / 46 사례4. ARP 학습 VM br-int br-ext br-vlan VM bond1bond2 SwitchSwitch Compute node Router Provider network Tenant network OVS Router Router FIP GW
  • 26. 26 / 46 사례4. ARP 학습 VM br-int br-ext br-vlan bond1bond2 Compute node OVS Router Routing NAT Fixed => Floating IP Fixed <= Floating IP FIP GW MAC: FA:16:3E:0C:DD:21
  • 27. 27 / 46 사례4. ARP 학습 VM 1 br-int br-ext br-vlan bond1bond2 Compute node1 Provider network OVS Router br-int br-ext br-vlan bond1bond2 Compute node2 OVS FIP GW MAC1: FA:16:3E:0C:DD:21 MAC2: FA:16:3E:5F:21:A2 FIP VM 2Router FIP GW Switch Router ARP Table FIP - MAC1
  • 28. 28 / 46 사례4. ARP 학습 문제점 • Instance에 할당된 FIP 를 회수하여 다른 Instance에 할당 • Router(Gateway) 의 ARP Table이 갱신되지 않음 • 외부에서 FIP로 통신 불가
  • 29. 29 / 46 사례4. ARP 학습 VM 1 br-int br-ext br-vlan bond1bond2 Compute node1 Provider network OVS Router br-int br-ext br-vlan bond1bond2 Compute node2 OVS FIP GW MAC1: FA:16:3E:0C:DD:21 MAC2: FA:16:3E:5F:21:A2 VM 2Router FIP GW Switch Router ARP Table FIP – MAC1 FIP
  • 30. 30 / 46 사례4. ARP 학습 개선 • L3-agent가 FIP 설정 담당 • FIP구성 마지막 단계에서 Router 에게 ARP 정보를 전파함 • L3-agent는 Reply형태로 GARP 발생하도록 되어 있음 • Router가 Request 형태의 GARP를 처리함을 확인 • L3-agent 소스코드를 수정함
  • 31. 31 / 46 사례5. Block Storage 부하
  • 32. 32 / 46 사례5. Block Storage 부하 Compute node VM VM VM VM File File File File Disk Disk Disk Disk NAS Switch Compute node NAS Compute node Compute node
  • 33. 33 / 46 사례5. Block Storage 부하 문제점 • 규모가 커지고 사용량이 증가하면서 IO 부하 발생 • 일부 Server Instance 가 높은 부하 발생 • 그로 인해 Storage network, NAS 부하 유발 • 연관된 Server Intance 의 Block storage IO 지연 발생
  • 34. 34 / 46 사례5. Block Storage 부하 개선 • IO 측정 및 분석 • NAS 모니터링 • Server Instance 단위의 Block device IO 모니터링 • QoS 를 확보하기 위한 IO 제한 적용
  • 35. RDS
  • 36. 36 / 46 관리의 부담 감소 가용성확장성 Relational Database Service • MySQL 제공 • 개발 vs OpenStack Trove RDS
  • 37. 37 / 46 RDS 1차 아키텍처 디자인 VM Public pool IaaS Project VM 10.0.0.0/24 RDS WMI pool RDS Project 192.168.0.0/24 Peering DMZ RDS Manager Firewall NE System
  • 38. 38 / 46 2차 아키텍처 디자인 RDS VM Public pool IaaS Project VM 10.0.0.0/24 NE System RDS Manager RDS RDS Project VM WMI pool IaaS Project VM 10.0.0.0/24 RDS RDS Project
  • 40. 40 / 46 가용성 확장성고성능 개발 중인 SDN 스위치 및 컨트롤러 적용 High performance networking
  • 41. 41 / 46 재해복구 (DR) 지역 접근성 Global Region 확장 • 일본, 미국 Global regions
  • 42. 42 / 46 WMI 환경에서 클라우드의 장점을 적극 활용할 수 있는 환경 제공 Dynamic Infrastructure API Self-ServiceOn-Demand
  • 43. © 2018 NHN FORWARD. All rights reserved. 요약
  • 44. 44 / 46 Life with TOAST 클라우드 • 5년의 시간 동안 OpenStack과 기반 기술 내재화 • IaaS 기반의 RDS, Redis 상품 개발 진행 중 • Overlay network 성능 고도화 진행 중 • 일본, 미국에 Region 구축 진행 중 • Dynamic Infrastructure 가능한 환경 제공 준비 • 지금! 바로! http://www.toast.com
  • 45. © 2018 NHN FORWARD. All rights reserved. Q&A
  • 46. © 2018 NHN FORWARD. All rights reserved. THANK YOU