スライド 0

Similar documents
Red Hat OpenStack Platform 8 Red Hat OpenStack Platform のアップグレード

スライド 0

自己紹介 名前 所属 飯田雄介 ( いいだゆうすけ ) 主な活動 Linux-HA Japan プロジェクト Pacemaker 本体の機能改善や 外部ツールの開発を行っています Linux-HA Japan から pm_logconv や pm_crmgen といったツールを提供しています 2

Pacemakerでお手軽Dockerクラスタリング!

スライド 0

3 検証結果 3.1 ソフトウェアのインストール Red Hat Enterprise Linux 5.7 は最小構成でインストールし 最新バージョンにアップデートした Thirdware Linux-HA を構成するパッケージ (DRBD Heartbeat Pacemaker) は LINBIT

Congress Deep Dive

HAクラスタで PostgreSQLを高可用化 (後編) ~ レプリケーション編 ~

目次 Pacemaker ってなに? Pacemaker の設定とは? Pacemaker のリソース設定 リソース定義 パラメータ設定 リソース種類選択 リソース制約 クラスタ設定 さいごに Linux-HA Japan の紹介 Linux-HA Japan Project 2

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

概要 ここでは先程デモを行った OpenStack の中で仮想マシンのデータがどのように管理されているかをご紹介致します OpenStack の中でデータがどのように配置され 管理されているかを知ることは 可用性を検討する上で非常に重要になります 2

コンテナを止めるな! 〜PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは

自己紹介 伊藤広樹 ( 所属 : 日本電信電話株式会社 ) 2015 年 2016 年 社内 OpenStack 基盤の運用 2017 年 ( 現在 ) Blazarにコントリビュート開始 平井普 ( 所属 :NTTコムウェア) 2011 年 2016 年 NTT 通信網 NW 機器の運用設定 20

Dell Red Hat OpenStack - Version Dell Inc.

アジェンダ クラスタリングとは 今回の構成 DRBD Zabbix 等の構成ソフトウェア Zabbix2.0 新機能 構築方法 バックアップについて 参考資料 2

AWS Deck Template

HAクラスタで PostgreSQLを高可用化 (後編) ~ レプリケーション編 ~

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

Yahoo! JAPANにおけるOpenStack on Kubernetes導入までの道のり

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

HAクラスタをフェイルオーバ失敗から救おう!

OPNFV Apex を使って作る NFV のデモ環境 OpenStack Days Tokyo 2017 Tomofumi Hayashi July 20, 2017

PowerPoint プレゼンテーション

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料


「実践」OpenStack IRONIC

テーマ Pacemaker-1.1 を味わうための 便利 な使い方 ~ 保守運用に活用しよう ~ Pacemaker で対応する 故障 ケースの起こし方と復旧手順 ~ 事前に動作検証しよう ~ 実際の構築運用シーンで起きる問題の 解決 方法 ~ よくある問題を理解しよう ~ 2

CLUSTERPRO MC ProcessSaver 2.1 for Windows 構築ガイド 2016(Mar) NEC Corporation はじめに 責任範囲 適用範囲 概要 事前準備 クラスタ設定

OpenStack 環境における Container as a Service の提供と課題 株式会社サイバーエージェント アドテク本部 技術戦略室 Central Infrastructure Agency 青山 真也

Presentation Template Koji Komatsu

内容環境... 3 対応 OS の変更... 3 関連アプリケーションの追加... 4 機能追加... 5 グラフ機能... 5 稼働率... 8 サービス一括削除 自動復旧エスカレーションコマンド AWS カスタムメトリックス監視 NRPE 任意監視... 11

CLUSTERPRO MC ProcessSaver 1.0 for Windows 構築ガイド 2012(Sep) NEC Corporation はじめに責任範囲適用範囲概要事前準備クラスタ設定

仮想マシン構成のホスト ゲスト連携物理サーバー上の CLUSTERPRO X と仮想マシン上の X SSS で連携が可能です 例えば物理サーバー上の CLUSTERPRO X の異常検出をトリガとし仮想マシン上の X SSS をフェールオーバーさせることなども可能です 仮想化環境に最適なライセンス体

統合運用管理ソフトウェア Systemwalker 総合カタログ

