[OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築

23
OCPJ Proof of Concept WG Engineering Workshop Zabbixを用いた OCPベアメタル監視環境の自動構築 2015年1月28日 TIS株式会社 松井 暢之

Transcript of [OCPJ PoCWG Engineering Workshop] Zabbixを用いたOCPベアメタル監視環境の自動構築

OCPJ Proof of Concept WG

Engineering Workshop

Zabbixを用いたOCPベアメタル監視環境の自動構築

2015年1月28日

TIS株式会社 松井 暢之

2

松井暢之(まつい のぶゆき)

TIS株式会社コーポレート本部戦略技術センター

~2003

2003~2008

2009

2010~2012

2013~

現場PJでアーキテクト兼モデラー兼プログラマ兼…を歴任

基盤技術センター(現戦略技術センター)で不芳PJの火消しに奔走

全社生産性向上の企画策定に従事

オープンでエッジな技術を活用した事業企画に従事

Cloud Orchestrator “CloudConductor®” の企画開発とOSS化開始

http://cloudconductor.org

nbyk.matsui

nmatsui

nbyk.matsui

@n_matsui

本日の内容

1. 活動の背景と目的

2. ベアメタル監視環境の自動構築検証

3

活動の背景

プライベートクラウド市場の拡大†

2013年度のクラウド市場は6,257億円であり、2018年度には2.9倍の1兆8,000億円まで拡大

そのうちプライベートクラウドの比率は2013年度で70.1%を占めるが、2018年度には73.0%と緩やかにシェアを高める

4

† MM総研, "国内クラウドサービス需要動向(2014年版)“,2014-11, http://www.m2ri.jp/newsreleases/main.php?id=010120141104500

活動の背景

OpenStackに代表されるOSSのクラウドOSの隆盛†

実際に利用しているプライベートクラウド環境はVMWare vSphere/vCloudが最も多く31%だが、検証中・計画中もあわせるとOpenStackはVMWare vSphere/vCloudに比肩する

OpenStackの利用企業は2013年と比べてほぼ倍増

5

† RightScale, "Cloud Computing Trends: 2014 State of the Cloud Survey“,2014-04, http://assets.rightscale.com/uploads/pdfs/RightScale-2014-State-of-the-Cloud-Report.pdf

活動の背景

電気料金の高騰†

震災前に比べ、一般家庭部門(電灯料金)の平均単価は約2割上昇

工場、オフィス等の産業用(電力料金)の平均単価は約3割上昇

6

電気料金の推移

† 経済産業省 資源エネルギー庁, “平成25年度エネルギーに関する年次報告(エネルギー白書2014)",2014-06, http://www.enecho.meti.go.jp/about/whitepaper/2014pdf/

活動の背景

電力効率に優れたオープンなデータセンター・ハードウェア

一般的なDCの電力効率(PUE)は1.5~2.0と言われている†

(日本でもPUE1.1台の高効率なDCが作られてきているが、まだ主流にはなっていない)

FacebookのDCはPUE1.0台を達成しており‡、その高効率なDC・H/Wの仕様をOpen Compute Projectというコミュニティで公開している

7

† Datacenter Knowledge, "Survey: Industry Average Data Center PUE Stays Nearly Flat Over Four Years “, 2014-06,http://www.datacenterknowledge.com/archives/2014/06/02/survey-industry-average-data-center-pue-stays-nearly-flat-four-years/

‡ Facebook, "Prineville - Facebook Power“, 2015-01,https://www.fbpuewue.com/prineville

活動の目的

目的

クラウドを構成する各種リソースの統合監視環境の構築を可能な限りスケールするように自動化・自律化する技術を確立する

ソフトウェアからハードウェアまで、特定クラウド・特定ベンダーに依存しない全てオープンなプロダクトで構成する

ポイント

監視対象のベアメタルをネットワークに接続し電源をONにすれば、H/WとOSの監視を自動的に開始する

監視負荷を分散させるために、適切な統合監視サーバへ監視対象ノードを自律的に振り分ける

今回はベアメタルサーバの監視に着目

8

クラウドを構成する各種リソースの監視環境を自動構築

最終的なイメージ

99

Proxy Node Networking NodeCompute Node

VM VM VM

Controller NodeObject Storage

Node

Block Storage

Node

Monitoring

Server

Monitoring

Server

スケールする監視環境自身の自動構築

監視ノードの自動振り分け

起動時にベアメタルのH/Wを自動登録

BareMetal Node

各ベアメタルを自動で監視

構築されたVMを自動で監視

物理・仮想NWを自動で監視

物理・仮想ストレージを自動で監視

本日の内容

1. 活動の背景と目的

2. OCPベアメタル監視環境の自動構築検証

10

オープンなハードウェア

Open Compute Project準拠のベアメタル:Quanta F03A, F03C

Quanta社製のOCP準拠サーバ

F03Cは1筐体に3ノード、F03Aは1筐体に4ノード格納されるが、今回はF03Cを1ノード、F03Aを1ノード用いる

11

F03C F03A

オープンなソフトウェア

ベアメタルプロビジョニング:Cobbler

http://www.cobblerd.org/

ベアメタルへOSやミドルウェアを遠隔から自動プロビジョニングするためのPython製のツール群

PXEブート時にベアメタルにインストールするOSイメージの管理

kickstartのテンプレート管理

yumやaptのリポジトリミラー

12

オープンなソフトウェア

OSS統合監視ツール:Zabbix

http://www.zabbix.com/

マルチプラットフォームに対応した、OSSの統合監視ツール

「監視」→「監視結果の視覚化」→「監視結果に応じたアクション(メール通知・コマンド実行)」が統合的に管理可能

13

検証①

OCPベアメタルへのZabbix Server & Zabbix Proxy自動構築

ESXi上のCobblerを用いて、OCPベアメタルへZabbix ServerやZabbix Proxyを自動構築

14

LOM

F03A

LOM

F03C

Cobbler

VMWare vSphere ESXi

10.10.10.0/24

DHCPd

TFTPd

HTTPd

PXEBootOS Image

RepositoryMirror

kickstarttemplate

・Zabbix Package

・Zabbix Install Script

LOM LOM

Cobbler

VMWare vSphere ESXi

IPMI:.12IPMI:.15

DHCPd

TFTPd

HTTPd

PXEBootOS Image

RepositoryMirror

kickstarttemplate

OS:.XX OS:.YY

PXEBootされたOSのIPアドレスはDHCPで動的に払い出し

ZabbixServer

ZabbixProxy

ベアメタル上にCentOS6.6を自動インストールし、Zabbix Server(Zabbix Proxy)をプロビジョニング

IPMI:.12IPMI:.15

・CentOS6.6イメージ

構築前 構築後

検証②

Zabbixを用いたベアメタル自動監視

ZabbixへベアメタルのH/W監視を自動登録

プロビジョニングされたOSの監視を、H/Wと対応付けて自動登録

設定したルールに従い、適切なZabbix Proxyを自動選択

Cobbler

VMWare vSphere ESXi

PXEBootOS Image

RepositoryMirror

kickstarttemplate Z

abbix

Server

Zabbix

Proxy

・HW登録用ミニOSイメージ・実OSイメージ

LOM

Cobbler

VMWare vSphere ESXi

PXEBootOS Image

RepositoryMirror

kickstarttemplate Z

abbix

Server

LOM

Zabbix

Proxy

Cobbler

VMWare vSphere ESXi

PXEBootOS Image

RepositoryMirror

kickstarttemplate Z

abbix

Server

Zabbix

Proxy

ミニOS ミニOS

検証用のベアメタルが足りなかったため、Zabbix ServerとProxyは仮想環境に構築

登録された監視対象ノードをルールに従って適切なProxyへ振り分け

LOM LOM

F03A F03C

LOM LOM

実OS 実OS

監視登録前 Pahse1(NWと電源へ接続)

プロビジョニング時に、IPMIと対応付けてOSやM/Wを監視登録

HW登録用のミニOSを自動起動しIPMI情報をZabbixへ登録

Pahse2(実OSプロビジョニング)

実OSが起動していなくてもIPMI経由でH/W監視は実行される

15

適切なZabbix Proxyを自動選択

検証②:Zabbixを用いたベアメタル自動監視

Phase1:H/W接続時に対象ノードのIPMI情報をZabbixへ自動登録

16

ベアメタル Cobbler Zabbix Server Zabbix Proxy

ミニOSでPXEブート

ミニOS起動Zabbix Agent導入

Zabbix Agentが自動登録情報を送付

ベアメタルを監視対象ホストとして追加

IPMI IPアドレスの取得処理起動

ミニOSに同梱されたdcmitoolでIPMI情報取得

IPMIインタフェースの登録

Agent自動登録機能HostMetadata内に”OCP STARTER”である事のフラグを埋め込む

SSH Agent機能

適切なProxyを割り当て

IPMI監視情報の送付先IPアドレス更新

IPMI監視テンプレート割当トラッパーアクション追加Agentインタフェース削除

Zabbix Agentでリモートコマンド実行

IPMI監視開始

Agent自動登録時のアクションにより一連の処理を自動化

IPMI経由でH/W情報を送信

ベアメタル自動監視の処理フロー

Phase1:H/W接続時に対象ノードのIPMI情報をZabbixへ自動登録

デモ動画

17

検証②:Zabbixを用いたベアメタル自動監視

Phase2:プロビジョニングする実OSの監視設定をZabbixへ自動登録

18

ベアメタル Cobbler Zabbix Server Zabbix Proxy

実OSでPXEブート

実OS起動Zabbix Agent導入

Zabbix Agentが実OSの情報を送付

zabbix_trapperでホスト名とIPを受信

Agentインタフェース登録監視テンプレート割当

ホスト名から登録済みH/W情報と対応付け

OS・M/W監視開始

zabbix_sender自身のホスト名と実OSのIPアドレスをZabbix Serverへ送信

trapper受信時のアクションにより一連の処理を自動化

Zabbix AgentがOS・M/W情報を送信

割り当てられたProxyを確認

Zabbix API呼び出し

OS監視情報の送付先IPアドレス更新

ベアメタル自動監視の処理フロー

Phase2:プロビジョニングされたOSの監視情報をZabbixへ自動登録

デモ動画

19

適切なZabbix Proxyの自動割当

Zabbix Proxyの割当ルールは切り出されており、柔軟に変更可能

今回はIPMIのIPアドレスレンジに基づいて静的に割り当てるルールを実装した

各Proxyの負荷状況などを元に、動的に最適なProxyを選択して割り当てるルールも実装可能

20

適切なZabbix Proxyの自動割当

21

さいごに

ソースコードの公開(近日公開予定)

Baremetal AutoDiscovery Tool for Zabbix

https://github.com/tech-sketch/baremetal_ad

Python 2.6系(CentOS6系のバンドル版)

Apache License Version2

謝辞

本検証を進めるにあたり、Cobblerによる監視環境自動構築の実現方法について、多くの示唆を頂いたOpen Compute ProjectJapan Proof of Concept WG の方々に感謝いたします。

本検証を進めるにあたり、検証環境をご提供いただいたCTC様に感謝いたします。

他関係各位、この場を借りてお礼を申し上げます。

22