SlideShare a Scribd company logo
This presentation is licensed under a Creative Commons Attribution 4.0 International License
Improving Hyperconverged Performance
Denis Chaplygin
Senior Software Engineer
Jan 2018
oVirt overview
oVirt engine
2
● Separate storage
○ Stores VM images
○ Needs to be shared between compute hosts
○ Data availability provided by storage
○ Storage access may not be redundant
● Separate compute hosts
○ Host agent (VDSM) manages VMs, storages and networks
● Engine host is just a VM...
○ ...and Hosted Engine makes it highly available
3
oVirt overview cont’d
4
Gluster overview
BRICK
BRICK
BRICK
BRICK
BRICK
BRICK
BRICK
BRICK
BRICK
GLUSTER
SERVER
GLUSTER
SERVER
GLUSTER
SERVER
VOLUME
VOLUME
VOLUME
● GlusterFS is a general purpose, scale-out, distributed
file-system supporting thousands of clients
● Aggregates storage exports over network connection
to provide a single unified namespace
● File-system completely in userspace, runs on
commodity hardware
● Gluster cluster is a collection of storage servers
5
Gluster overview cont’d
Two Plus Two Equals Five
● oVirt + Self Hosted Engine + GlusterFS
● Gluster volumes are oVirt storage domains
● Same nodes used to
○ Host the engine
○ Run payload VMs
○ Provide shared storage
● And now, storage (thanks to Gluster), is highly available and redundant
6
Hyperconverged - Integration of oVirt and Gluster.
The problem: VM data on the shared fs
7
8
oVirt VM disk image store
Host
Shared storage
VM
VM Disk image
Storage domain
9
oVirt VM disk image store cont’d
● VMs disk images are stored on a shared storage, either block-
based or file-based
● VDSM mounts storage domains on the each host
● Storage domain is a special on-disk data structure, containing
some metadata alongside VM data
● In the case of the filesystem-based storage, VMs are configured to
use files in that directory as their drive images
10
oVirt VM disk image store cont’d
VM typical FOP Flow
11
VM
QEMU
VFS FUSE
GLUSTER
CLIENT
GLUSTER
VOLUME
Host Gluster server
User
space
Kernel
space
Direct gluster access with libgfapi
12
● libgfapi is a userspace library for accessing data in
glusterfs
● No FUSE mount required
● Speed and latency have improved due to less
overhead
● In the post-Meltdown world, context switches are very
expensive
13
LibGfApi overview
VM disk access path with libgfapi
14
VM
QEMU
VFS FUSE
GLUSTER
CLIENT
GLUSTER
VOLUME
Host Gluster Server
User
Space
Kernel
Space
● QEMU has a GlusterFS block driver that uses libgfapi
● FUSE overhead no longer exists when QEMU works with VM
images on gluster volumes
● gluster[+transport]://[server[:port]]/volname/image[?socket=...]
● Unfortunately, libgfapi support is a little bit limited:
○ Multiple servers can not be specified
○ Migrations between network and non-network drives are not
yet possible
15
LibGfApi QEMU integration
● Concept of a disk type - we can’t use a binary
(file/block) logic anymore
● Special handling of ‘network’ disk types during VM
creation
● Supports changing disk type on the fly during storage
migrations
● Support for other operations, which earlier required
actual presence of a file
16
LibGfApi VDSM support
● Libgfapi support should be switchable at the engine or
cluster level
● libgfapi support is only available in newer VDSM
○ On older version of VDSM, the engine has to detect
and disable the libgfapi feature
● Gluster support during initial VM creation
17
LibGfApi engine support
● Supported on oVirt 4.2 or oVirt 4.1, starting from v4.1.6
● VM restart is required
18
Enabling libgfapi
root# engine-config -s LibgfApiSupported=true --cver=4.2
Performance benchmarking
19
Worst case scenario:
● 50/50 reads/writes
● 4k blocks
● Latency kept below 10 ms
● 5% increase on IOPS with single brick volume
● 10% increase on IOPS with replica 3 volume
20
IOPS
21
IOPS cont’d
Same scenario as for IOPS
● Just 2% increase of
bandwidth on the single brick
volume
● Huge 22% increase of
bandwidth on the replica 3
volume
22
Bandwidth
● MySQL database running DVD store simulator test
suite inside a VM
● Compared an average number of transactions per
minute, with and without libgfapi enabled
23
Realistic workload
● Under low-to-moderate load (10-20 simultaneous
clients), increase of transactions per minute with
libgfapi enabled is about 11%
● Under higher load (80 simultaneous clients),
increase of transactions per minute with libgfapi
enabled is about 24%
24
Realistic workload - Results
25
Realistic workload - Results
26
Summary
● Combining two projects can give you more than just their sum
● Treating gluster as a typical network filesystem, as NFS for
example, introduces some overhead and disadvantages
○ Fortunately, gluster has a special, userspace-only, library for
direct file access
● Removing FUSE overhead gives you up to a 24% performance
boost under database load for free
This presentation is licensed under a Creative Commons Attribution 4.0 International License
THANK YOU
http://www.ovirt.org
dchaplyg@redhat.com