クラスタ環境でのデータベースのアップグレード

PowerPoint プレゼンテーション

OpenStack Days Tokyo 2017 [4-B4-8] 今度は 79,200 パターン! OpenStack&Ceph による Hyper Converged Infrastructure 検証結果 OSCA 技術検討会 OpenStack 分科会

win2linux_1022

About me 倉持健史 ( くらもちたけし ) 現職 OSS 推進室 OSS の推進活用 を担当 職歴 TIS NetApp.KK SIOS Technology, Inc Panasonic Solution Technologies Co.,

クラスタ環境でのデータベースのアップグレード手順

10年オンプレで運用したmixiをAWSに移行した10の理由

ライフサイクル管理 Systemwalker Centric Manager カタログ

Linux のインストール(Red Hat および SUSE)

GresCube で快適 PostgreSQL ライフ 2013 年 11 月 8 日 NTT データ藤井雅雄 PostgreSQL カンファレンス 2013 Copyright 2013 NTT DATA Corporation

Pacemakerでかんたんクラスタリング体験してみよう

自己紹介 元木顕弘 某電気系メーカの研究所に所属 IPルータ 広域 Ethernet 装置 迷惑メールフィルタなどの開発をやっていました 最近は OpenStack, OpenFlow 周りで活動しています Linux JM Project 皆さん日本語マニュア

2015年10月24日 OSC 2015 Tokyo/Fall Linuxシステムをもっと安全で便利に 冗長化システムのご紹介 PowerDNSも冗長化しました 株式会社デージーネット OSS研究室 大野 公善

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

スライド 1

ダンプ取得機能強化サポートオプション Enterprise Edition

InfiniDB最小推奨仕様ガイド

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

Linux のインストール

延命セキュリティ製品 製品名お客様の想定対象 OS McAfee Embedded Control 特定の業務で利用する物理 PC 仮想 PC や Server 2003 Server 2003 ホワイトリスト型 Trend Micro Safe Lock 特定の業務で利用するスタンドアロン PC

挑戦!Pacemakerで自由自在にHAクラスタリング

OPNFV_meetup_ pptx

Cisco ACIとOpenStack連携と今後の展望 ネットワンシステムズ 株式会社 荒牧 大樹様

クラスタ構築手順書

BIGLOBEクラウドホスティングAPIリファレンス

Installation Guide for Linux

PRIMERGY TX100 S1 未サポートOS動作検証確認情報

運用統合ソフトウェア 2014/6/4 ミラクル リナックス株式会社 大和 一洋 Copyright MIRACLE LINUX CORPORATION All rights reserved

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

Agenda Hadoop Sahara Kilo Q&A Copyright 2015 Mirantis, Inc. All rights reserved Page 2

Microsoft Word - nvsi_090200jp_r1_nvbsvr_mscs.doc

LANスイッチブレード活性交換作業時の確認事項およびその付随作業

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

目次 概要 S/4HANAの導入方式 NECがご提供するサービス S/4HANA 導入ロードマップ策定支援サービス

PostgreSQL Plus 管理者ガイド

OpenStack がなぜ必要なのか? 素朴な疑問にお答えします OpenStack を使って社内で一旗揚げてやろう Red Hat K.K. Senior Solution Architect, OpenStack Team Lead Satoshi Naito

OpenStack/Contrail integration on k8s

PRIMERGY TX1330 M3 未サポートOS動作検証確認情報

Transcription:

OpenStackでも重要な役割を果たす Pacemakerを知ろう クラウドの雲の下では何が起こっているのか 2016年11月5日 Linux-HA Japan プロジェクト http://linux-ha.osdn.jp/ 森 啓介 Copyright(c) 2016 Linux-HA Japan Project

自己紹介 名前: 森 啓介 (Keisuke MORI) twitter: @ksk_ha Linux-HA Japanプロジェクト関連の活動 Pacemakerリポジトリパッケージのリリース http://linux-ha.osdn.jp/ ClusterLabs プロジェクトのコミッタ Pacemaker resource-agents などHAクラスタ関連の開発コミュニティ https://github.com/clusterlabs/ 本業 普段の業務: NTT OSSセンタ NTTグループ内におけるPacemaker/Heartbeatの導入支援 サポート バグ報告 パッチ作成などによるNTTから開発コミュニティへのフィードバック 貢献 2 2

