SlideShare una empresa de Scribd logo
1 de 35
Copyright © DeNA Co.,Ltd. All Rights Reserved.
DeNA private cloudのその後
Mar 29, 2017
Kengo Sakai
IT Platform Dept.
System Management Unit
DeNA Co., Ltd.
OpenStack最新情報セミナー(2017年3月)
Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
 氏名
⁃ 酒井 憲吾(Sakai Kengo)
 所属
⁃ 株式会社ディー・エヌ・エー システム本部IT基盤部
 経歴
⁃ 前職ではネットワーク系の研究開発、ソフトウェア開発
⁃ DeNAでは遺伝子検査サービス MYCODEのインフラ構築、運用に携
わったのち、現在はprivate cloudの運用に従事
2
Copyright © DeNA Co.,Ltd. All Rights Reserved.
アジェンダ
 2015年12月の発表の振り返り
 現在のprivate cloudの状況
 SDN: Big Cloud Fabric
 SDS: Ceph
3
Copyright © DeNA Co.,Ltd. All Rights Reserved.
2015年12月の発表の振り返り
4
Copyright © DeNA Co.,Ltd. All Rights Reserved.
振り返り:2015年12月のセミナー
5
https://www.slideshare.net/VirtualTech-JP/dena-openstack-201512
Copyright © DeNA Co.,Ltd. All Rights Reserved.
振り返り:サーバ運用とネットワーク運用の統合
6
Copyright © DeNA Co.,Ltd. All Rights Reserved.
振り返り:サーバ運用とネットワーク運用の統合
7
Copyright © DeNA Co.,Ltd. All Rights Reserved.
振り返り:ストレージサービス
8
Copyright © DeNA Co.,Ltd. All Rights Reserved.
振り返り:ストレージサービス
9
Copyright © DeNA Co.,Ltd. All Rights Reserved.
現在のprivate cloudの状況
10
Copyright © DeNA Co.,Ltd. All Rights Reserved.
private cloudの構成
11
© 2016 Big Switch Networks,Inc. All rights reserved.
© 2014 F5 Networks,Inc. All rights reserved.
© 2015, Red Hat, Inc. All rights reserved.
Production:
version: kilo
OS: Ubuntu 14.04
Development:
version: liberty
OS: Ubuntu 14.04
© 2015, Red Hat, Inc. All rights reserved.© The OpenStack Foundation September 19,2012 © The OpenStack Foundation September 19,2012
OpenStack Component: Keystone, Glance, Nova, Neutron, Cinder, Ironic
Copyright © DeNA Co.,Ltd. All Rights Reserved.
0
200
400
600
800
1000
1200
1400
1600
1800
2000
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
Instances
Production
Development
private cloudのインスタンス数の推移
12
2016 2017
既存の開発環境を
private cloudへ移行
Compute Node: 36台
Instance: 1786台
Compute Node: 36台
Instance: 144台
Copyright © 2017 Atlassian
Copyright © 2017 Atlassian
Copyright © DeNA Co.,Ltd. All Rights Reserved.
運用がどう変わったか
 サーバ運用とネットワーク運用の統合
⁃ VRF、VLAN、Network ACLの設定
• OpenStack + Big Cloud Fabricでサーバエンジニアが自ら設定可能に
 ストレージサービス
⁃ Compute Node故障時のVM再構築は不要に
• 他のCompute Node上でVMを起動するだけ
• VMのイメージはceph storageの中にあるため
⁃ live-migrationも出来るように
• 負荷の偏りを均す
• 故障予兆時に退避する
13
Copyright © DeNA Co.,Ltd. All Rights Reserved.
SDN: Big Cloud Fabric
14
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Big Cloud Fabricとは
15
 OpenStackとのintegrationにアンダーレイネットワークをサポート
 コントローラとスイッチから構成。両者ともLinuxが動作している
 GUI/APIが充実
Copyright © DeNA Co.,Ltd. All Rights Reserved.
OpenStack + Big Cloud Fabric Integration
16
! tenant
tenant test_project.openstack
id 48285b588ec5457f95c38b33a93c45e0
origination openstack
!
logical-router
route 0.0.0.0/0 next-hop tenant system
interface segment net_test
ip address 192.0.2.1/24
interface tenant system
!
segment net_test
id a808b97d-10e1-4f08-b3d3-978b5ae1f07d
origination openstack
!
endpoint 22accd96-5894-41bc-bd67-57790022a467
attachment-point interface-group osvdev0001 vlan 171
ip 192.0.2.10
mac fa:16:3e:2d:3d:3c
origination openstack
!
member interface-group osvdev0001 vlan 171
origination openstack
Project
Router
Network
OpenStackでネットワーク作成すると、
BCF上にconfigが自動生成されるように
インテグレーション
Copyright © DeNA Co.,Ltd. All Rights Reserved.
OpenStack + Big Cloud Fabric 構成パターン
 P-Fabricのパターンを採用
 ただし、L3(OpenStackのRouter)の連携がされない、という仕
