[go: up one dir, main page]

0% found this document useful (0 votes)
117 views30 pages

Ovirt and Gluster Hyper-Converged!: Ha Solution For Maximum Resource Utilization

This document discusses using oVirt and GlusterFS to create a hyper-converged infrastructure with high availability. Key points: 1) oVirt manages virtual machines, storage and networks, while GlusterFS provides distributed, replicated storage across multiple servers. 2) Using hosted engine allows oVirt management to run inside a VM for high availability. 3) Combining oVirt and GlusterFS allows the servers to provide both compute and storage, eliminating single points of failure for a highly available solution. 4) The document provides instructions for setting up a GlusterFS volume for use as storage by the hosted oVirt engine virtual machine.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views30 pages

Ovirt and Gluster Hyper-Converged!: Ha Solution For Maximum Resource Utilization

This document discusses using oVirt and GlusterFS to create a hyper-converged infrastructure with high availability. Key points: 1) oVirt manages virtual machines, storage and networks, while GlusterFS provides distributed, replicated storage across multiple servers. 2) Using hosted engine allows oVirt management to run inside a VM for high availability. 3) Combining oVirt and GlusterFS allows the servers to provide both compute and storage, eliminating single points of failure for a highly available solution. 4) The document provides instructions for setting up a GlusterFS volume for use as storage by the hosted oVirt engine virtual machine.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

oVirt and Gluster hyper-converged!

HA solution for maximum resource utilization

31st of Jan 2016

Martin Sivák
Senior Software Engineer
Red Hat Czech

FOSDEM, Jan 2016 1


Agenda

● (Storage) architecture of oVirt


● Possible failure points in standard oVirt setup
● Hosted engine refresher and improvements
● Gluster in a nutshell
● Putting it all together – hyper converged infrastructure
● Architecture
● Setup
● Management

FOSDEM, Jan 2016 2


oVirt and its Architecture

oVirt is a virtualization platform

Engine
to manage virtual machines,
storage and networks
● Engine (ovirt-engine)
Manages the oVirt hosts, and allows

Clusters
system administrators to create and
deploy new VMs
Cluster Hosts
● Host Agent (VDSM)
oVirt engine communicates with
VSDM to manage the VMs, storages
and networks
Storage

Storage Server Storage Server

FOSDEM, Jan 2016 3


oVirt storage
● Storage Domains

Engine
● Centralized storage system (images,
templates, etc.)
● A standalone storage entity
● Stores the images and associated
metadata

Clusters
● Only real persistent storage for
VDSM
VDSM Hosts
● Used for synchronization (sanlock)

● Storage types Storage


● NFS, FCP, iSCSI
● Gluster
Storage Domain Storage Domain

FOSDEM, Jan 2016 4


Possible failure points
● Engine machine

Engine
● Single point of failure
● Cluster paralyzed without engine

● Storage connection

Clusters
● Data safe but unreachable
● All synchronization in oVirt is storage VDSM Hosts
based
● neither NFS nor iSCSI provide
redundancy
Storage Pool

Storage Domain Storage Domain

FOSDEM, Jan 2016 5


Removing failure points

● Single ovirt-engine host manages the whole datacenter


● Using a VM to run ovirt-engine reduces HW failure risks
→ Hosted Engine

● Single storage access infrastructure provides data


● Data itself are safe – can be replicated using RAID
● Infrastructure is not – distributed access mechanism is
needed
→ Gluster

FOSDEM, Jan 2016 6


Hosted engine

● Management running

Engine
inside a VM
● Can be migrated to a
different node
● High availability

Clusters
● Special agent for VDSM Hosts

monitoring
● Storage based
synchronization Storage Pool

Storage Domain Storage Domain


● Bootstrap deployment
needed FOSDEM, Jan 2016 7
Improvements needed for HC

● GlusterFS support re-added to setup


● With gfapi support!
● oVirt-engine appliance
● preconfigured management VM
● cloud-init based customization
● Shared configuration
● all nodes see the same configuration data
● upgrade path from oVirt 3.5
● Management GUI for the oVirt-engine VM and HE

FOSDEM, Jan 2016 8


GlusterFS and its Architecture
● GlusterFS is a general purpose scale-out distributed file-system
supporting thousands of clients
● Aggregates storage exports over network interconnect to
provide a single unified namespace
● File-system
completely in
userspace, runs on
commodity hardware
● Layered on disk file
systems that support
extended attributes