もくじ Pacemakerとは OpenStack におけるHAの必要性 Red Hat OpenStack Platform でのHA構成例 OpenStack HA の今後の動向 3 3

もくじ Pacemakerとは OpenStack におけるHAの必要性 Red Hat OpenStack Platform でのHA構成例 OpenStack HA の今後の動向 4 4

Pacemakerの概要 サーバ アプリケーションの故障監視 サービスの監視 制御 サーバ間の監視 制御 サーバ#2 サーバ#1 5 5

Pacemakerの概要 故障検知時 自動的にフェイルオーバ ダウンタイムの最小化 STONITHによるデータの安全性確保 サービスのフェイルオーバ STONITH(強制電源断) サーバ#2 サーバ#1 6 6

Pacemakerを詳しく知りたかったら Pacemakerとは 高可用(HA)クラスタソフトウェアです Linux-HA Japan プロジェクト 2F 205教室にてデモ展示中 7 7

もくじ Pacemakerとは OpenStack におけるHAの必要性 Red Hat OpenStack Platform でのHA構成例 OpenStack HA の今後の動向 8 8

OpenStackにおけるHAの必要性 クラウド時代にHAクラスタなんて いるのぉ 9 9

クラウドユーザ(テナント)からみた世界 て っ 作 ンス て タ し ンス ス消 ン イ タ ンス イ インスタンスアクセス アプリケーション インスタンス インスタンス 10 10

雲の下では テナントネットワーク(VLAN) セス ク ア API インスタンスアクセス Keystone Horizon Glance Nova Cinder アプリケーション Swift Ceilometer Heat インスタンス nova-compute インスタンス nova-compute コンピュートノード コントロールノード 物理ネットワーク 11 11

コントロールノードの故障 APIアクセス テナントネットワーク(VLAN) インスタンスアクセス Keystone Keystone Horizon Horizon Glance Glance Nova Nova Cinder Swift サービス Ceilometer 切替 アプリケーション Cinder Swift Ceilometer インスタンス Heat Heat データの 複製 nova-compute コントロールノード インスタンス コントロールノード nova-compute コンピュートノード 物理ネットワーク 12 12

コンピュートノードの故障 テナントネットワーク(VLAN) セス ク ア API インスタンスアクセス Keystone Horizon Glance Nova Cinder Swift Ceilometer Heat インスタンスの 確実な停止 適切な状態管理 アプリケーション インスタンス nova-compute インスタンスの復旧 (nova evacuate) インスタンス インスタンス nova-compute コンピュートノード コントロールノード 物理ネットワーク 13 13

アプリケーションの故障 テナントネットワーク(VLAN) セス ク ア API インスタンスアクセス Keystone Horizon Glance Nova Cinder アプリケーション Swift Ceilometer Heat インスタンス nova-compute アプリケー ションの復旧 アプリケーション インスタンス インスタンス nova-compute コンピュートノード コントロールノード 物理ネットワーク 14 14

OpenStackにおけるHAの必要性 クラウド時代にHAクラスタなんて いるのぉ 当然必要よ 15 15

OpenStackにおけるHAの観点 コントロールノードHA コントロールノードの物理故障 通信断 各OpenStackサービスプロセス データベースサーバ メッセージキューのソフトウェア故障 クラウド提供者 (基盤管理者) による管理 コンピュートノードHA コンピュートノードの物理故障 通信断 インスタンスのソフトウェア故障 クラウドユーザ (テナント) アプリケーションHA インスタンスのソフトウェア故障 テナントユーザのサービス(アプリケーション)故障 による管理 16 16

OpenStackにおけるHAの必要性 クラウド提供者(基盤管理者)にとっては クラウドユーザに対するOpenStackサービスの可用性確保 従来通りの物理環境での HAクラスタが必要 インスタンスの可用性確保 従来の HA クラスタのさらなる応用が必要 クラウドユーザ(テナント)にとっては クラウド提供者(基盤管理者)が可用性を確保しているからこそ安心して利用 が可能 自分のサービス アプリケーション)の可用性は自分で確保する必要あり クラウド上でのHAクラスタ構成 クラウド特有の方式 (Ceilometer / Heat / Senlin 等) 17 17

