SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Red Hat Enterprise Linux OpenStack Platform 7
VM Instance HA Architecture
Etsuji Nakai
Senior Solution Architect
and Cloud Evangelist
Red Hat K.K.
v1.1 2015/11/22
2
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Contents
 Architecture summary
 Configuration details
 Evacuation process
 Reference
※ This document is based on RHEL-OSP7 as of 2015/11/22. Details may change due to minor/major
updates in the future. We recommend that you would use the Red Hat consultation service for
the deployment with the cluster configuration.
Architecture summary
4
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
VM HA architecture at a glance.
Corosync
Pacemaker
Pacemaker
Remote
nova-evacuate
Corosync
Pacemaker
Corosync
Pacemaker
Call nova-evacuate API for VM instances
on compute nodes marked as “need evacuation.”
fence-nava
Mark a compute node as “need evacuation”
during the fencing process.
fence-nava
・・・
・・・
fence-host fence-host
ceilometer-compute
ovs-agent
libvirtd
nova-compute
Pacemaker
Remote
ceilometer-compute
ovs-agent
libvirtd
nova-compute
Services on compute nodes are managed
as pacemaker resources (clone set).
Controllers with three-node
Cluster configuration
Compute nodes
Compute nodes are managed as
“remote nodes” from the controller cluster.
Fence device
Pacemaker resource
5
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
What is pacemaker-remote?
 Pacemaker-remote allows the cluster nodes to manage “remote nodes” as an
extension of them. It allows you to manager resources on more than 16
cluster nodes.
Corosync
Pacemaker
Pacemaker
Remote
Corosync
Pacemaker
resource
– A lightweight agent called pacemaker_remote
runs on the remote node. It communicates
with the cluster nodes.
– The cluster nodes can manage resources and
fence devices on the remote nodes. You can
associate any resources on the remote nodes
as if they are a part of the cluster.
– The remote nodes do not accommodate the
corosync daemon, so they don't perform the
cluster management functions such as
fencing other nodes, quorum voting, etc.
– When the cluster nodes detect a failure of a
remote node, the failed node will be rebooted
or powered off with the fence device.
・・・
resource
Pacemaker
Remote
resource
resource
・・・
Cluster nodes
Remote nodes
Configuration details
7
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Minimum cluster sample
 We will explain configuration details of a sample VM instance HA cluster.
Corosync
Pacemaker
Pacemaker
Remote
nova-evacuate
fence-nava fence-nava
fence-host fence-host
ceilometer-compute
ovs-agent
libvirtd
nova-compute
Pacemaker
Remote
ceilometer-compute
ovs-agent
libvirtd
nova-compute
– The controller cluster consists of a
single node for the sake of simplicity.
(Three-node cluster is recommended
in a production environment.)
– There are two compute nodes which
are manged as remote nodes with the
pacemaker_remote.
compute-0
controller-0
compute-1
8
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Cluster definition
 controller-0 is defined as a cluster node while compute-0 and compute-1 are
defined as remote nodes.
– Only controller-0 has the quorum vote. So from the corosync's viewpoint, it's just a
single node cluster.
# pcs cluster status
Cluster Status:
Last updated: Sun Nov 22 03:16:01 2015 Last change: Sat Nov 21 02:40:39 2015
by root via cibadmin on controller-0
Stack: corosync
Current DC: controller-0 (version 1.1.13-a14efad) - partition with quorum
3 nodes and 126 resources configured
Online: [ controller-0 ]
RemoteOnline: [ compute-0 compute-1 ]
PCSD Status:
controller-0: Online
9
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Resource definition
 OpenStack services on compute nodes are started as managed resources.