FOSDEM, Jan 2016 9


GlusterFS Bricks

● A brick is an export directory located on a specific node


(e.g. host-01:/srv/fs1/brick1)
● Each brick inherits limits of the underlying file-system
● No limit on the number bricks per node (as best-
practice each brick in a cluster should be of the same
size)

/srv/fs1/brick1 /srv/fs1/brick2 /srv/fs2/brick3


File-System: /srv/fs1 /srv/fs2

Block Device: /dev/dm-1 /dev/dm-2

FOSDEM, Jan 2016 10


GlusterFS Volumes

● A volume (the mountable entity) is a logical collection of


bricks
● Bricks from the same node can be part of different volumes
● Different types of Volumes
● Distribute, Stripe, Replicate (+ combinations), Quorum
● Type of a volume is specified at the time of volume creation
and determines how and where data is placed

Volume1
Distribute/Stripe/Replicate

host01:/srv/fs1/brick1 host02:/srv/fs1/brick1 host03:/srv/fs1/brick1

FOSDEM, Jan 2016 11


QEMU libgfapi Support

● GlusterFS exposes APIs for accessing Gluster


volumes
● Reduces context switches

FUSE Access Client Server

QEMU
GlusterFS Gluster Brick

Userspace Userspace
Kernel Kernel
Net Net

Kernel VFS /dev/fuse File-System

FOSDEM, Jan 2016 12


QEMU libgfapi Support

● GlusterFS exposes APIs for accessing Gluster


volumes
● Reduces context switches

libgfapi Access Client Server

QEMU
Gluster Brick

Userspace Userspace
Kernel Kernel
Net Net

File-System

But see: https://bugzilla.redhat.com/show_bug.cgi?id=1247933


FOSDEM, Jan 2016 13
Puting it all together

● oVirt cluster
● Glusterfs backed storage domain
● Hosted engine to maintain HA of the management
● Pre-configured management using an OVF image

Are you feeling lucky?


Due to unexpected issues the automatic HC
deployment was removed from 3.6. It is still
possible to configure most of the HC setup manually.

FOSDEM, Jan 2016 14


Hyperconverged oVirt – GlusterFS
● The Data Center nodes are Experimental
used both for virtualization and

VMs and Storage with Engine inside a VM


serving replicated images from
the GlusterFS Bricks
● Engine runs inside a VM
(Hosted Engine)
● The boxes can be
standardized (hardware and
deployment) for easy addition GlusterFS Volume
and replacement
● Support for both scaling up,
adding more disks, and scaling Bricks Bricks Bricks

out, adding more hosts

FOSDEM, Jan 2016 15


Hyper converged setup – ingredients

● at least 3 virtualization capable hosts (CentOS 7.1+)


● 10 GB of temporary space on the primary host
● two separate partitions for data (20GB+) on all hosts
● DHCP configured to map a MAC address to a fixed IP
● DNS configured with A and PTR names for the IP
● oVirt release package installed on all hosts
http://resources.ovirt.org/pub/yum-repo/ovirt-release36.rpm

● Physical console on the primary host or network


access and screen package installed

FOSDEM, Jan 2016 16


Gluster volume setup

● Replica 3 volume required


# execute on all hosts
yum install glusterfs-server
systemctl enable glusterfs-server
systemctl start glusterfs-server
mkdir -p /srv/gluster/hosted-engine/brick

# Execute on the first host you are going to deploy


gluster peer probe <address another host> # for each host in the HC cluster
gluster volume create hosted-engine replica 3 \
<host1>:/srv/gluster/hosted-engine/brick \
<host2>:/srv/gluster/hosted-engine/brick \
<host3>:/srv/gluster/hosted-engine/brick \
...
gluster volume start hosted-engine

● This step will be automated by the setup tool once


remaining bugs are solved
FOSDEM, Jan 2016 17
Gluster volume setup – cont.

# Execute on the first host you are going to deploy


gluster volume set hosted-engine cluster.quorum-type auto
gluster volume set hosted-engine network.ping-timeout 10
gluster volume set hosted-engine auth.allow \*
gluster volume set hosted-engine group virt
gluster volume set hosted-engine storage.owner-uid 36
gluster volume set hosted-engine storage.owner-gid 36