主なディストリビューションのHA方式 ディストリ ビューション Openstack.org (upstream) 構築方式 手動 HAクラスタ ソフトウェア Pacemaker + Corosync コント ロール ノード HA コン ピュー ト ノード HA データベース 冗長化方式 補足 ー Galera 今日のトピックはココ! Red Hat OpenStack Platform 8 (RH OSP) director (Triple O) Pacemaker + Corosync Galera / MariaDB SUSE OpenStack Cloud 6 Crowbar + barclamp Pacemaker + Corosync PostgreSQL + DRBD Ubuntu MAAS + juju Pacemaker + Corosync ー Percona XtraDB Cluster Mirantis Fuel Pacemaker + Corosync ー Galera / MySQL 公式ドキュメントでは要件 概念と手順の断片が示され ているのみ 具体的な設定 構築手順等は独自に設計する必要あり 2016年10月時点で日々更新中 コントロールノード構成は3ノード以上 全てのOpenStackサービスが同居する構成前提 はL3HA設定によるActive/Active構成 コントロールノード構成はDBサーバのみ2ノード 他 のOpenStackサービスは3ノード以上 はスクリプト方式(ha-tools)によるHA方式 主に Liberty ベース時点での情報 18 18

OpenStackにおけるHAの必要性 クラウド時代にHAクラスタなんて いるのぉ 当然必要よ OpenStackクラウド基盤の高可用化にも Pacemakerは使われてるの! 19 19

もくじ Pacemakerとは OpenStack におけるHAの必要性 Red Hat OpenStack Platform でのHA構成例 OpenStack HA の今後の動向 20 20

Red Hat OpenStack Platform 8 のHA構成概要 コントロールノードHA Keystone Keystone Keystone Horizon Horizon Glance Glance Nova Nova Cinder Swift Cinder Horizon Glance Nova コンピュートノードHA Cinder Swift Ceilometer Heat Swift Ceilometer NovaEvacuate Ceilometer Heat RA fence_compute Heat インスタンス インスタンス インスタンス nova-compute nova-compute nova-compute Pacemaker_remote Pacemaker Pacemaker Pacemaker Pacemaker_remote Pacemaker_remote ストレージノードは省略 21 21

Red Hat OpenStack Platform 8 HA構成の特徴 コントロールノードHA ノード構成: 3ノード以上 クォーラム制御(多数決制御)のため すべてのOpenStackサービス データベースサーバ等が同居する構成が前提 ストレージノードのみ分離可能 本資料では説明の単純化のためNFSサーバを使用している コンピュートノードHA Pacemaker_remote機能, NovaEvacuate RA による実装方式 OSP director (Triple O) によるHA構成の自動構築 実際にサービスを提供するOpenStack環境(オーバークラウド)を 構築用の別のマシン(アンダークラウド)から自動構築する コントロールノードHAは自動構築が可能 コンピュートノードHAについては自動構築対象外 ドキュメントに手動構築手順あり 22 22

RH OSP 8 のHA環境構築の流れ アンダークラウド OSP director オーバークラウド ① インストール 設定 (アンダークラウド構築) Keystone Keystone Horizon Keystone Horizon Glance Horizon Glance GlanceNova Nova Nova Cinder Cinder CinderSwift Swift Ceilometer Swift Ceilometer Heat Ceilometer Heat Heat ② テンプレートカスタマイズ (オーバークラウド設定) Heat templates ③ オーバークラウド作成 コマンド実行 openstack overcloud deploy ④ PXEブート 構築実行 overcloud-full.qnow2 ⑤作成後の追加設定 (フェンシング設定追加) Pacemaker Pacemaker Pacemaker コントロールノード インスタンス インスタンス インスタンス nova-compute nova-compute nova-compute コンピュートノード ストレージノードは省略 23 23