More Related Content

What's hot

Linux red hat overview and installation
Linux red hat overview and installationLinux red hat overview and installation
Linux red hat overview and installationdevenderbhati
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
Chapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File SystemsChapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File Systemsaskme
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Introduction to Linux
Introduction to Linux Introduction to Linux
Introduction to Linux Harish R
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging96Boards
 
Chapter06 Managing Disks And Data Storage
Chapter06      Managing  Disks And  Data  StorageChapter06      Managing  Disks And  Data  Storage
Chapter06 Managing Disks And Data StorageRaja Waseem Akhtar
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)udamale
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
Udev for Device Management in Linux
Udev for Device Management in Linux Udev for Device Management in Linux
Udev for Device Management in Linux Deepak Soundararajan
 
HKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEEHKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEELinaro
 
Cvim half precision floating point
Cvim half precision floating pointCvim half precision floating point
Cvim half precision floating pointtomoaki0705
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to BottomKernel TLV
 
Microsoft Windows Operating System.
Microsoft Windows Operating System.Microsoft Windows Operating System.
Microsoft Windows Operating System.Swathi Vishwa
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 

What's hot (20)

Linux red hat overview and installation
Linux red hat overview and installationLinux red hat overview and installation
Linux red hat overview and installation
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Wsus best practices
Wsus best practicesWsus best practices
Wsus best practices
 
Chapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File SystemsChapter 9: SCSI Drives and File Systems
Chapter 9: SCSI Drives and File Systems
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Introduction to Linux
Introduction to Linux Introduction to Linux
Introduction to Linux
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
 
Chapter06 Managing Disks And Data Storage
Chapter06      Managing  Disks And  Data  StorageChapter06      Managing  Disks And  Data  Storage
Chapter06 Managing Disks And Data Storage
 
NFS(Network File System)
NFS(Network File System)NFS(Network File System)
NFS(Network File System)
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Udev for Device Management in Linux
Udev for Device Management in Linux Udev for Device Management in Linux
Udev for Device Management in Linux
 
HKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEEHKG18-402 - Build secure key management services in OP-TEE
HKG18-402 - Build secure key management services in OP-TEE
 
Kali linux os
Kali linux osKali linux os
Kali linux os
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Cvim half precision floating point
Cvim half precision floating pointCvim half precision floating point
Cvim half precision floating point
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
OpenWrt From Top to Bottom
OpenWrt From Top to BottomOpenWrt From Top to Bottom
OpenWrt From Top to Bottom
 
Microsoft Windows Operating System.
Microsoft Windows Operating System.Microsoft Windows Operating System.
Microsoft Windows Operating System.
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 

Similar to Improving hyperconverged performance

20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmapGluster.org
 
20160401 Gluster-roadmap
20160401 Gluster-roadmap20160401 Gluster-roadmap
20160401 Gluster-roadmapGluster.org
 
20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmapGluster.org
 
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013Gluster.org
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatSean Cohen
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatCloud Native Day Tel Aviv
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsNeependra Khare
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdoseGluster.org
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdoseGluster.org
 
