how to deploy & operate openstack production

21
How to deploy & operate OpenStack Production 日日日日日日日日日日日 VitrualTech.jp 2016/7/6

Upload: virtualtech-japan-inc

Post on 12-Jan-2017

616 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: How to deploy & operate OpenStack Production

How to deploy & operateOpenStack Production

日本仮想化技術株式会社VitrualTech.jp

2016/7/6

Page 2: How to deploy & operate OpenStack Production

Today’s agenda• OpenStack Collab Lab.• Building OpenStack Production• Next step

2

Page 3: How to deploy & operate OpenStack Production

OpenStack collab lab

3

VTJ was begining 2016/3 with Broadband Tower.

Page 4: How to deploy & operate OpenStack Production

Open Open Open

http://openstack-lab.enterprisecloud.jp 注

https://github.com/openstack-lab

4注: http://openstack-lab.enterprisecloud.jp は現在準備中です

Page 5: How to deploy & operate OpenStack Production

Today’s agenda• OpenStack Collab Lab.• Building OpenStack Production• Next step

5

Page 6: How to deploy & operate OpenStack Production

Building OpenStack Production 1

6

サーバ #1 サーバ #2 サーバ #3 サーバ #4 サーバ #5 サーバ #6 サーバ #7

IA Server × 7

HP BladeSystem c3000BL460c G7CPU: Xeon E5540 2P/8CMemory: 32GBDisk: SSD 256GB or HDD 300GB

Page 7: How to deploy & operate OpenStack Production

Building OpenStack Production 2

7

サーバ #1 サーバ #2 サーバ #3 サーバ #4 サーバ #5 サーバ #6 サーバ #7

Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu

Using OpenStack-ansible (Kilo version)

OpenStack-Ansible で作る OpenStack HA 環境http://enterprisecloud.jp/installguide-openstack-ansible/http://www.slideshare.net/VirtualTech-JP/openstackansibleopenstack-ha-openstack-20163

コントローラノード

コンピュートノード

Page 8: How to deploy & operate OpenStack Production

Building OpenStack Production 3

8

OpenStackManagement NW( VLAN ID:2811 )

VXLAN NW(VLAN ID:2812)

Host NW(VLAN タグなし)

em2

.10 〜12

172.28.1.0/24

br-vlan

VLAN NW

br-vlan

br-vxlan

em1.2811

em2.2812

em1

em1.2811

em2.2812

172.29.236.0/22

172.29.240.0/22

.10

em1.62 〜 64

br-mgmt br-mgmt

br-vxlan

em2×3 台 ×2 台

.65 〜 66

コントローラノード コンピュートノード

.13 〜14

Global IP

Page 9: How to deploy & operate OpenStack Production

Building OpenStack Production 4

9

サーバ #1 サーバ #2 サーバ #3 サーバ #4 サーバ #5 サーバ #6 サーバ #7

Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu

Monitoring: Zabbix 3.0 + Hatohol 16.04

Log management&analyze:Elasticsearch + Fluentd + Kibana

コントローラノード

コンピュートノード 監視 ログ

Page 10: How to deploy & operate OpenStack Production

Ex. Operation flow for alerting

10

サーバ #1 サーバ #2 サーバ #3 サーバ #4 サーバ #5 サーバ #6 サーバ #7

Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu

コントローラノード

コンピュートノード 監視 ログ

Zabbix エージェントZabbix

3.0

Hatohol 16.04

Redmine3.2.0

SlackZabbix では、プロセス監視やポート監視の他にAPI 死活監視や MQ の Queue Depth などを追加Hatohol は、複数の Zabbix 監視サーバを束ねる運用ダッシュボード的な使い方を検討中

Page 11: How to deploy & operate OpenStack Production

Ex. Operation flow for log management

11

サーバ #1 サーバ #2 サーバ #3 サーバ #4 サーバ #5 サーバ #6 サーバ #7

Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu Ubuntu

コントローラノード

コンピュートノード 監視 ログ

fluentdElastic Search

Kibana

Page 12: How to deploy & operate OpenStack Production

OpenStack のコマンド及び Horizon から操作を行うと各コンポーネントのAPI が叩かれ、 API サーバから MessageQue に命令リクエストが送信されるAPI サービスダウン時は、命令リクエストが送信できず、操作不能となる。

API monitoring

12

nova-API

MessageQue

Horizon

コマンド

参考: http://openstack.jp/assets/files/20121216/osc2012cloudjosugamqpv2-121216085708-phpapp02.pdf

API

API

API

nova-scheduler

nova-compute

nova-bootリクエスト

nova-boot実行

API がダウンしているため、nova-boot リクエストがMeesageQue に送信されない

リクエストはないな

新規リクエストはないな

リクエストが来るまで何もしない

Page 13: How to deploy & operate OpenStack Production

nova-bootリクエスト

OpenStackのコンポーネント及びサービス間の通信は全て MessageQue を介して行われるため、キューが溜まりやすい特徴がある。キューが溜まりすぎると命令リクエストが正常に処理されず、 OpenStack全体の動作が不安定となりやすい

MessageQue monitoring

13

nova-API

MessageQue参考: http://openstack.jp/assets/files/20121216/osc2012cloudjosugamqpv2-121216085708-phpapp02.pdf

nova-scheduler

cinder-scheduler

nova-bootリクエスト

nova-boot実行

nova-bootリクエス

トnova-bootリクエス

トnova-bootリクエス

トnova-bootリクエス

cinder-list実行