様
17
Copyright © DeNA Co.,Ltd. All Rights Reserved.
OpenStack + Big Cloud Fabric Integration
18
BCF Controller
REST API
Controller Node
neutron-server
BCF Plugin
L3 Plugin
 Neutronプラグインを内製で開発
 BCF ControllerのREST APIを用いて、L3(Router)の情報を反映
 https://github.com/DeNADev/networking-bigswitch-l3-pe で公
開
tenant test_project.openstack
logical-router
route 0.0.0.0/0 next-hop tenant system
interface segment net_test
ip address 192.0.2.1/24
interface tenant system
Router
© 2016 Big Switch Networks,Inc. All rights reserved.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
障害発生!
19
Copyright © DeNA Co.,Ltd. All Rights Reserved.
障害:新規に作ったインスタンスが通信できない
 原因:neutron-serverがインスタンスのPort情報をBCFに反映できなかったため
 経緯
 BCF pluginでsync処理が頻発する、という不具合が発生
 sync処理中は他の処理ができない
 Compute Nodeのneutron-openvswitch-agentは追加/削除されたPort情報を
定期的にneutron-serverに通知する。この通知がsync処理のためタイムアウト
 通知がタイムアウトするとneutron-openvswitch-agentは管理しているPort情
報をすべて通知する。このためneutronに大量の負荷がかかることになり再度タ
イムアウト(以下無限ループ)
20
BCF Controller
REST API
Controller Node
neutron-server
BCF Plugin
L3 Plugin
Compute Node
agent
Compute Node
agent
sync © 2016 Big Switch Networks,Inc. All rights reserved.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
障害:新規に作ったインスタンスが通信できない
 対応
 neutron-openvswitch-agentの通知がさばけるまで順にneutron-
openvswitch-agentを止めていく
 この時使用していたneutron-openvswitch-agent(liberty)は起動時にインスタ
ンスのパケットがロスする問題があったため、以下のパッチを適用
 Cleanup stale OVS flows for physical bridges
 Don't disconnect br-int from phys br if connected
 neutron-openvswitch-agentを再度起動していく
 BCF pluginの不具合の原因を突き止めてBigSwitch社に報告(修正済み)
21
BCF Controller
REST API
Controller Node
neutron-server
BCF Plugin
L3 Plugin
Compute Node
agent
Compute Node
agent
© 2016 Big Switch Networks,Inc. All rights reserved.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
SDS: Ceph
22
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Cephとは
 オープンソースの分散ストレージ
 何かトラブルが起きた時に迅速に対応するためには、ソフトウェアの振る舞い
を詳細に把握する必要がある
 構成
 MON : OSDの構成、状態監視。Storage Node上でも動作
 OSD : ディスクへのデータの読み書きやデータのレプリケーション、データの
配置の管理
 現在のCeph Storage Cluster(version: 0.94.6 Hammer)
 Development: 225 TB / 421 TB
 Production: 19 TB / 25 TB
23
Storage Node
OSD OSD…
Storage Node
OSD OSD…
Monitor Node
MON …
Ceph Storage Cluster
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Compute Nodeの構成
 いわゆるハイパーコンバージドな構成
 Compute NodeがCephのStorage Nodeも兼ねる
 ALL HDD
 特に開発環境はコストを抑えるため、8TB 7200rpmのSATA-
HDD
 性能不足の場合はSSDや他のストレージの導入を検討する方針でス
タート
24
Copyright © DeNA Co.,Ltd. All Rights Reserved.
やはりI/O性能が問題に!!
25
Copyright © DeNA Co.,Ltd. All Rights Reserved.
問題その1: Compute Nodeのディスクの負荷が高い
 OSDはjournal領域、data領域の順に書き込みを行う
26
VM OSD journal data
request
当初は同じディスク(SATA-HDD)だった
Copyright © DeNA Co.,Ltd. All Rights Reserved.
パフォーマンスチューニング:
ジャーナルとデータ領域を一つの物理ディスクに共存させない
 ディスクへのI/O負荷を下げるために、ジャーナル領域とデータ領域と