# Optionally you can tweak the gluster volume a bit more..


gluster volume set hosted-engine features.shard on
gluster volume set hosted-engine features.shard-block-size 512MB
gluster volume set hosted-engine cluster.data-self-heal-algorithm full
gluster volume set hosted-engine performance.low-prio-threads 32

FOSDEM, Jan 2016 18


Hosted engine - recipe

yum install -y ovirt-engine-appliance ovirt-hosted-engine-setup


yum install -y vdsm-gluster glusterfs-server
ovirt-hosted-engine-setup
...
Please specify the storage you would like to use: glusterfs
Please specify the full shared storage connection path to use: <ip1>:/hosted-engine
[INFO] GlusterFS replica 3 Volume detected
...

Please specify the device to boot the VM from [disk]: disk


The following appliance have been found on your system:
[1] – The oVirt Engine Appliance image (OVA) – 20150802.0-1.el7.centos
[2] – Directly select an OVA file
Please select an appliance (1, 2): 1
...
Please specify the memory size of the appliance in MB: 16384
Would you like to use cloud-init to customize the appliance on the first boot?: Yes
Please provide the FQDN you would like to use for the engine appliance: <engine fqdn>
...

FOSDEM, Jan 2016 19


Hosted engine - recipe

...
You may specify a unicast MAC address for the VM: <MAC assoc. with the FQDN>
...

--== Configuration Preview ==--


...
Please confirm installation settings: Yes
...

● Quite lot of questions and lines were omitted for brevity, but the answers to those
are not “too important” for successful installation of hosted engine.
● You can watch a full appliance installation (using NFS storage) video on YouTube:
https://www.youtube.com/watch?v=ODJ_UO7U1WQ

FOSDEM, Jan 2016 20


Finishing setup of the oVirt cluster

● You should now have a running single node oVirt


● Log in to the management
● Make sure Gluster support is enabled
● Add remaining nodes
● Create and add the main storage domain

FOSDEM, Jan 2016 21


Enabling GlusterFS

● Gluster Service support


is located in the Cluster
properties
● Deploy Hosts with
GlusterFS Server
support
● Enable Bricks and
Volume Management
from oVirt WebAdmin
and REST-API
● Engine is not taking in consideration GlusterFS on
Virtualization Power-Saving policies and Fencing yet

FOSDEM, Jan 2016 22


Adding additional nodes

● Simple checkbox during in the Add host dialog


● Host deploy script does everything else auto-magically

FOSDEM, Jan 2016 23


Adding Gluster storage

● It is possible to create and manage Gluster Volumes


from WebAdmin and using the REST-API

● Volume Profiling
● Volume Capacity Monitoring

FOSDEM, Jan 2016 24


Done!

Now just add the volume as a new storage domain,


wait for data center to initialize and enjoy your new HA
setup.

The next important topic is management ...

FOSDEM, Jan 2016 25


Engine's VM management

● Support for editing the Hosted Engine VM


● Memory and CPU allocation, network configuration
● Work in progress..

● Distributed to all hosted engine nodes using OVF file


on the storage domain
● Hosted engine daemons pick up the configuration
when the management VM is restarted

FOSDEM, Jan 2016 26


Hosted engine management

● Reporting configuration
● State transitions
● SMTP details
● Timeout configuration
● Allowed downtime before forced recovery
● Host scoring constants and rules

FOSDEM, Jan 2016 27


What is missing from oVirt 3.6?

● Automated hyper-converged setup


● Removed at the last moment because of unresolved issues
● Full support for managing the oVirt engine VM
● Missed the feature deadline, will be available soon
● Hosted engine configuration UI

● Support for multiple Gluster brick servers not ideal


● issue with VM startup – see qemu bug #1247933
● but HA properly maintained during operation

FOSDEM, Jan 2016 28


THANK YOU !
http://wiki.ovirt.org/wiki/Category:SLA
users@ovirt.org
devel@ovirt.org

#ovirt irc.oftc.net

FOSDEM, Jan 2016 29


Links

● http://blogs-ramesh.blogspot.in/2016/01/ovirt-and-
gluster-hyperconvergence.html

FOSDEM, Jan 2016 30

You might also like