AmebaのOpenStack
株式会社サイバーエージェント
澤田石 朋彦
自己紹介
• 澤田石 朋彦(さわだいし ともひこ)
• ネットワークエンジニア(L2~L7)
• ルータ、スイッチ、Load Balancer
• オプスタ歴:9ヶ月
会社紹介
会社紹介
アジェンダ
• 背景
• アーキテクチャ
• 運用はじめました
• 今後のチャレンジ
アジェンダ
• 背景
• アーキテクチャ
• 運用はじめました
• 今後のチャレンジ
そもそもOpenStackって?
OpenStackとは
• Cloud OS(IaaS基盤)のひとつ
• CloudStack
• Eucariptus
• LinuxのようにDistributionが存在
• RDO(RedHat)
• Mirantis OpenStack(Mirantis)
• FusionSphere(HUAWEI)
IaaSとは
• DCにあるCompute、Storage、Networkなどのリソー
スを抽象化しサービスとして提供
http://www.openstack.org/software/
Server
nova
Router/SW
neutron
storage
swiftモジュール
ハードウェア
主要コンポーネント
オプションコンポーネント
まだまだあります!!
Amebaで採用したコンポーネント
OpenStack導入までの流れ
2015年3月
• OpenStackで行くぞ!(この時まだ未検証)
• OpenStack経験者1人
2015年4月
• サーバ3台で検証開始
• トライ&エラーで仕様決め
2015年10月
• OpenStack Kilo オープン!!
• 今ココ
新DCの要件
• 既存DCを集約
• サービス毎のテナント
• 自社サービス用のインフラ
• 150Rack規模、数万コア規模
OpenStack導入より前
• コントローラーを自社開発
• Clover(200Rack、2万MAC程度)
課題
• 運用者=開発者
• 規模拡大や仕様変更に追いつけない
• 独自API(学習コスト大)
OpenStack採用理由
• 小規模なOpenStackは運用していた
• OpenStackコミュニティが活発
• 標準的なAPI(AWS互換)
• ユーザ完結によるスピードUP
アジェンダ
• 背景
• アーキテクチャ
• 運用はじめました
• 今後のチャレンジ
http://docs.openstack.org/openstack-ops/content/figures/2/figures/osog_0001.png
全体構成
Horizon
AMQP DB
Designate
Keystone各種API
リソース 管理系
管理系
名称 仮想 or 物理 台数 冗長
Controller 仮想 3 H/WLBのVIP
AMQP(RabbitMQ) 仮想 3 RabbitMQ Cluster
Neutron-dhcp-
agent(dnsmasq)
物理 2 Active-Active
DB(MySQL) 物理 2 MHA+Backup
• OpenStackそのものを管理(別NWに設置)
• “仮想”はKVMのゲスト
Compute Node
名称 スペック
OS CentOS7(Kernel3.10)
CPU 40Core
Memory 256GB
Disk 2TB (RAID10)
NET 10GBase-T * 2(LACP, mode=4)
VMM KVM
Overcommit 200%
• 高密度化(Rack 46U)
• 2U4Node
• 12 chassis/rack 約3000 core/rack
• 定格15K VA
Network
“ To improve performance and reliability, provider networks
move layer-3 operations to the physical network
infrastructure.”(Networking manual)
L3はNeutronに頼らない事を決意
Network
http://docs.openstack.org/networking-guide/scenario_l3ha_lb.html
Compute Node
Network Node
懸念点
• 拡張性
• 冗長性
• パフォーマンス
Network
http://docs.openstack.org/networking-guide/scenario_l3ha_lb.html
Compute Node
H/W
Router
H/W LB
Network
http://docs.openstack.org/networking-guide/scenario_provider_lb.html
Network
• 全ラックスイッチに必要VLANを設定
• trunk Port、約1200 VLANを全ポートに設定
• Neutronの外側で実施
• NAT
• FW(Globalからのトラフィック)
• Load Balancer
• NW自体はシンプル
Load Balancer
• ハードウェアLBを採用
• OpenStack連携なし
• LBの機能
• SSL終端
• プール毎の細かなパラメータ
• L3DSR(VM-VS間でGRE)
• VIPを動的に広報(InternalにBGP)
Storage
• Block Storage
• HA LVM(360TB Mirroring)
• Object Storage
• swift(400~600TB、3Replica)
• Image Backend
• Ceph(3 Server * 12Disk * 3TB / 3Replica)
アジェンダ
• 背景
• アーキテクチャ
• 運用はじめました
• 今後のチャレンジ
連携必須
OpenStack
Server
エンジニア
Network
エンジニア
Storage
エンジニア
各自の守備範囲は広い
Neutron-dhcp-agentの例
UDP:67でListenしてるはず!!
Listenしてない?
Neutron-dhcp-agentの例
Y.Y.Y.Y:67
Z.Z.Z.Z:67
X.X.X.X:67
bond0.YY
tap
YY
ns-YY
brq
YY
bond0.ZZ
tap
ZZ
ns-ZZ
brq
ZZ
bond0.XX
tap
XX
ns-XX
brq
XX
veth veth
NameSpace内
VM
VLAN XX
VM
VLAN XY
dhcp-discovery
サーバ内
dhcp-discovery
Neutron-dhcp-agentの例
Namespace
を指定すると表示される
運用体制
• OpenStack専任2人
• NW(兼任):4人(< DC数)
• Storage(兼任):2人
• NOC(兼任):2人+α
監視
• Zabbix+各サーバにエージェント
• IPとPortは全コンポーネント監視
• 各コンポーネントごとに工夫
• Namespace数とbridge数の比較(dnsmasq)
• curlで200チェック(metadata-proxy)
• インスタンスが作成できるか(nova&Ironic)
今の課題
• 正常時のフローの把握
• ログ管理&活用
• 監視
アジェンダ
• 背景
• アーキテクチャ
• 運用はじめました
• 今後のチャレンジ
次のチャレンジ
• コンテナ
• SR-IOV+DPDK
• VxLAN
• 複数OpenStackの連携
これからOpenStackを始める方へ
• コード読める人必要
• その製品、本当にOpenStack対応ですか?
• 挙動が怪しい場合プロセス再起動が有効!!
• マニュアルが正しいとは限らない
資格が誕生
https://opcel.org/
仲間募集中!!

AmebaのOpenStack - OpenStack最新情報セミナー 2015年12月

Editor's Notes

  • #9 http://blogs.itmedia.co.jp/narisako/2015/02/_openstack.html