OpenShift.io on Gluster
OpenShift.io on GlusterOpenShift.io on Gluster
OpenShift.io on Glustermountpoint.io
 
Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia DatabasesJaime Crespo
 
Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ramesh Nachimuthu
 
Celi @Codemotion 2014 - Roberto Franchini GlusterFS
Celi @Codemotion 2014 - Roberto Franchini GlusterFSCeli @Codemotion 2014 - Roberto Franchini GlusterFS
Celi @Codemotion 2014 - Roberto Franchini GlusterFSCELI
 
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013Gluster.org
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Gluster.org
 
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Binary Studio
 
Persistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSPersistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSHumble Chirammal
 
Accelerate with ibm storage ibm spectrum virtualize hyper swap deep dive
Accelerate with ibm storage  ibm spectrum virtualize hyper swap deep diveAccelerate with ibm storage  ibm spectrum virtualize hyper swap deep dive
Accelerate with ibm storage ibm spectrum virtualize hyper swap deep divexKinAnx
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Gluster.org
 

Similar to Improving hyperconverged performance (20)

Make room! Make room!
Make room! Make room!Make room! Make room!
Make room! Make room!
 
20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmap
 
20160401 Gluster-roadmap
20160401 Gluster-roadmap20160401 Gluster-roadmap
20160401 Gluster-roadmap
 
20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmap
 
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
 
Deep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red HatDeep dive into OpenStack storage, Sean Cohen, Red Hat
Deep dive into OpenStack storage, Sean Cohen, Red Hat
 
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red HatDeep Dive into Openstack Storage, Sean Cohen, Red Hat
Deep Dive into Openstack Storage, Sean Cohen, Red Hat
 
Performance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fsPerformance characterization in large distributed file system with gluster fs
Performance characterization in large distributed file system with gluster fs
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
OpenShift.io on Gluster
OpenShift.io on GlusterOpenShift.io on Gluster
OpenShift.io on Gluster
 
Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia Databases
 
Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016
 
Celi @Codemotion 2014 - Roberto Franchini GlusterFS
Celi @Codemotion 2014 - Roberto Franchini GlusterFSCeli @Codemotion 2014 - Roberto Franchini GlusterFS
Celi @Codemotion 2014 - Roberto Franchini GlusterFS
 
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013
Gluster fs architecture_&_roadmap-vijay_bellur-linuxcon_eu_2013
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
 
Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1Academy PRO: Docker. Part 1
Academy PRO: Docker. Part 1
 
Persistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFSPersistent Storage in Openshift using GlusterFS
Persistent Storage in Openshift using GlusterFS
 
Accelerate with ibm storage ibm spectrum virtualize hyper swap deep dive
Accelerate with ibm storage  ibm spectrum virtualize hyper swap deep diveAccelerate with ibm storage  ibm spectrum virtualize hyper swap deep dive
Accelerate with ibm storage ibm spectrum virtualize hyper swap deep dive
 
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
 

Recently uploaded

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockSkilrock Technologies
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring SoftwareMera Monitor
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfDeskTrack
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion Clinic
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfFurqanuddin10
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)Max Lee
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 

Recently uploaded (20)

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Benefits of Employee Monitoring Software
Benefits of  Employee Monitoring SoftwareBenefits of  Employee Monitoring Software
Benefits of Employee Monitoring Software
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 