cinder-API

cinder-listリクエスト

キューが溢れると新規命令リクエストが受け付けられない

nova-bootリクエスト

MessageQue が処理するキューより入る命令リクエストが多いとキューが溢れる

cinder-listリクエスト

cinder-listリクエスト

cinder-listリクエスト

Page 14: How to deploy & operate OpenStack Production

about Fluentd

14

Fluentd とは・・・ Treasure Data 社が開発しているログファイルの収集・転送・集約が行える OSSログに正規表現でタグを付けし Elasticserch に転送することで、 Kibana を使用したログ解析・可視化を行える

生ログデータ

Fluentd

date 2016-05-07 14:06:05.569pid 19670level INFOmessage neutron.agent.linux.daemon - Process runs with uid/gid: 999/999

収集したログの内容にタグ付け

Elasticserchタグ付けしたログを転送

ログを収集

2016-05-07 14:06:05.569 19670 INFO neutron.agent.linux.daemon [-] Process runs with uid/gid: 999/999

Page 15: How to deploy & operate OpenStack Production

OpenStack logs

15

サービス ログファイルNova(7 ファイル )

/var/log/nova/nova-api-metadata.log/var/log/nova/nova-compute.log/var/log/nova/nova-scheduler.log/var/log/nova/nova-api-os-compute.log/var/log/nova/nova-cert.log/var/log/nova/nova-conductor.log/var/log/nova/nova-consoleauth.log

Keystone(3 ファイル )

/var/log/keystone/keystone-apache-error.log/var/log/keystone/keystone.log/var/log/keystone/ssl_access.log

Neutron(9 ファイル )

/var/log/neutron/neutron-dnsmasq.log/var/log/neutron/neutron-ha-tool.log/var/log/neutron/neutron-dhcp-agent.log/var/log/neutron/neutron-l3-agent.log/var/log/neutron/neutron-linuxbridge-agent.log/var/log/neutron/neutron-metadata-agent.log/var/log/neutron/neutron-metering-agent.log/var/log/neutron/neutron-ns-metadata-proxy-*.log/var/log/neutron/neutron-server.log

Glance(2 ファイル )

/var/log/glance/glance-api.log/var/log/glance/glance-registry.log

Horizon(2 ファイル )

/var/log/horizon/horizon-error.log/var/log/horizon/ssl_access.log

サービス ログファイルCinder(3 ファイル )

/var/log/cinder/cinder-volume.log/var/log/cinder/cinder-scheduler.log/var/log/cinder/cinder-api.log

RabbitMQ(6 ファイル )

/var/log/rabbitmq/rabbit*rabbit_mq_*.log/var/log/rabbitmq/rabbit*_rabbit_mq_*sasl.log/var/log/rabbitmq/shutdown_log/var/log/rabbitmq/shutdown_err/var/log/rabbitmq/startup_log/var/log/rabbitmq/startup_err

GaleraCluster(1 ファイル )

/var/log/mysql_logs/galera_server_error.log

Memcached(1 ファイル )

/var/log/memcached.log

計 34 ファイル + syslog(物理サーバ 7 台環境で約 130 万行 / 日のログ出力 )

Page 16: How to deploy & operate OpenStack Production

about Elasticserch/Kibana

16

Elasticserch とは・・・ Elastic 社が開発しているビックデータの蓄積・解析が行える OSSKibana によって解析結果の可視化が可能

Page 17: How to deploy & operate OpenStack Production

Today’s agenda• OpenStack Collab Lab.• Building OpenStack Production• Next step

17

Page 18: How to deploy & operate OpenStack Production

OpenStack

監視 & ログのデータ処理フロー

18

仮想マシン 仮想マシン

サーバ サーバ

L2/L3

今回構築した環境

ログ管理・解析ツール( ElasticSearch, Kibana )

監視・モニタリングツール( Zabbix ) インシデント

管理ツール( Redmine )

ナレッジベース

( Redmine )

運用ダッシュボードツール( Hatohol )

Zabbixエ

ージ

ェン

Fl

ue

nt

① 130 万件 / 日

② ダッシュボードに伝えるべきエラーは何か?

Page 19: How to deploy & operate OpenStack Production

19NTT ドコモ様 導入事例 OpenStack Summit 2015 Tokyo 講演「 After One year of OpenStack Cloud Operation (NTT DOCOMO)http://www.slideshare.net/VirtualTech-JP/ntt-openstack-summit-2015-tokyo-after-one-year-of-openstack-cloud-operation-ntt-docomo

Page 20: How to deploy & operate OpenStack Production

OpenStack

監視 & ログにまつわるユーザー処理フロー

20

仮想マシン 仮想マシン

サーバ サーバ

L2/L3

今回構築した環境

ログ管理・解析ツール( ElasticSearch, Kibana )

監視・モニタリングツール( Zabbix ) インシデント

管理ツール( Redmine )

ナレッジベース

( Redmine )

運用ダッシュボードツール( Hatohol )

Zabbixエ

ージ

ェン

Fl

ue

nt

③ フィードバックする仕組みをいかに作るか

Page 21: How to deploy & operate OpenStack Production

告知: 7/28( 木 ) 15:20- @ 六本木

OpenStack 最新情報セミナー 2016 年 7 月• YJ America 松谷さん講演• ゼットラボ 講演• サイバーエージェント 講演• OpenStack 共同検証ラボ 講演

7/13( 水 ) 9:00 申込開始http://openstack-update.connpass.com/event/35307/

21