– In this example, neutron-ovs-agent, libirtd, ceilometer-compute and nova-compute
are defined as managed resources with clone type. (The clone type resources are
enabled on multiple nodes in parallel.)
# pcs resource
...
nova-evacuate (ocf::openstack:NovaEvacuate): Started
Clone Set: neutron-openvswitch-agent-compute-clone [neutron-openvswitch-agent-compute]
Started: [ compute-0 compute-1 ]
Stopped: [ controller-0 ]
Clone Set: libvirtd-compute-clone [libvirtd-compute]
Started: [ compute-0 compute-1 ]
Stopped: [ controller-0 ]
Clone Set: ceilometer-compute-clone [ceilometer-compute]
Started: [ compute-0 compute-1 ]
Stopped: [ controller-0 ]
Clone Set: nova-compute-clone [nova-compute]
Started: [ compute-0 compute-1 ]
Stopped: [ controller-0 ]
...
10
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Resource definition
– “nova-evacuate” is a special resource running on the controller nodes which calls the
nova-evacuate API for VM instances running on the failed node. Details will be
explained later.
– As in the definition above, it contains the API authentication information of a
specific user which should have an admin authority to evacuate VM instances of all
tenants.
# pcs resource show nova-evacuate
Resource: nova-evacuate (class=ocf provider=openstack type=NovaEvacuate)
Attributes: auth_url=http://172.16.0.64:5000/v2.0/ username=demo_admin
password=passw0rd tenant_name=demo
Operations: start interval=0s timeout=20 (nova-evacuate-start-timeout-20)
stop interval=0s timeout=20 (nova-evacuate-stop-timeout-20)
monitor interval=10 timeout=600 (nova-evacuate-monitor-interval-10)
11
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Fence devices
 controller-0 doesn't have a fence device because it's a single node cluster.
 compute-0 and compute-1 have two stacked fence devices.