RH OSP 8 のHA環境構築 オーバークラウド作成コマンド オプション例 [stack@bl460g9n6 ~]$ openstack overcloud deploy - templates -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-management.yaml -e ~/templates/network-environment.yaml -e ~/templates/storage-environment.yaml --control-scale 3 --compute-scale 1 --control-flavor control --compute-flavor compute --ntp-server 192.168.28.80 --neutron-network-type vxlan --neutron-tunnel-types vxlan ポイント コントロールノードのノード数を指定する HA構成のためには 3ノード以上 奇数ノード数が必要 --control-scale 1 : 冗長化なし --control-scale 2 : 冗長化なし(1ノード故障時にサービス停止) 偶数ノード数では半数のノードが故障した時点でサービス停止となる クォーラム制御) --control-scale 3 : 冗長化あり 24 24

RH OSP 8 のHA環境構築 オーバークラウド作成後の追加設定 コントローラノードのフェンシング設定追加 $ sudo pcs stonith create my-ipmilan-for-controller01 fence_ipmilan pcmk_host_list=overcloudcontroller-0 ipaddr=192.168.28.43 login=userid passwd=passw0rd lanplus=1 op monitor interval=60s $ sudo pcs constraint location my-ipmilan-for-controller01 avoids overcloud-controller-0 $ sudo pcs stonith create my-ipmilan-for-controller02 fence_ipmilan pcmk_host_list=overcloudcontroller-1 ipaddr=192.168.28.42 login=userid passwd=passw0rd lanplus=1 op monitor interval=60s $ sudo pcs constraint location my-ipmilan-for-controller02 avoids overcloud-controller-1 $ sudo pcs stonith create my-ipmilan-for-controller03 fence_ipmilan pcmk_host_list=overcloudcontroller-2 ipaddr=192.168.28.41 login=userid passwd=passw0rd lanplus=1 op monitor interval=60s $ sudo pcs constraint location my-ipmilan-for-controller03 avoids overcloud-controller-2 $ sudo pcs property set stonith-enabled=true ポイント フェンシング機能(STONITH機能)設定はハードウェアに依存するため 環 境に合わせ手動で設定追加を行う 一般的には IPMI 経由による強制電源断 フェンシング機能はデータベース メッセージキューのデータ整合性を保障 するために非常に重要(スプリットブレインの防止) 25 25

何ができあがったの? crm_mon コマンドで見てみよう Pacemaker のリソース稼働状況を確認するコマンド 表示例: よくあるWeb DBサーバの冗長構成の場合は 2 Nodes configured 16 Resources configured ノード数: 2 稼働リソース数: 16 Online: [ pm01 pm02 ] Full list of resources: Resource Group: master-group filesystem (ocf::heartbeat:filesystem): Started apache (ocf::heartbeat:apache): Started pm01 vip-master (ocf::heartbeat:ipaddr2): Started vip-rep (ocf::heartbeat:ipaddr2): Started Resource Group: grpstonith1 prmstonith1-1 (stonith:external/stonith-helper): Started prmstonith1-2 (stonith:external/ipmi): Started Resource Group: grpstonith2 prmstonith2-1 (stonith:external/stonith-helper): Started prmstonith2-2 (stonith:external/ipmi): Started Master/Slave Set: mspostgresql [pgsql] Masters: [ pm01 ] Slaves: [ pm02 ] Master/Slave Set: msdrbd [drbd] Masters: [ pm01 ] Slaves: [ pm02 ] Clone Set: clnping [prmping] Started: [ pm01 pm02 ] Clone Set: clndiskd1 [prmdiskd1] Started: [ pm01 pm02 ] pm01 pm01 pm01 pm02 pm02 pm01 pm01 26 26