は別の物理ディスクに変更
27
あるCompute Nodeのiostatの%util
ディスク構成変更
SATA-HDD
SAS-HDD
SAS-HDD
SATA-HDD
RAID1
RAID0
RAID0
• Linux root filesystem
• OSD.1 journal
• OSD.2 journal
• OSD.1 Data
• OSD.2 Data
Copyright © DeNA Co.,Ltd. All Rights Reserved.
問題その2: VMのI/Oリクエストが数秒〜数十秒待たされる
 原因調査が難航
 Compute Nodeのディスクの負荷は下がっているので問題ないはず。
 Compute NodeのCPU使用率はだんだん高くなってきているものの20%以下。
数十秒待たされる原因とは考えにくい。
 ネットワーク上の問題も特に発生していない。
28
あるCompute NodeのCPU使用率(user)
[WRN] slow request 15.012665 seconds old, … currently waiting for subops from 26,28
Copyright © DeNA Co.,Ltd. All Rights Reserved.
原因調査: ログ分析
 cephのログとソースコードを詳細に照らし合わせ調査した結果、write
request受信直後の処理が遅くなっていそうと判明。
 OSDは特定の処理を複数のworker threadで処理する方式。何らかの処理が
詰まってworker threadが枯渇しているのではないかと推測。
29
VM
Primary
OSD
2nd
OSD
3rd
OSD
write request
write response
Copyright © DeNA Co.,Ltd. All Rights Reserved.
原因調査: スレッドダンプからボトルネックを特定
 内製のデバッガーを用い、稼働中のceph-osdプロセスにアタッチし、そ
の瞬間の各スレッドのバックトレースを取得
 worker threadのほとんどがtcmallocの処理で埋まっている状況
30
tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**)(7f51b59e9670+81);
tcmalloc::CentralFreeList::RemoveRange(void**, void**, int)(7f51b59e99c0+198);
tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long)(7f51b59ec8b0+83);
operator new(unsigned long)(7f51b59fc620+232);
FileStore::build_op(std::list<ObjectStore::Transaction*, std::allocator<ObjectStore::Transaction*> >&, Context*, Context*,
std::tr1::shared_ptr<TrackedOp>)(8e6de0+586);
FileStore::queue_transactions(ObjectStore::Sequencer*, std::list<ObjectStore::Transaction*,
std::allocator<ObjectStore::Transaction*> >&, std::tr1::shared_ptr<TrackedOp>, ThreadPool::TPHandle*)(8eaf40+832);
ReplicatedPG::queue_transaction(ObjectStore::Transaction*, std::tr1::shared_ptr<OpRequest>)(89e5d0+219);
void ReplicatedBackend::sub_op_modify_impl<MOSDRepOp, 112>(std::tr1::shared_ptr<OpRequest>)(a0fda0+2330);
ReplicatedBackend::sub_op_modify(std::tr1::shared_ptr<OpRequest>)(9fca10+73);
ReplicatedBackend::handle_message(std::tr1::shared_ptr<OpRequest>)(9fcb00+910);
ReplicatedPG::do_request(std::tr1::shared_ptr<OpRequest>&, ThreadPool::TPHandle&)(8269c0+359);
OSD::dequeue_op(boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest>, ThreadPool::TPHandle&)(695e20+957);
OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)(6963d0+824);
ShardedThreadPool::shardedthreadpool_worker(unsigned int)(b97ce0+2165);
ShardedThreadPool::WorkThreadSharded::entry()(b9a660+16);
start_thread(7f51b57b30c0+196);
__clone(7f51b3d1c310+109)
Copyright © DeNA Co.,Ltd. All Rights Reserved.
パフォーマンスチューニング:
tcmallocのスレッドキャッシュサイズを拡張する
 tcmallocのキャッシュメモリの獲得、解放にかかるCPU負荷が軽くなる
 秒単位で待たされるI/Oリクエストがほぼ無くなる
31
あるCompute NodeのCPU使用率(user)
キャッシュサイズ拡張
Copyright © DeNA Co.,Ltd. All Rights Reserved.
課題: fsync問題
 fsync/fdatasyncのようなデータ同期が発生すると後続のwriteが待たさ
れてしまう
 fsyncは例えば、MySQLのトランザクションのコミット処理で使用される
 現状のハードウェア構成では根本的な解決は無理と判断
 一部のサーバではファイルシステムのバリアオプションを無効にし
てこの問題を回避
32
VM Ceph OSD
Cluster
write request
write response
VM Ceph OSD
Cluster
write request
write response
write request
write response
fsync
通常時は並列にrequestを送信 fsync中は他のrequestが送信できない
Copyright © DeNA Co.,Ltd. All Rights Reserved.
課題: ネットワークの輻輳
 OSDが相互にTCPセッションを張りメッシュ状に通信するため、スイッ