– fence-compute0/1 is a regular fence device to reboot the node.
– fence-nova uses “fence_compute” agent to set the attribute of the compute node
indicating that “VM instances on this node need to be evacuated.”
• It internally runs the following command as a part of the fencing process. (“evacute” seems
to be a typo, but it's as in /sbin/fence_compute.)
# attrd_updater -n evacute -U yes -N compute-X.localdomain
# pcs stonith
fence_compute0 (stonith:fence_ipmilan): Started
fence_compute1 (stonith:fence_ipmilan): Started
fence-nova (stonith:fence_compute): Started
Node: compute-0
Level 1 - fence_compute0,fence-nova
Node: compute-1
Level 1 - fence_compute1,fence-nova
# pcs stonith show fence-nova
Resource: fence-nova (class=stonith type=fence_compute)
Attributes: domain=localdomain record-only=1 action=off
...
Evacuation process
13
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
How does the evacuation work?
 Suppose that compute-0 fails.
– The pacemaker on the controller nodes detects it and shutdown or reboot the failed
node with the regular fence device.
– In addition, the “fence-nova” device sets the “evacute” cluster attribute as below.
• You can emulate it by executing the following fence_compute command which internally
runs the attrd_updater command in the next line.
– The “nova-evacuate” resource periodically checks the “evacute” attribute. When it
detects value=“yes” for host=”compute-0.localdomain”, it calls the nova-evacuate
API for VM instances on the compute-0 which triggers the evacuation of the VM
instances.
• The “nova-evacuate” uses the authentication information specified in the resource
definition. The specified user should have an admin authority which can evacuate VM
instances of all tenants.
• You can see details of the evacuation process from the resource script
/usr/lib/ocf/resource.d/openstack/NovaEvacuate. It internally calls /sbin/fence_compute
(without --record-only option) to trigger the evacuation.
# fence_compute -d localdomain -o off --record-only -n compute-X
# attrd_updater -n evacute -U yes -N compute-X.localdomain
# attrd_updater -n evacute -A
name="evacute" host="compute-0.localdomain" value="yes"
14
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
Resource constraints
 As experienced openstackers can easily understand, the openstack services
running on compute nodes have complicated dependencies to work together.
In addition, the timing of calling the evacuation API is very important to
successfully evacuate the failed VM instances.
 As a result, you need to define many constraints for resource location,
collocation and ordering. The details are described in the official documents
in the reference section.
Reference
16
Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture
References
 Highly available virtual machines in RHEL OpenStack Platform 7
– http://redhatstackblog.redhat.com/2015/09/24/highly-available-virtual-machines-in-rhel-
openstack-platform-7/
 Use High Availability to Protect Instances in Red Hat Enterprise Linux OpenStack
Platform 7
– https://access.redhat.com/articles/1544823
 Pacemaker Remote Scaling High Availability Clusters
– http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html-single/Pacemaker_Remote/
 Red Hat Enterprise Linux 7 High Availability Add-On Reference
– https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html-
single/High_Availability_Add-On_Reference/index.html
EMPOWER PEOPLE,
EMPOWER ENTERPRISE,
OPEN INNOVATION.

Más contenido relacionado

La actualidad más candente

OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
Etsuji Nakai
 

La actualidad más candente (20)

[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
OpenStack Octavia入門
OpenStack Octavia入門OpenStack Octavia入門
OpenStack Octavia入門
 
日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会日本OpenStackユーザ会 第37回勉強会
日本OpenStackユーザ会 第37回勉強会
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門OpenStackトラブルシューティング入門
OpenStackトラブルシューティング入門
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Masakari project onboarding
Masakari project onboardingMasakari project onboarding
Masakari project onboarding
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
 
OpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウドOpenStackによる、実践オンプレミスクラウド
OpenStackによる、実践オンプレミスクラウド
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
 
Linux-HA Japanプロジェクトのこれまでとこれから
Linux-HA JapanプロジェクトのこれまでとこれからLinux-HA Japanプロジェクトのこれまでとこれから
Linux-HA Japanプロジェクトのこれまでとこれから
 
Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in Sydney
 
最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう最近のOpenStackを振り返ってみよう
最近のOpenStackを振り返ってみよう
 

Destacado

OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
Etsuji Nakai
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the Enterprise
Keith Tobin
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Keith Tobin
 
openstackreferencearchitecturewhitepaper
openstackreferencearchitecturewhitepaperopenstackreferencearchitecturewhitepaper
openstackreferencearchitecturewhitepaper
Richard Haigh
 

Destacado (20)

Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニックRed Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
Red Hat Enterprise Linux OpenStack Platform環境でのDocker活用テクニック
 
openstackの仮想マシンHA機能の現状と今後の方向性
openstackの仮想マシンHA機能の現状と今後の方向性openstackの仮想マシンHA機能の現状と今後の方向性
openstackの仮想マシンHA機能の現状と今後の方向性
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
OpenStack Best Practices and Considerations - terasky tech day
OpenStack Best Practices and Considerations  - terasky tech dayOpenStack Best Practices and Considerations  - terasky tech day
OpenStack Best Practices and Considerations - terasky tech day
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
OpenStack入門 2016/06/10
OpenStack入門 2016/06/10OpenStack入門 2016/06/10
OpenStack入門 2016/06/10
 
Ironic introduction
Ironic introductionIronic introduction
Ironic introduction
 
Beyond x86: Managing Multi-platform Environments with OpenStack
Beyond x86: Managing Multi-platform Environments with OpenStackBeyond x86: Managing Multi-platform Environments with OpenStack
Beyond x86: Managing Multi-platform Environments with OpenStack
 
IBM Cloud - Open by Design
IBM Cloud - Open by DesignIBM Cloud - Open by Design
IBM Cloud - Open by Design
 
Drive responsibly: Innovate on cloud that is Open by design
Drive responsibly: Innovate on cloud that is Open by designDrive responsibly: Innovate on cloud that is Open by design
Drive responsibly: Innovate on cloud that is Open by design
 
Openstack Workshop Pakistan (hands on session)
Openstack Workshop Pakistan (hands on session)Openstack Workshop Pakistan (hands on session)
Openstack Workshop Pakistan (hands on session)
 
Extending TripleO for OpenStack Management
Extending TripleO for OpenStack ManagementExtending TripleO for OpenStack Management
Extending TripleO for OpenStack Management
 
Open stack and sdn hands-on and demo
Open stack and sdn hands-on and demoOpen stack and sdn hands-on and demo
Open stack and sdn hands-on and demo
 
OpenStack HA
OpenStack HAOpenStack HA
OpenStack HA
 
Architecture Openstack for the Enterprise
Architecture Openstack for the EnterpriseArchitecture Openstack for the Enterprise
Architecture Openstack for the Enterprise
 
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)Openstack architecture for the enterprise (Openstack Ireland Meet-up)
Openstack architecture for the enterprise (Openstack Ireland Meet-up)
 
openstackreferencearchitecturewhitepaper
openstackreferencearchitecturewhitepaperopenstackreferencearchitecturewhitepaper
openstackreferencearchitecturewhitepaper
 
Openstack components as containerized microservices
Openstack components as containerized microservicesOpenstack components as containerized microservices
Openstack components as containerized microservices
 

Similar a Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture

CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
bizalgo
 
Installing tivoli system automation for high availability of db2 udb bcu on a...
Installing tivoli system automation for high availability of db2 udb bcu on a...Installing tivoli system automation for high availability of db2 udb bcu on a...
Installing tivoli system automation for high availability of db2 udb bcu on a...
Banking at Ho Chi Minh city
 
Seamless migration from nova network to neutron in e bay production
Seamless migration from nova network to neutron in e bay productionSeamless migration from nova network to neutron in e bay production
Seamless migration from nova network to neutron in e bay production
Chengyuan Li
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
purpleocean
 

Similar a Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture (20)

Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
Cloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptusCloud stack vs openstack vs eucalyptus
Cloud stack vs openstack vs eucalyptus
 
Okd wg kubecon marathon azure & vsphere
Okd wg kubecon marathon azure & vsphereOkd wg kubecon marathon azure & vsphere
Okd wg kubecon marathon azure & vsphere
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
 
Powervc upgrade from_1.3.0.2_to_1.3.2.0
Powervc upgrade from_1.3.0.2_to_1.3.2.0Powervc upgrade from_1.3.0.2_to_1.3.2.0
Powervc upgrade from_1.3.0.2_to_1.3.2.0
 
Automating Container Deployments on Virtualization with Ansible: OpenShift on...
Automating Container Deployments on Virtualization with Ansible: OpenShift on...Automating Container Deployments on Virtualization with Ansible: OpenShift on...
Automating Container Deployments on Virtualization with Ansible: OpenShift on...
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
 
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google CloudDrupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
Drupaljam 2017 - Deploying Drupal 8 onto Hosted Kubernetes in Google Cloud
 
Installing tivoli system automation for high availability of db2 udb bcu on a...
Installing tivoli system automation for high availability of db2 udb bcu on a...Installing tivoli system automation for high availability of db2 udb bcu on a...
Installing tivoli system automation for high availability of db2 udb bcu on a...
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Network Automation Tools
Network Automation ToolsNetwork Automation Tools
Network Automation Tools
 
Open Stack compute-service-nova
Open Stack compute-service-novaOpen Stack compute-service-nova
Open Stack compute-service-nova
 
[OpenStack Days Korea 2016] Track2 - OpenStack 기반 소프트웨어 정의 스토리지 기술
[OpenStack Days Korea 2016] Track2 - OpenStack 기반 소프트웨어 정의 스토리지 기술[OpenStack Days Korea 2016] Track2 - OpenStack 기반 소프트웨어 정의 스토리지 기술
[OpenStack Days Korea 2016] Track2 - OpenStack 기반 소프트웨어 정의 스토리지 기술
 
Seamless migration from nova network to neutron in e bay production
Seamless migration from nova network to neutron in e bay productionSeamless migration from nova network to neutron in e bay production
Seamless migration from nova network to neutron in e bay production
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
 
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project CalicoKubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
KubeCon EU 2016: Secure, Cloud-Native Networking with Project Calico
 
Deep drive into Nova
Deep drive into NovaDeep drive into Nova
Deep drive into Nova
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 

Más de Etsuji Nakai

TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
 

Más de Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShiftExploring the Philosophy behind Docker/Kubernetes/OpenShift
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Red Hat Enterprise Linux OpenStack Platform 7 - VM Instance HA Architecture

  • 1. Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Etsuji Nakai Senior Solution Architect and Cloud Evangelist Red Hat K.K. v1.1 2015/11/22
  • 2. 2 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Contents  Architecture summary  Configuration details  Evacuation process  Reference ※ This document is based on RHEL-OSP7 as of 2015/11/22. Details may change due to minor/major updates in the future. We recommend that you would use the Red Hat consultation service for the deployment with the cluster configuration.
  • 4. 4 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture VM HA architecture at a glance. Corosync Pacemaker Pacemaker Remote nova-evacuate Corosync Pacemaker Corosync Pacemaker Call nova-evacuate API for VM instances on compute nodes marked as “need evacuation.” fence-nava Mark a compute node as “need evacuation” during the fencing process. fence-nava ・・・ ・・・ fence-host fence-host ceilometer-compute ovs-agent libvirtd nova-compute Pacemaker Remote ceilometer-compute ovs-agent libvirtd nova-compute Services on compute nodes are managed as pacemaker resources (clone set). Controllers with three-node Cluster configuration Compute nodes Compute nodes are managed as “remote nodes” from the controller cluster. Fence device Pacemaker resource
  • 5. 5 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture What is pacemaker-remote?  Pacemaker-remote allows the cluster nodes to manage “remote nodes” as an extension of them. It allows you to manager resources on more than 16 cluster nodes. Corosync Pacemaker Pacemaker Remote Corosync Pacemaker resource – A lightweight agent called pacemaker_remote runs on the remote node. It communicates with the cluster nodes. – The cluster nodes can manage resources and fence devices on the remote nodes. You can associate any resources on the remote nodes as if they are a part of the cluster. – The remote nodes do not accommodate the corosync daemon, so they don't perform the cluster management functions such as fencing other nodes, quorum voting, etc. – When the cluster nodes detect a failure of a remote node, the failed node will be rebooted or powered off with the fence device. ・・・ resource Pacemaker Remote resource resource ・・・ Cluster nodes Remote nodes
  • 7. 7 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Minimum cluster sample  We will explain configuration details of a sample VM instance HA cluster. Corosync Pacemaker Pacemaker Remote nova-evacuate fence-nava fence-nava fence-host fence-host ceilometer-compute ovs-agent libvirtd nova-compute Pacemaker Remote ceilometer-compute ovs-agent libvirtd nova-compute – The controller cluster consists of a single node for the sake of simplicity. (Three-node cluster is recommended in a production environment.) – There are two compute nodes which are manged as remote nodes with the pacemaker_remote. compute-0 controller-0 compute-1
  • 8. 8 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Cluster definition  controller-0 is defined as a cluster node while compute-0 and compute-1 are defined as remote nodes. – Only controller-0 has the quorum vote. So from the corosync's viewpoint, it's just a single node cluster. # pcs cluster status Cluster Status: Last updated: Sun Nov 22 03:16:01 2015 Last change: Sat Nov 21 02:40:39 2015 by root via cibadmin on controller-0 Stack: corosync Current DC: controller-0 (version 1.1.13-a14efad) - partition with quorum 3 nodes and 126 resources configured Online: [ controller-0 ] RemoteOnline: [ compute-0 compute-1 ] PCSD Status: controller-0: Online
  • 9. 9 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Resource definition  OpenStack services on compute nodes are started as managed resources. – In this example, neutron-ovs-agent, libirtd, ceilometer-compute and nova-compute are defined as managed resources with clone type. (The clone type resources are enabled on multiple nodes in parallel.) # pcs resource ... nova-evacuate (ocf::openstack:NovaEvacuate): Started Clone Set: neutron-openvswitch-agent-compute-clone [neutron-openvswitch-agent-compute] Started: [ compute-0 compute-1 ] Stopped: [ controller-0 ] Clone Set: libvirtd-compute-clone [libvirtd-compute] Started: [ compute-0 compute-1 ] Stopped: [ controller-0 ] Clone Set: ceilometer-compute-clone [ceilometer-compute] Started: [ compute-0 compute-1 ] Stopped: [ controller-0 ] Clone Set: nova-compute-clone [nova-compute] Started: [ compute-0 compute-1 ] Stopped: [ controller-0 ] ...
  • 10. 10 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Resource definition – “nova-evacuate” is a special resource running on the controller nodes which calls the nova-evacuate API for VM instances running on the failed node. Details will be explained later. – As in the definition above, it contains the API authentication information of a specific user which should have an admin authority to evacuate VM instances of all tenants. # pcs resource show nova-evacuate Resource: nova-evacuate (class=ocf provider=openstack type=NovaEvacuate) Attributes: auth_url=http://172.16.0.64:5000/v2.0/ username=demo_admin password=passw0rd tenant_name=demo Operations: start interval=0s timeout=20 (nova-evacuate-start-timeout-20) stop interval=0s timeout=20 (nova-evacuate-stop-timeout-20) monitor interval=10 timeout=600 (nova-evacuate-monitor-interval-10)
  • 11. 11 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Fence devices  controller-0 doesn't have a fence device because it's a single node cluster.  compute-0 and compute-1 have two stacked fence devices. – fence-compute0/1 is a regular fence device to reboot the node. – fence-nova uses “fence_compute” agent to set the attribute of the compute node indicating that “VM instances on this node need to be evacuated.” • It internally runs the following command as a part of the fencing process. (“evacute” seems to be a typo, but it's as in /sbin/fence_compute.) # attrd_updater -n evacute -U yes -N compute-X.localdomain # pcs stonith fence_compute0 (stonith:fence_ipmilan): Started fence_compute1 (stonith:fence_ipmilan): Started fence-nova (stonith:fence_compute): Started Node: compute-0 Level 1 - fence_compute0,fence-nova Node: compute-1 Level 1 - fence_compute1,fence-nova # pcs stonith show fence-nova Resource: fence-nova (class=stonith type=fence_compute) Attributes: domain=localdomain record-only=1 action=off ...
  • 13. 13 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture How does the evacuation work?  Suppose that compute-0 fails. – The pacemaker on the controller nodes detects it and shutdown or reboot the failed node with the regular fence device. – In addition, the “fence-nova” device sets the “evacute” cluster attribute as below. • You can emulate it by executing the following fence_compute command which internally runs the attrd_updater command in the next line. – The “nova-evacuate” resource periodically checks the “evacute” attribute. When it detects value=“yes” for host=”compute-0.localdomain”, it calls the nova-evacuate API for VM instances on the compute-0 which triggers the evacuation of the VM instances. • The “nova-evacuate” uses the authentication information specified in the resource definition. The specified user should have an admin authority which can evacuate VM instances of all tenants. • You can see details of the evacuation process from the resource script /usr/lib/ocf/resource.d/openstack/NovaEvacuate. It internally calls /sbin/fence_compute (without --record-only option) to trigger the evacuation. # fence_compute -d localdomain -o off --record-only -n compute-X # attrd_updater -n evacute -U yes -N compute-X.localdomain # attrd_updater -n evacute -A name="evacute" host="compute-0.localdomain" value="yes"
  • 14. 14 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture Resource constraints  As experienced openstackers can easily understand, the openstack services running on compute nodes have complicated dependencies to work together. In addition, the timing of calling the evacuation API is very important to successfully evacuate the failed VM instances.  As a result, you need to define many constraints for resource location, collocation and ordering. The details are described in the official documents in the reference section.
  • 16. 16 Red Hat Enterprise Linux OpenStack Platform 7 VM Instance HA Architecture References  Highly available virtual machines in RHEL OpenStack Platform 7 – http://redhatstackblog.redhat.com/2015/09/24/highly-available-virtual-machines-in-rhel- openstack-platform-7/  Use High Availability to Protect Instances in Red Hat Enterprise Linux OpenStack Platform 7 – https://access.redhat.com/articles/1544823  Pacemaker Remote Scaling High Availability Clusters – http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html-single/Pacemaker_Remote/  Red Hat Enterprise Linux 7 High Availability Add-On Reference – https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html- single/High_Availability_Add-On_Reference/index.html