RH OSP 8 でのcrm_mon出力 3 nodes and 118 resources configured Online: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ] Full list of resources: Clone Set: haproxy-clone [haproxy] ip-172.18.0.10 (ocf::heartbeat:ipaddr2): Started overcloud-controller-0 ip-172.16.0.11 (ocf::heartbeat:ipaddr2): Started overcloud-controller-1 ip-172.16.0.10 (ocf::heartbeat:ipaddr2): Started overcloud-controller-2 ip-172.19.0.10 (ocf::heartbeat:ipaddr2): Started overcloud-controller-0 ip-192.0.2.26 (ocf::heartbeat:ipaddr2): Started overcloud-controller-1 ip-10.1.1.10 (ocf::heartbeat:ipaddr2): Started overcloud-controller-2 Master/Slave Set: redis-master [redis] Masters: [ overcloud-controller-1 ] Slaves: [ overcloud-controller-0 overcloud-controller-2 ] Master/Slave Set: galera-master [galera] Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ] Clone Set: mongod-clone [mongod] Clone Set: rabbitmq-clone [rabbitmq] Clone Set: memcached-clone [memcached] Clone Set: fs-varlibglanceimages-clone [fs-varlibglanceimages] Clone Set: openstack-nova-scheduler-clone [openstack-nova-scheduler] Clone Set: neutron-l3-agent-clone [neutron-l3-agent] Clone Set: openstack-ceilometer-alarm-notifier-clone [openstack-ceilometer-alarm-notifier] Clone Set: openstack-heat-engine-clone [openstack-heat-engine] Clone Set: openstack-ceilometer-api-clone [openstack-ceilometer-api] Clone Set: neutron-metadata-agent-clone [neutron-metadata-agent] Clone Set: neutron-ovs-cleanup-clone [neutron-ovs-cleanup] Clone Set: neutron-netns-cleanup-clone [neutron-netns-cleanup] Clone Set: openstack-heat-api-clone [openstack-heat-api] Clone Set: openstack-cinder-scheduler-clone [openstack-cinder-scheduler] ノード数: 3 稼働リソース数: 118 Clone Set: openstack-nova-api-clone [openstack-nova-api] Clone Set: openstack-heat-api-cloudwatch-clone [openstack-heat-api-cloudwatch] Clone Set: openstack-ceilometer-collector-clone [openstack-ceilometer-collector] Clone Set: openstack-keystone-clone [openstack-keystone] Clone Set: openstack-nova-consoleauth-clone [openstack-nova-consoleauth] Clone Set: openstack-glance-registry-clone [openstack-glance-registry] Clone Set: openstack-ceilometer-notification-clone [openstack-ceilometer-notification] Clone Set: openstack-cinder-api-clone [openstack-cinder-api] Clone Set: neutron-dhcp-agent-clone [neutron-dhcp-agent] なるほど わからん Clone Set: openstack-glance-api-clone [openstack-glance-api] Clone Set: neutron-openvswitch-agent-clone [neutron-openvswitch-agent] Clone Set: openstack-nova-novncproxy-clone [openstack-nova-novncproxy] Clone Set: delay-clone [delay] Clone Set: neutron-server-clone [neutron-server] Clone Set: httpd-clone [httpd] Clone Set: openstack-ceilometer-central-clone [openstack-ceilometer-central] Clone Set: openstack-ceilometer-alarm-evaluator-clone [openstack-ceilometer-alarm-evaluator] Clone Set: openstack-heat-api-cfn-clone [openstack-heat-api-cfn] openstack-cinder-volume (systemd:openstack-cinder-volume): Started overcloud-controller-0 Clone Set: openstack-nova-conductor-clone [openstack-nova-conductor] my-ipmilan-for-controller01 (stonith:fence_ipmilan): Started overcloud-controller-1 my-ipmilan-for-controller02 (stonith:fence_ipmilan): Started overcloud-controller-2 my-ipmilan-for-controller03 (stonith:fence_ipmilan): Started overcloud-controller-0 27 27

RH OSP 8 におけるPacemakerリソース構成 Keystone Horizon Glance Nova Cinder Pacemaker 管理対象 Active/Active 構成 Active/Standby 構成 Horizon Glance Glance Nova Nova Cinder Ceilometer Heat Heat HAProxy HAProxy MongoDB Keystone Horizon Ceilometer memcached Master/Slave 構成 Keystone Cinder Ceilometer Heat HAProxy memcached memcached MongoDB MongoDB RabbitMQ RabbitMQ RabbitMQ Redis Redis Redis Galera Galera Galera 仮想IP cinder-volume Pacemaker + Corosync Pacemaker 管理対象外 Swift Open vswitch ntpd, DBus,... コントロールノード#1 Swift Open vswitch Swift Open vswitch ntpd, DBus,... ntpd, DBus,... コントロールノード#2 コントロールノード#3 28 28