チ上でパケットロスが発生しやすい
 ネットワークはcephだけでなく他のトラフィックも共有している
 例えばTCP接続時のSYNパケットがロスするとサービスにも影響が
ある
 対策
 BCFのQoS機能を使用しCeph以外のトラフィックを優先することを
検証中
33
OSD OSD OSD OSD
Switch
バーストトラフィックによる
パケットロス
Copyright © DeNA Co.,Ltd. All Rights Reserved.
まとめ
 private cloud導入の効果
⁃ サーバ運用とネットワーク運用の統合
• ネットワークGへの「依頼」を削減
• アプリケーション、サーバ、ネットワークをone stopでできるように
⁃ ストレージサービス
• Compute Node故障時の対応が簡単に
• live-migrationにより柔軟な運用が可能に
 今後の予定
⁃ ストレージの改善
⁃ VM-HAの導入
⁃ OpenStack Upgrade (from kilo/liberty to mitaka)
34
Copyright © DeNA Co.,Ltd. All Rights Reserved.
ご静聴ありがとうございました
35

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

OpenStack & Container
OpenStack & ContainerOpenStack & Container
OpenStack & Container
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月日本HP様講演 OpenStack最新情報セミナー 2014年12月
日本HP様講演 OpenStack最新情報セミナー 2014年12月
 
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティスGPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
GPU on OpenStack 〜GPUインターナルクラウドのベストプラクティス
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302Openstack neutron vtjseminar_20160302
Openstack neutron vtjseminar_20160302
 
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
Yahoo!Japan北米DCでOCPのツボをみせてもらってきました - OpenStack最新情報セミナー 2016年5月
 
OSS光と闇
OSS光と闇OSS光と闇
OSS光と闇
 
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
OpenStackコミュニティに対する取り組み - OpenStack最新情報セミナー 2016年5月
 
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
DeNAがオンプレでこれからやろうとしてること - OpenStack最新情報セミナー 2015年12月
 
ITコンサルタントが語る!OpenStackを活用した課題解決のやり方
ITコンサルタントが語る!OpenStackを活用した課題解決のやり方ITコンサルタントが語る!OpenStackを活用した課題解決のやり方
ITコンサルタントが語る!OpenStackを活用した課題解決のやり方
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
 
Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3Openstack kolla 20171025 josug v3
Openstack kolla 20171025 josug v3
 
OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際OpenStackネットワーク実装の現状 と運用自動化開発の実際
OpenStackネットワーク実装の現状 と運用自動化開発の実際
 
openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713openstack_neutron-dvr_os5thaniv_20150713
openstack_neutron-dvr_os5thaniv_20150713
 
5分で分かるBig Switch Networks
5分で分かるBig Switch Networks5分で分かるBig Switch Networks
5分で分かるBig Switch Networks
 

Destacado

Destacado (20)

Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
 
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜  - OpenStack最新情報セミナー(2017年3月)最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜  - OpenStack最新情報セミナー(2017年3月)
最近のたまおきの取り組み 〜OpenStack+αの実現に向けて〜 - OpenStack最新情報セミナー(2017年3月)
 
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
 
あらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンターあらためて考える、これからの仮想化インフラのためのデータセンター
あらためて考える、これからの仮想化インフラのためのデータセンター
 
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみたサーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
クラウド運用のベストプラクティスを考える - OpenStack最新情報セミナー(2016年12月)
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
Event driven-automation and workflows
Event driven-automation and workflowsEvent driven-automation and workflows
Event driven-automation and workflows
 
【Sb】「if 自動化するなら then stack stormを使おう」 展開用
【Sb】「if 自動化するなら then stack stormを使おう」 展開用【Sb】「if 自動化するなら then stack stormを使おう」 展開用
【Sb】「if 自動化するなら then stack stormを使おう」 展開用
 
StackStormを用いたネットワーク機器の制御
StackStormを用いたネットワーク機器の制御StackStormを用いたネットワーク機器の制御
StackStormを用いたネットワーク機器の制御
 
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
CD(継続的デリバリー)手法を用いたサーバシステム構築の自動化 - OpenStack最新情報セミナー(2016年12月)
 
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
【OpenStack共同検証ラボ】OpenStack監視・ログ分析基盤の作り方 - OpenStack最新情報セミナー(2016年7月)
 
サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)
サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)
サーバーの脆弱性管理に関して(OpenStack + Vuls) - OpenStack最新情報セミナー(2016年12月)
 
OpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - MasakariOpenStackユーザ会資料 - Masakari
OpenStackユーザ会資料 - Masakari
 
OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話OpenShift 3で、DockerのPaaSを作る話
OpenShift 3で、DockerのPaaSを作る話
 
Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)
Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)
Bare Metal Provisioning for Big Data - OpenStack最新情報セミナー(2016年12月)
 
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
NTTドコモ様 導入事例 OpenStack Summit 2016 Barcelona 講演「Expanding and Deepening NTT D...
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
 

Similar a DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)

Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
 
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューションオープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
EMC Japan
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
 

Similar a DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月) (20)

CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
 
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
Apache Bigtopによるオープンなビッグデータ処理基盤の構築(オープンデベロッパーズカンファレンス 2021 Online 発表資料)
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
 
2015.6.5 EMC主催OpenStackセミナー - EMC講演スライド
2015.6.5 EMC主催OpenStackセミナー - EMC講演スライド2015.6.5 EMC主催OpenStackセミナー - EMC講演スライド
2015.6.5 EMC主催OpenStackセミナー - EMC講演スライド
 
Dell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPUDell EMC の Azure Stack と GPU
Dell EMC の Azure Stack と GPU
 
CMD2021 f01 xilinx_20210921_r1.1
CMD2021 f01 xilinx_20210921_r1.1CMD2021 f01 xilinx_20210921_r1.1
CMD2021 f01 xilinx_20210921_r1.1
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューションオープンクラウド基盤に最適! EMCのElastic Cloudソリューション
オープンクラウド基盤に最適! EMCのElastic Cloudソリューション
 
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 

Más de VirtualTech Japan Inc.

Más de VirtualTech Japan Inc. (20)

5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
5G時代のアプリケーションとは 〜 5G+MECを活用した低遅延アプリの実現へ 〜
 
エンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指しますエンジニアが幸せになれる会社を目指します
エンジニアが幸せになれる会社を目指します
 
KubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPUKubeVirt 201 How to Using the GPU
KubeVirt 201 How to Using the GPU
 
KubeVirt 101
KubeVirt 101KubeVirt 101
KubeVirt 101
 
今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門今からはじめる! Linuxコマンド入門
今からはじめる! Linuxコマンド入門
 
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
5G時代のアプリケーション開発とは - 5G+MECを活用した低遅延アプリの実現へ
 
Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版Kubernetes雑にまとめてみた 2020年8月版
Kubernetes雑にまとめてみた 2020年8月版
 
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
MS Teams + OBS Studio (+ OBS Mac Virtual Camera) でのオンラインセミナーのプロトタイプの構築
 
5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは5G時代のアプリケーション開発とは
5G時代のアプリケーション開発とは
 
hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計hbstudy#88 5G+MEC時代のシステム設計
hbstudy#88 5G+MEC時代のシステム設計
 
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
通信への課題発掘ワークショップ 「5Gイノベーション」の取り組み
 
Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版Kubernetes雑にまとめてみた 2019年12月版
Kubernetes雑にまとめてみた 2019年12月版
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
Docker超入門
Docker超入門Docker超入門
Docker超入門
 
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
5Gにまつわる3つの誤解 - 5G×ライブコンテンツ:5G時代の双方向コンテンツとは
 
KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告KubeCon China & MWC Shangai 出張報告
KubeCon China & MWC Shangai 出張報告
 
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
NTT Docomo's Challenge looking ahead the world pf 5G × OpenStack - OpenStack最...
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
 
Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義Multi-access Edge Computing(MEC)における”Edge”の定義
Multi-access Edge Computing(MEC)における”Edge”の定義
 
Edge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and KubernetesEdge Computing Architecture using GPUs and Kubernetes
Edge Computing Architecture using GPUs and Kubernetes
 

DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)

  • 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. DeNA private cloudのその後 Mar 29, 2017 Kengo Sakai IT Platform Dept. System Management Unit DeNA Co., Ltd. OpenStack最新情報セミナー(2017年3月)
  • 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. 自己紹介  氏名 ⁃ 酒井 憲吾(Sakai Kengo)  所属 ⁃ 株式会社ディー・エヌ・エー システム本部IT基盤部  経歴 ⁃ 前職ではネットワーク系の研究開発、ソフトウェア開発 ⁃ DeNAでは遺伝子検査サービス MYCODEのインフラ構築、運用に携 わったのち、現在はprivate cloudの運用に従事 2
  • 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. アジェンダ  2015年12月の発表の振り返り  現在のprivate cloudの状況  SDN: Big Cloud Fabric  SDS: Ceph 3
  • 4. Copyright © DeNA Co.,Ltd. All Rights Reserved. 2015年12月の発表の振り返り 4
  • 5. Copyright © DeNA Co.,Ltd. All Rights Reserved. 振り返り:2015年12月のセミナー 5 https://www.slideshare.net/VirtualTech-JP/dena-openstack-201512
  • 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. 振り返り:サーバ運用とネットワーク運用の統合 6
  • 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. 振り返り:サーバ運用とネットワーク運用の統合 7
  • 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. 振り返り:ストレージサービス 8
  • 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. 振り返り:ストレージサービス 9
  • 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. 現在のprivate cloudの状況 10
  • 11. Copyright © DeNA Co.,Ltd. All Rights Reserved. private cloudの構成 11 © 2016 Big Switch Networks,Inc. All rights reserved. © 2014 F5 Networks,Inc. All rights reserved. © 2015, Red Hat, Inc. All rights reserved. Production: version: kilo OS: Ubuntu 14.04 Development: version: liberty OS: Ubuntu 14.04 © 2015, Red Hat, Inc. All rights reserved.© The OpenStack Foundation September 19,2012 © The OpenStack Foundation September 19,2012 OpenStack Component: Keystone, Glance, Nova, Neutron, Cinder, Ironic
  • 12. Copyright © DeNA Co.,Ltd. All Rights Reserved. 0 200 400 600 800 1000 1200 1400 1600 1800 2000 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 Instances Production Development private cloudのインスタンス数の推移 12 2016 2017 既存の開発環境を private cloudへ移行 Compute Node: 36台 Instance: 1786台 Compute Node: 36台 Instance: 144台 Copyright © 2017 Atlassian Copyright © 2017 Atlassian
  • 13. Copyright © DeNA Co.,Ltd. All Rights Reserved. 運用がどう変わったか  サーバ運用とネットワーク運用の統合 ⁃ VRF、VLAN、Network ACLの設定 • OpenStack + Big Cloud Fabricでサーバエンジニアが自ら設定可能に  ストレージサービス ⁃ Compute Node故障時のVM再構築は不要に • 他のCompute Node上でVMを起動するだけ • VMのイメージはceph storageの中にあるため ⁃ live-migrationも出来るように • 負荷の偏りを均す • 故障予兆時に退避する 13
  • 14. Copyright © DeNA Co.,Ltd. All Rights Reserved. SDN: Big Cloud Fabric 14
  • 15. Copyright © DeNA Co.,Ltd. All Rights Reserved. Big Cloud Fabricとは 15  OpenStackとのintegrationにアンダーレイネットワークをサポート  コントローラとスイッチから構成。両者ともLinuxが動作している  GUI/APIが充実
  • 16. Copyright © DeNA Co.,Ltd. All Rights Reserved. OpenStack + Big Cloud Fabric Integration 16 ! tenant tenant test_project.openstack id 48285b588ec5457f95c38b33a93c45e0 origination openstack ! logical-router route 0.0.0.0/0 next-hop tenant system interface segment net_test ip address 192.0.2.1/24 interface tenant system ! segment net_test id a808b97d-10e1-4f08-b3d3-978b5ae1f07d origination openstack ! endpoint 22accd96-5894-41bc-bd67-57790022a467 attachment-point interface-group osvdev0001 vlan 171 ip 192.0.2.10 mac fa:16:3e:2d:3d:3c origination openstack ! member interface-group osvdev0001 vlan 171 origination openstack Project Router Network OpenStackでネットワーク作成すると、 BCF上にconfigが自動生成されるように インテグレーション
  • 17. Copyright © DeNA Co.,Ltd. All Rights Reserved. OpenStack + Big Cloud Fabric 構成パターン  P-Fabricのパターンを採用  ただし、L3(OpenStackのRouter)の連携がされない、という仕 様 17
  • 18. Copyright © DeNA Co.,Ltd. All Rights Reserved. OpenStack + Big Cloud Fabric Integration 18 BCF Controller REST API Controller Node neutron-server BCF Plugin L3 Plugin  Neutronプラグインを内製で開発  BCF ControllerのREST APIを用いて、L3(Router)の情報を反映  https://github.com/DeNADev/networking-bigswitch-l3-pe で公 開 tenant test_project.openstack logical-router route 0.0.0.0/0 next-hop tenant system interface segment net_test ip address 192.0.2.1/24 interface tenant system Router © 2016 Big Switch Networks,Inc. All rights reserved.
  • 19. Copyright © DeNA Co.,Ltd. All Rights Reserved. 障害発生! 19
  • 20. Copyright © DeNA Co.,Ltd. All Rights Reserved. 障害:新規に作ったインスタンスが通信できない  原因:neutron-serverがインスタンスのPort情報をBCFに反映できなかったため  経緯  BCF pluginでsync処理が頻発する、という不具合が発生  sync処理中は他の処理ができない  Compute Nodeのneutron-openvswitch-agentは追加/削除されたPort情報を 定期的にneutron-serverに通知する。この通知がsync処理のためタイムアウト  通知がタイムアウトするとneutron-openvswitch-agentは管理しているPort情 報をすべて通知する。このためneutronに大量の負荷がかかることになり再度タ イムアウト(以下無限ループ) 20 BCF Controller REST API Controller Node neutron-server BCF Plugin L3 Plugin Compute Node agent Compute Node agent sync © 2016 Big Switch Networks,Inc. All rights reserved.
  • 21. Copyright © DeNA Co.,Ltd. All Rights Reserved. 障害:新規に作ったインスタンスが通信できない  対応  neutron-openvswitch-agentの通知がさばけるまで順にneutron- openvswitch-agentを止めていく  この時使用していたneutron-openvswitch-agent(liberty)は起動時にインスタ ンスのパケットがロスする問題があったため、以下のパッチを適用  Cleanup stale OVS flows for physical bridges  Don't disconnect br-int from phys br if connected  neutron-openvswitch-agentを再度起動していく  BCF pluginの不具合の原因を突き止めてBigSwitch社に報告(修正済み) 21 BCF Controller REST API Controller Node neutron-server BCF Plugin L3 Plugin Compute Node agent Compute Node agent © 2016 Big Switch Networks,Inc. All rights reserved.
  • 22. Copyright © DeNA Co.,Ltd. All Rights Reserved. SDS: Ceph 22
  • 23. Copyright © DeNA Co.,Ltd. All Rights Reserved. Cephとは  オープンソースの分散ストレージ  何かトラブルが起きた時に迅速に対応するためには、ソフトウェアの振る舞い を詳細に把握する必要がある  構成  MON : OSDの構成、状態監視。Storage Node上でも動作  OSD : ディスクへのデータの読み書きやデータのレプリケーション、データの 配置の管理  現在のCeph Storage Cluster(version: 0.94.6 Hammer)  Development: 225 TB / 421 TB  Production: 19 TB / 25 TB 23 Storage Node OSD OSD… Storage Node OSD OSD… Monitor Node MON … Ceph Storage Cluster
  • 24. Copyright © DeNA Co.,Ltd. All Rights Reserved. Compute Nodeの構成  いわゆるハイパーコンバージドな構成  Compute NodeがCephのStorage Nodeも兼ねる  ALL HDD  特に開発環境はコストを抑えるため、8TB 7200rpmのSATA- HDD  性能不足の場合はSSDや他のストレージの導入を検討する方針でス タート 24
  • 25. Copyright © DeNA Co.,Ltd. All Rights Reserved. やはりI/O性能が問題に!! 25
  • 26. Copyright © DeNA Co.,Ltd. All Rights Reserved. 問題その1: Compute Nodeのディスクの負荷が高い  OSDはjournal領域、data領域の順に書き込みを行う 26 VM OSD journal data request 当初は同じディスク(SATA-HDD)だった
  • 27. Copyright © DeNA Co.,Ltd. All Rights Reserved. パフォーマンスチューニング: ジャーナルとデータ領域を一つの物理ディスクに共存させない  ディスクへのI/O負荷を下げるために、ジャーナル領域とデータ領域と は別の物理ディスクに変更 27 あるCompute Nodeのiostatの%util ディスク構成変更 SATA-HDD SAS-HDD SAS-HDD SATA-HDD RAID1 RAID0 RAID0 • Linux root filesystem • OSD.1 journal • OSD.2 journal • OSD.1 Data • OSD.2 Data
  • 28. Copyright © DeNA Co.,Ltd. All Rights Reserved. 問題その2: VMのI/Oリクエストが数秒〜数十秒待たされる  原因調査が難航  Compute Nodeのディスクの負荷は下がっているので問題ないはず。  Compute NodeのCPU使用率はだんだん高くなってきているものの20%以下。 数十秒待たされる原因とは考えにくい。  ネットワーク上の問題も特に発生していない。 28 あるCompute NodeのCPU使用率(user) [WRN] slow request 15.012665 seconds old, … currently waiting for subops from 26,28
  • 29. Copyright © DeNA Co.,Ltd. All Rights Reserved. 原因調査: ログ分析  cephのログとソースコードを詳細に照らし合わせ調査した結果、write request受信直後の処理が遅くなっていそうと判明。  OSDは特定の処理を複数のworker threadで処理する方式。何らかの処理が 詰まってworker threadが枯渇しているのではないかと推測。 29 VM Primary OSD 2nd OSD 3rd OSD write request write response
  • 30. Copyright © DeNA Co.,Ltd. All Rights Reserved. 原因調査: スレッドダンプからボトルネックを特定  内製のデバッガーを用い、稼働中のceph-osdプロセスにアタッチし、そ の瞬間の各スレッドのバックトレースを取得  worker threadのほとんどがtcmallocの処理で埋まっている状況 30 tcmalloc::CentralFreeList::FetchFromOneSpans(int, void**, void**)(7f51b59e9670+81); tcmalloc::CentralFreeList::RemoveRange(void**, void**, int)(7f51b59e99c0+198); tcmalloc::ThreadCache::FetchFromCentralCache(unsigned long, unsigned long)(7f51b59ec8b0+83); operator new(unsigned long)(7f51b59fc620+232); FileStore::build_op(std::list<ObjectStore::Transaction*, std::allocator<ObjectStore::Transaction*> >&, Context*, Context*, std::tr1::shared_ptr<TrackedOp>)(8e6de0+586); FileStore::queue_transactions(ObjectStore::Sequencer*, std::list<ObjectStore::Transaction*, std::allocator<ObjectStore::Transaction*> >&, std::tr1::shared_ptr<TrackedOp>, ThreadPool::TPHandle*)(8eaf40+832); ReplicatedPG::queue_transaction(ObjectStore::Transaction*, std::tr1::shared_ptr<OpRequest>)(89e5d0+219); void ReplicatedBackend::sub_op_modify_impl<MOSDRepOp, 112>(std::tr1::shared_ptr<OpRequest>)(a0fda0+2330); ReplicatedBackend::sub_op_modify(std::tr1::shared_ptr<OpRequest>)(9fca10+73); ReplicatedBackend::handle_message(std::tr1::shared_ptr<OpRequest>)(9fcb00+910); ReplicatedPG::do_request(std::tr1::shared_ptr<OpRequest>&, ThreadPool::TPHandle&)(8269c0+359); OSD::dequeue_op(boost::intrusive_ptr<PG>, std::tr1::shared_ptr<OpRequest>, ThreadPool::TPHandle&)(695e20+957); OSD::ShardedOpWQ::_process(unsigned int, ceph::heartbeat_handle_d*)(6963d0+824); ShardedThreadPool::shardedthreadpool_worker(unsigned int)(b97ce0+2165); ShardedThreadPool::WorkThreadSharded::entry()(b9a660+16); start_thread(7f51b57b30c0+196); __clone(7f51b3d1c310+109)
  • 31. Copyright © DeNA Co.,Ltd. All Rights Reserved. パフォーマンスチューニング: tcmallocのスレッドキャッシュサイズを拡張する  tcmallocのキャッシュメモリの獲得、解放にかかるCPU負荷が軽くなる  秒単位で待たされるI/Oリクエストがほぼ無くなる 31 あるCompute NodeのCPU使用率(user) キャッシュサイズ拡張
  • 32. Copyright © DeNA Co.,Ltd. All Rights Reserved. 課題: fsync問題  fsync/fdatasyncのようなデータ同期が発生すると後続のwriteが待たさ れてしまう  fsyncは例えば、MySQLのトランザクションのコミット処理で使用される  現状のハードウェア構成では根本的な解決は無理と判断  一部のサーバではファイルシステムのバリアオプションを無効にし てこの問題を回避 32 VM Ceph OSD Cluster write request write response VM Ceph OSD Cluster write request write response write request write response fsync 通常時は並列にrequestを送信 fsync中は他のrequestが送信できない
  • 33. Copyright © DeNA Co.,Ltd. All Rights Reserved. 課題: ネットワークの輻輳  OSDが相互にTCPセッションを張りメッシュ状に通信するため、スイッ チ上でパケットロスが発生しやすい  ネットワークはcephだけでなく他のトラフィックも共有している  例えばTCP接続時のSYNパケットがロスするとサービスにも影響が ある  対策  BCFのQoS機能を使用しCeph以外のトラフィックを優先することを 検証中 33 OSD OSD OSD OSD Switch バーストトラフィックによる パケットロス
  • 34. Copyright © DeNA Co.,Ltd. All Rights Reserved. まとめ  private cloud導入の効果 ⁃ サーバ運用とネットワーク運用の統合 • ネットワークGへの「依頼」を削減 • アプリケーション、サーバ、ネットワークをone stopでできるように ⁃ ストレージサービス • Compute Node故障時の対応が簡単に • live-migrationにより柔軟な運用が可能に  今後の予定 ⁃ ストレージの改善 ⁃ VM-HAの導入 ⁃ OpenStack Upgrade (from kilo/liberty to mitaka) 34
  • 35. Copyright © DeNA Co.,Ltd. All Rights Reserved. ご静聴ありがとうございました 35