GMO Internet Inc., has been service provided by the quotient material made of the fact that OpenStack Swift the ConoHa VPS brand and GMO Apps Cloud. discussed the differences between the physical configuration of the OpenStack Swift at rackspace and ConoHa, was carried out optimization of the configuration.
In addition, you have an implementation that provided by Dual-head on multiple merchandise by invoking the swift-proxy for each service.
7. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
冗長化されたクラウドストレージとして
l バックアップストレージ
l クラウドアプリケーションからのデータ保存領域
l fluentdによるログ保存
l Hadoop Map-Reduceストレージ
Web配信サーバーとして
l CMSからの画像配信サーバー
l 写真ownCloudなどでの写真置き場
l ストリーミングデータサーバ
そのような利用がされるOSS: >> OpenStack Swift
じゃ、どんなことに使えんの?
8. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
OpenStack Swiftとは?
• オブジェクトの格納領域はAccount,
Container, Objectの3サービスにより管
理される
• Swift Proxyサービスがオブジェクトの保
存情報をAccount, Containerに保存、実
オブジェクトはObjectサービスに保存
• 認証サービスには主にKeystoneを利用する
• メタデータなどの機能pluginはSwift
Proxyに入れることで、機能が拡張できる
• システムの独立性が高いので、メジャーバー
ジョンアップしやすい
• SoftLayer, HPCloud, CloudVPS
rackspace cloudfiles などと共通
• << ここ、意外と重要
swift proxy
swift account
swift container
swift objects
swift objects
keystone
swift proxy keystone
swift account
swift container
swift objects
swift objects
plugin ratelimit
plugin s3swift
plugin static web
plugin … …
9. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
GMOアプリクラウド とは
• ソーシャルゲームをターゲット中心に、VLAN, LB, PKIな
ど必要な機能を搭載した、ゲーム専用クラウド
• 最新環境はOpenStack Havanaで提供(API)
• 大規模利用可能なクラウドストレージ用途として、
OpenStack Swiftを提供(2014/4/22~)
10. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
GMOアプリクラウド OpenStack Tenant NW
11. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
GMOアプリクラウド OpenStack Swift NW
12. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
ConoHa とは
技術者やスタートアップ企業向けのVPSサービス
OpenStack Grizzly
クラウドストレージ用途での、オブジェクトストレージ
OpenStack Swiftを「GMOアプリクラウド」での提供開始
後に、提供開始 (2014/09/03~)
13. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
GMOアプリクラウド、ConoHa デュアルヘッド
一般公開したOpenStack Swift
企業向けのGMOアプリクラウド
コンシューマ向け的なConoHa
トラフィック利用形態が異なりそうな複数のサービ
スでPublic利用を提供
運用側としては、様々な利用が考えられるConoHa
をベースにHardware構成を考えていく
14. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 1)
まずは、情報集め
• 利用形態が似た案件での物理構成を調べる
• NTT Data 梶波 崇さんの Swift発表 (July Tech Festa 2013,
産業技術大学)
>> SSDの使い方について
• Rackspace Object Storage (OpenStack summit Hong
Kong, 2013/11)
>> SSDの利用、Hard構成
Hong Kongの
OpenStack summit
(2013/11)に参加できた
>> ちょうど、Hardwareの内容がちょっと出たのを、現地で聞けた
15. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 1) rackspace参考
https://www.openstack.org/assets/presentation-media/
Swift-at-Scale.pdf
(rackspace発表資料)
https://www.openstack.org/summit/openstack-summit-
hong-kong-2013/session-videos/presentation/an-intimate-
look-at-running-openstack-swift-at-scale
“An Intimate Look at Running Openstack Swift at Scale”
>> rackspaceはCDNとの接続(SOS middleware)によって、
配信向けのトラフィックを分割する仕組み
16. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 1) rackspace構成
Hardware
(old) 24 x 1TB drives / box, 1Gbps network
90 x 3TB drives / box, 10Gbps network
SSD drives for Account/Containers
AccountとContainerは所 分散DatabaseであるのでIO重視
SSDが重要であることは、かなりアピールされた
Commodity SATA drives
Network
10Gbps to host
ここまではヒントが分かったが、実際どのようにSSDと
HDDとCPUを配置すればよいのだろうか?
17. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test: GMO構成A)
>> 結局はやってみるしか無い
稼働前test: 構成A)
Hardware: Storage Node:
12 x 4TB drives (3Gbps SATA) / box
10 Gbps network
CPU E3-1230 v3 3.3GHz (4 core, 8HT)
memory 16 GB
SSD 2 drives
OS boot (RAID 1)/Account/Containers
Commodity SATA drives
Proxy Node:
CPU E5620(4 core, 8HT) x2(cpu)
memory 64 GB
18. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test: 構成A)
19. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test GMO構成A)
swift proxy
keystone
OpenStack Havana (5 zones, 3 copy)
swift proxy
keystone
LVS-DSrLVS-DSR HAProxy(SSL)HAProxy(SSL)
swift account
swift container
swift objects
swift account
swift container
swift objects
Xeon E3-1230 3.3GHz
swift account
swift container
swift objects
swift account
swift container
swift objects
Xeon E3-1230 3.3GHz
swift account
swift container
swift objects
swift account
swift container
swift objects
Xeon E3-1230 3.3GHz
swift account
swift container
swift objects
swift account
swift container
swift objects
Xeon E3-1230 3.3GHz
swift account
swift container
swift objects
swift account
swift container
swift objects
Xeon E3-1230 3.3GHz
Xeon E3-1230 3.3GHz
Memory 16GB
Xeon E3-1230 3.3GHz
Memory 16GB
Xeon E5620 2.4GHz x 2CPU
Memory 64GB
21. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test: 構成B)
>> Database アクセスだけの Account / Container サーバプロセスのア
クセスと Storage アクセスが同じNetworkに入るのも良くなさそう
>> Account / Container サーバの分離構成B) に変更
追加Hardware: Account-Container-DBサーバ
E5620(4core, 8HT) x 2CPU
SSD x 2 (単体で利用)
Memory 24GB
22. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test GMO構成B)
swift proxy
keystone
OpenStack Havana (5 zones, 3 copy)
swift proxy
keystone
LVS-DSrLVS-DSR HAProxy(SSL)HAProxy(SSL)
Xeon E3-1230 3.3GHz
Memory 16GB
Xeon E3-1230 3.3GHz
Memory 16GB
Xeon E5620 2.4GHz x 2CPU
Memory 64GB
swift objects
swift objects
Xeon E3-1230
3.3GHz
swift account
swift container
Xeon E5620 2.4GHz x 2CPU
Memory 64GB, SSD x 2
swift objects
swift objects
Xeon E3-1230
3.3GHz
swift account
swift container
Xeon E5620 2.4GHz x 2CPU
Memory 64GB, SSD x 2
swift objects
swift objects
Xeon E3-1230
3.3GHz
swift account
swift container
Xeon E5620 2.4GHz x 2CPU
Memory 64GB, SSD x 2
swift objects
swift objects
Xeon E3-1230
3.3GHz
swift account
swift container
Xeon E5620 2.4GHz x 2CPU
Memory 64GB, SSD x 2
swift objects
swift objects
Xeon E3-1230
3.3GHz
swift account
swift container
Xeon E5620 2.4GHz x 2CPU
Memory 64GB, SSD x 2
23. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 2) test: GMO構成B)
>> よさそう
これが最終的な物理構成配置になる
>> 物理構成がだいたい決定
CPUスレッド分に分割されるにしても、適度な安価なハードを選択
ハードの世代が変わってもあまり気にしないようにする
25. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
物理構成選択のポイント 3) 最近のScale
>> keystoneがまずボトルネックになって、まず対策実施(scale up)
(2014/12ごろ)
>> vmで構成されていたので、memory, CPUを増やす
ストレージノードのScaleはまだ必要なさそう (利用率 10%)
26. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
もともとGMOアプリクラウドがあったSwift環境:
ConoHaサービス用に、あとからswift-proxy などのFrontを追加
account DB 的には問題なさそう
マルチサービスのインターフェース
swift proxy keystone swift proxy keystone
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
Havana Grizzly
Havana
swift account
swift container
swift account
swift container
swift account
swift container
swift account
swift container
swift account
swift container
27. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
account DB 的には問題なさそう
<< Swiftの仕組み上、tenant_idからなるaccount IDがかぶらない限り問題無い
https://swift.example.com/v1/account/container/object
Storage location: /account/container/object
l /account
l アカウントメタデータ階層
l 含まれるcontainerの内容
l /account/container
l コンテナのメタデータ階層
l 含まれるobjectの内容
l /account/container/object
l objectデータ
l objectのメタデータ
マルチサービスのインターフェース
28. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
容量課金
>> ceilometerからのpolling (容量check)
リクエスト数課金
Ceilometer (swift-proxy server)
>> 改造: ConoHa, GMOAppsCloud 別々に ceilometer-log出力
td-agent (swift-proxy server)
>> ceilometer-logからrequest count
>> ceilometer mongodbにデータ投入
マルチサービスのインターフェース
swift proxy keystone swift proxy keystone
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
swift objects
Havana Grizzly
Havana
swift account
swift container
swift account
swift container
swift account
swift container
swift account
swift container
swift account
swift container
29. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
マルチサービスのインターフェース
ceilometer-log の一部
30. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
継続的運用とバージョンup
Juno release
>> OpenStack Swift version 2.2
( >> current ver. 2.2.2 )
Storage Policiesなどの新機能
Swift環境構築時: Havana (ver. 1.8.0, [1.10.0])
Juno向け開発を始めるにあたり、まずはバージョンアップを実施
31. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
継続的運用とバージョンup: el6-RPMS build
Juno release
>> OpenStack Swift version 2.1
Juno RDO pkgは el7 (RHEL 7, CentOS 7)でしか提供されない
>> python 2.7 over
Havana環境は el6 (CentOS 6.5)
>> python 2.6
>> Juno release Swift にするには、el6用RPMのbuildが必要
>> どうしたのか?
32. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
継続的運用とバージョンup: el6-RPMS build
Icehouse release
>> el6用のRDO builded pkgがある
Icehouse el6 RDO pkgのSPEC file
Juno el7 RDO pkg sources
Juno el6 swift RPMSをbuild
>> 超絶しんどい、でもやりました
33. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
継続的運用とバージョンup: el6-RPMS build
Juno release swift 2.2 el6
34. Copyright (c) 2014 GMO Internet, Inc. All Rights Reserved.
継続的運用とバージョンup: update
yum local repositoryをたてる
>> あとは、swiftのupgrade tipsにしたがって更新する
1) swift-proxy の冗長片系ずつ更新 (yum update)
2) swift-container/account server のzoneごとの更新 (yum
update)
3) swift-object server のzoneごとの更新
4) 追加サービス(swift-container-reconciler など)を設定して起
動
これで、Havana(1.8.0)からJuno(2.2.0)のswift にupgrade
>> もちろん、テスト環境でupgradeの検証をしてから、本番に投入