Pacemaker管理対象リソース OpenStack関連サービス: 29リソース ほぼ全てActive/Active構成 全ノードで起動し HAProxyにより負荷分散 systemd経由による故障監視 プロセス故障のみ検知可能 cinder-volume のみ Active/Standby 構成 cinder-volume の制約による(現時点では stateful サービスであり Active/Active構成不可) データベース RabbitMQサービス起動完了後に起動するよう順序依存関係を制御 データベース RabbitMQサービス: 5リソース Galera, RabbitMQ 独自の実装によりミラーリング対応 Active/Active構成が可能 ただし実際に読み書きを行うノードはHAproxy設定により1ノードのみに制限 クラスタとしての起動手順をリソースエージェント(OCF RA)により制御 仮想IP HAProxy 他: 12リソース ノード故障時の切替 負荷分散 STONITHエージェント等(図には未記載) Active/Activeリソースは3ノード全てで起動するため crm_monで 表示されるリソース数の合計は118リソースとなる 詳細内訳は省略 29 29

Pacemakerリソースの起動順序制御 Pacemakerの制御により 以下の順序で起動される (1)仮想IP データベース メッセージキューの起動 (2) 仮想IP起動完了後 HAProxy起動 仮想IP HAProxy Galera MongoDB Redis memcached Keystone (3) (1)(2)全て起動完了後 Keystone起動 (4) Keystone起動完了後 各OpenStackサービス起動 RabbitMQ Glance Nova Ceilometer Heat Cinder cinder-volume 30 30

Pacemakerのリソース制御方法 OCFリソースとsystemdリソース Ceilometer Heat Galera Redis RabbitMQ 仮想IP リソースエージェント(OCF RA) 起動 停止 監視 (OCF API) MongoDB memcached HAProxy Cinder Glance Nova Keystone Systemd ユニットファイル Pacemaker 起動 停止 監視 (D-Bus API) OS起動時の 自動起動 Systemd Linux Kernel 31 31

Pacemaker管理対象外のサービス OpenStack関連サービス swift OS起動と同時に起動 systemd による監視 再起動 RH OSP における設計指針は不明だが swift は他のサービスに比較して独立性が高く systemd による再起動のみで十分と判断したと推測 Open vswitch 現状 systemd では故障検知不可能 systemctl status はプロセス故障時にも OK を返却する したがってPacemakerのリソースに追加しても故障検知はできない 意図した仕様なのか不具合なのかは不明 監視が必要な場合は個別に監視処理を追加する必要あり 独自にリソースエージェントの作成 運用監視システム等による監視など 各種OSサービス ntpd, D-Bus, 他 必要に応じて運用監視システム等により監視 物理環境のHAクラスタにおいても通常は Pacemaker では管理していない 32 32

Pacemaker導入によるメリット 故障検知と自動フェイルオーバによるダウンタイム短縮 切替時間目安: 約70 80秒程度(負荷なし ノード電源断 dashboard画面アクセス再開まで) 内訳: Pacemaker内部処理 30 40秒程度 + OpenStackサービス再開処理 30 40秒程度 故障箇所 故障タイミング 負荷等条件により大きく変わるのであくまで目安で フェンシング(STONITH)によるデータ整合性の担保も含む Galera, RabbitMQ 単体だけで担保できるのか? 全ての故障 全てのネットワーク構成 全ての故障タイミング ネットワーク一時分断 復活 etc... 起動手順 依存関係の自動化による運用手順簡易化 Q. そんなん systemd があるやん A. systemdだけではできないこともあるんやよ Galera, RabbitMQ のクラスタ構成に必要なノード別の起動手順 起動 完了 まで待ってからの次の起動 ノードをまたぐ順序関係 33 33

もくじ Pacemakerとは OpenStack におけるHAの必要性 Red Hat OpenStack Platform でのHA構成例 OpenStack HA の今後の動向 34 34

コントロールノードHAの今後 OpenStackサービスはPacemaker管理外で良いんじゃね? という方向で今開発コミュニティは動いてます 35 35

