Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,745 views

Published on

2015/01/28(水)に開催されました「OCPJ PoCWG Engineering Workshop」にて講演した資料です

Published in: Technology

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

  1. 1. OCPJ Proof of Concept WG Engineering Workshop Zabbixを用いた OCPベアメタル監視環境の自動構築 2015年1月28日 TIS株式会社 松井 暢之
  2. 2. 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
  3. 3. 本日の内容 1. 活動の背景と目的 2. ベアメタル監視環境の自動構築検証 3
  4. 4. 活動の背景  プライベートクラウド市場の拡大†  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
  5. 5. 活動の背景  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
  6. 6. 活動の背景  電気料金の高騰†  震災前に比べ、一般家庭部門(電灯料金)の平均単価は約2割上昇  工場、オフィス等の産業用(電力料金)の平均単価は約3割上昇 6 電気料金の推移 † 経済産業省 資源エネルギー庁, “平成25年度エネルギーに関する年次報告(エネルギー白書2014)", 2014-06, http://www.enecho.meti.go.jp/about/whitepaper/2014pdf/
  7. 7. 活動の背景  電力効率に優れたオープンなデータセンター・ハードウェア  一般的な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
  8. 8. 活動の目的  目的  クラウドを構成する各種リソースの統合監視環境の構築を可能な 限りスケールするように自動化・自律化する技術を確立する  ソフトウェアからハードウェアまで、特定クラウド・特定ベン ダーに依存しない全てオープンなプロダクトで構成する  ポイント  監視対象のベアメタルをネットワークに接続し電源をONにすれば、 H/WとOSの監視を自動的に開始する  監視負荷を分散させるために、適切な統合監視サーバへ監視対象 ノードを自律的に振り分ける  今回はベアメタルサーバの監視に着目 8
  9. 9.  クラウドを構成する各種リソースの監視環境を自動構築 最終的なイメージ 99 Proxy Node Networking Node Compute Node VM VM VM Controller Node Object Storage Node Block Storage Node Monitoring Server Monitoring Server スケールする監視環境 自身の自動構築 監視ノードの 自動振り分け 起動時にベアメタルの H/Wを自動登録 BareMetal Node 各ベアメタルを 自動で監視 構築されたVMを 自動で監視 物理・仮想NWを 自動で監視 物理・仮想ストレージを 自動で監視
  10. 10. 本日の内容 1. 活動の背景と目的 2. OCPベアメタル監視環境の自動構築検証 10
  11. 11. オープンなハードウェア  Open Compute Project準拠のベアメタル:Quanta F03A, F03C  Quanta社製のOCP準拠サーバ  F03Cは1筐体に3ノード、F03Aは1筐体に4ノード格納されるが、 今回はF03Cを1ノード、F03Aを1ノード用いる 11 F03C F03A
  12. 12. オープンなソフトウェア  ベアメタルプロビジョニング:Cobbler  http://www.cobblerd.org/  ベアメタルへOSやミドルウェアを遠隔から自動プロビジョニング するためのPython製のツール群  PXEブート時にベアメタルにインストールするOSイメージの管理  kickstartのテンプレート管理  yumやaptのリポジトリミラー  等 12
  13. 13. オープンなソフトウェア  OSS統合監視ツール:Zabbix  http://www.zabbix.com/  マルチプラットフォームに対応した、OSSの統合監視ツール  「監視」→「監視結果の視覚化」→「監視結果に応じたアクション (メール通知・コマンド実行)」が統合的に管理可能 13
  14. 14. 検証①  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 PXEBoot OS Image Repository Mirror kickstart template ・Zabbix Package ・Zabbix Install Script LOM LOM Cobbler VMWare vSphere ESXi IPMI:.12IPMI:.15 DHCPd TFTPd HTTPd PXEBoot OS Image Repository Mirror kickstart template OS:.XX OS:.YY PXEBootされたOSのIPアドレスは DHCPで動的に払い出し Zabbix Server Zabbix Proxy ベアメタル上にCentOS6.6を自動インストールし、 Zabbix Server(Zabbix Proxy)をプロビジョニング IPMI:.12IPMI:.15 ・CentOS6.6イメージ 構築前 構築後
  15. 15. 検証②  Zabbixを用いたベアメタル自動監視  ZabbixへベアメタルのH/W監視を自動登録  プロビジョニングされたOSの監視を、H/Wと対応付けて自動登録  設定したルールに従い、適切なZabbix Proxyを自動選択 Cobbler VMWare vSphere ESXi PXEBoot OS Image Repository Mirror kickstart template Zabbix Server Zabbix Proxy ・HW登録用ミニOSイメージ ・実OSイメージ LOM Cobbler VMWare vSphere ESXi PXEBoot OS Image Repository Mirror kickstart template Zabbix Server LOM Zabbix Proxy Cobbler VMWare vSphere ESXi PXEBoot OS Image Repository Mirror kickstart template Zabbix 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を 自動選択
  16. 16. 検証②: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情報 を送信
  17. 17. ベアメタル自動監視の処理フロー  Phase1:H/W接続時に対象ノードのIPMI情報をZabbixへ自動登録  デモ動画 17
  18. 18. 検証②: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アドレス更新
  19. 19. ベアメタル自動監視の処理フロー  Phase2:プロビジョニングされたOSの監視情報をZabbixへ自動登録  デモ動画 19
  20. 20. 適切なZabbix Proxyの自動割当  Zabbix Proxyの割当ルールは切り出されており、柔軟に変更可能  今回はIPMIのIPアドレスレンジに基づいて静的に割り当てる ルールを実装した  各Proxyの負荷状況などを元に、動的に最適なProxyを選択して 割り当てるルールも実装可能 20
  21. 21. 適切なZabbix Proxyの自動割当 21
  22. 22. さいごに  ソースコードの公開(近日公開予定)  Baremetal AutoDiscovery Tool for Zabbix https://github.com/tech-sketch/baremetal_ad  Python 2.6系(CentOS6系のバンドル版)  Apache License Version2  謝辞  本検証を進めるにあたり、Cobblerによる監視環境自動構築の 実現方法について、多くの示唆を頂いたOpen Compute Project Japan Proof of Concept WG の方々に感謝いたします。  本検証を進めるにあたり、検証環境をご提供いただいたCTC様に 感謝いたします。  他関係各位、この場を借りてお礼を申し上げます。 22

×