Improving hyperconverged performance

  • 1. This presentation is licensed under a Creative Commons Attribution 4.0 International License Improving Hyperconverged Performance Denis Chaplygin Senior Software Engineer Jan 2018
  • 3. ● Separate storage ○ Stores VM images ○ Needs to be shared between compute hosts ○ Data availability provided by storage ○ Storage access may not be redundant ● Separate compute hosts ○ Host agent (VDSM) manages VMs, storages and networks ● Engine host is just a VM... ○ ...and Hosted Engine makes it highly available 3 oVirt overview cont’d
  • 5. ● GlusterFS is a general purpose, scale-out, distributed file-system supporting thousands of clients ● Aggregates storage exports over network connection to provide a single unified namespace ● File-system completely in userspace, runs on commodity hardware ● Gluster cluster is a collection of storage servers 5 Gluster overview cont’d
  • 6. Two Plus Two Equals Five ● oVirt + Self Hosted Engine + GlusterFS ● Gluster volumes are oVirt storage domains ● Same nodes used to ○ Host the engine ○ Run payload VMs ○ Provide shared storage ● And now, storage (thanks to Gluster), is highly available and redundant 6 Hyperconverged - Integration of oVirt and Gluster.
  • 7. The problem: VM data on the shared fs 7
  • 8. 8 oVirt VM disk image store Host Shared storage VM VM Disk image Storage domain
  • 9. 9 oVirt VM disk image store cont’d
  • 10. ● VMs disk images are stored on a shared storage, either block- based or file-based ● VDSM mounts storage domains on the each host ● Storage domain is a special on-disk data structure, containing some metadata alongside VM data ● In the case of the filesystem-based storage, VMs are configured to use files in that directory as their drive images 10 oVirt VM disk image store cont’d
  • 11. VM typical FOP Flow 11 VM QEMU VFS FUSE GLUSTER CLIENT GLUSTER VOLUME Host Gluster server User space Kernel space
  • 12. Direct gluster access with libgfapi 12
  • 13. ● libgfapi is a userspace library for accessing data in glusterfs ● No FUSE mount required ● Speed and latency have improved due to less overhead ● In the post-Meltdown world, context switches are very expensive 13 LibGfApi overview
  • 14. VM disk access path with libgfapi 14 VM QEMU VFS FUSE GLUSTER CLIENT GLUSTER VOLUME Host Gluster Server User Space Kernel Space
  • 15. ● QEMU has a GlusterFS block driver that uses libgfapi ● FUSE overhead no longer exists when QEMU works with VM images on gluster volumes ● gluster[+transport]://[server[:port]]/volname/image[?socket=...] ● Unfortunately, libgfapi support is a little bit limited: ○ Multiple servers can not be specified ○ Migrations between network and non-network drives are not yet possible 15 LibGfApi QEMU integration
  • 16. ● Concept of a disk type - we can’t use a binary (file/block) logic anymore ● Special handling of ‘network’ disk types during VM creation ● Supports changing disk type on the fly during storage migrations ● Support for other operations, which earlier required actual presence of a file 16 LibGfApi VDSM support
  • 17. ● Libgfapi support should be switchable at the engine or cluster level ● libgfapi support is only available in newer VDSM ○ On older version of VDSM, the engine has to detect and disable the libgfapi feature ● Gluster support during initial VM creation 17 LibGfApi engine support
  • 18. ● Supported on oVirt 4.2 or oVirt 4.1, starting from v4.1.6 ● VM restart is required 18 Enabling libgfapi root# engine-config -s LibgfApiSupported=true --cver=4.2
  • 20. Worst case scenario: ● 50/50 reads/writes ● 4k blocks ● Latency kept below 10 ms ● 5% increase on IOPS with single brick volume ● 10% increase on IOPS with replica 3 volume 20 IOPS
  • 22. Same scenario as for IOPS ● Just 2% increase of bandwidth on the single brick volume ● Huge 22% increase of bandwidth on the replica 3 volume 22 Bandwidth
  • 23. ● MySQL database running DVD store simulator test suite inside a VM ● Compared an average number of transactions per minute, with and without libgfapi enabled 23 Realistic workload
  • 24. ● Under low-to-moderate load (10-20 simultaneous clients), increase of transactions per minute with libgfapi enabled is about 11% ● Under higher load (80 simultaneous clients), increase of transactions per minute with libgfapi enabled is about 24% 24 Realistic workload - Results
  • 26. 26 Summary ● Combining two projects can give you more than just their sum ● Treating gluster as a typical network filesystem, as NFS for example, introduces some overhead and disadvantages ○ Fortunately, gluster has a special, userspace-only, library for direct file access ● Removing FUSE overhead gives you up to a 24% performance boost under database load for free
  • 27. This presentation is licensed under a Creative Commons Attribution 4.0 International License THANK YOU http://www.ovirt.org dchaplyg@redhat.com