これが Keystone Horizon Glance Nova Cinder Pacemaker 管理対象 Active/Active 構成 Active/Standby 構成 Horizon Glance Glance Nova Nova Cinder Ceilometer Heat Heat HAProxy HAProxy MongoDB Keystone Horizon Ceilometer memcached Master/Slave 構成 Keystone Cinder Ceilometer Heat HAProxy memcached memcached MongoDB MongoDB RabbitMQ RabbitMQ RabbitMQ Redis Redis Redis Galera Galera Galera 仮想IP cinder-volume Pacemaker + Corosync Pacemaker 管理対象外 Swift Open vswitch ntpd, DBus,... コントロールノード#1 Swift Open vswitch Swift Open vswitch ntpd, DBus,... ntpd, DBus,... コントロールノード#2 コントロールノード#3 36 36

こうなる! (?) Keystone Horizon Pacemaker Glance Nova 管理対象外 Cinder Active/Active 構成 Pacemaker 管理対象 Master/Slave 構成 Active/Standby 構成 Keystone Horizon Glance Nova Nova Cinder Ceilometer Heat Heat HAProxy HAProxy MongoDB Horizon Glance Ceilometer memcached Keystone Cinder Ceilometer Heat HAProxy memcached memcached MongoDB MongoDB RabbitMQ RabbitMQ RabbitMQ Redis Redis Redis Galera Galera Galera 仮想IP cinder-volume Pacemaker + Corosync Pacemaker 管理対象外 Swift Open vswitch ntpd, DBus,... コントロールノード#1 Swift Open vswitch Swift Open vswitch ntpd, DBus,... ntpd, DBus,... コントロールノード#2 コントロールノード#3 37 37

コントロールノードHAの今後 OpenStackサービスはPacemaker管理外とする方向 ACT/SBYリソースのみ管理対象とする cinder-volume 他にもあれば (neutron-lbaas-agent?) cinder-volume のACT/ACT対応は現在議論中 対応完了すれば管理外とする ただし全てのOpenStackサービスは起動順序に依存しないことが前提 データベースやメッセージキュー等の依存サービスがダウンしても フェイルオーバ後に自 動的に復旧できること 開発コミュニティにて検証中 RH OSPでは Mitakaベース(RH OSP 9)では keystone が管理外となっている おそらく Newtonベースの RH OSP 以降で大きく変更されるのでは 38 38

コントロールノードHAの今後 OpenStackサービスはPacemaker管理外とする方向 開発コミュニティでは異論もあり 議論継続中 管理すべきだよ派 systemdのプロセス監視だけでは不十分 OCF RA等でサービス監視もやりたい OpenStackサービスはSTONITH無くてホントに大丈夫なん? 管理しなくてもいいよ派 サービス監視は運用監視ツール(Nagiosとか)でやればいいんじゃねーの 起動順序の依存関係はOpenStackサービス側で解決すればいいよね それよりもHeatテンプレートの維持管理とかバージョンアップを楽にしようよ 39 39

コンピュートノードHAの今後 現状以下の3方式があり これから統合されていく予定 NovaEvacuate RA (Red Hat, SUSE) 商用サポート提供済み ただし故障対応範囲に制約あり Masakari (NTT) 故障対応範囲が充実 ただしPacemakerとの連携に向上の余地あり Mistral (Intel) OpenStack全体のアーキテクチャとして望ましい ただし現状試験実装レベル 現時点での見込み Mistral のワークフローベースにMasakariの機能を統合していく方針 NovaEvacuate RA Masakari Mistral HA対象インスタンスのタグ管理 故障時アクションのカスタマイズ 予定あり 自己監視 実装中 インスタンス故障監視 予定あり force_down API対応 予定あり nova-compute故障対応 予定あり 並行実行 出典: http://aspiers.github.io/openstack-summit-2016-austin-compute-ha/ 40 40

OpenStack HA コミュニティの活動 IRCミーティング 毎週月曜 https://wiki.openstack.org/wiki/meetings/hateammeeting ドキュメント改善 公式HAドキュメントのメンテナがAndrew Beekhof 氏(Pacemaker開発者) に http://docs.openstack.org/ha-guide/ 現在 (まさに今!) 随時更新中 プロジェクト間活動に向けたユーザストーリー 仕様書 41 41

おわり Pacemakerをこれからもよろしくお願いします! 42 42