SlideShare uma empresa Scribd logo
1 de 27
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

Mais conteúdo relacionado

Mais procurados

Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Professional Software Development, Practices and Ethics
Professional Software Development, Practices and EthicsProfessional Software Development, Practices and Ethics
Professional Software Development, Practices and EthicsLemi Orhan Ergin
 
Hardware requirements
Hardware requirementsHardware requirements
Hardware requirementsDianne Devera
 
Comparing windows vs mac vs linux
Comparing windows vs mac vs linuxComparing windows vs mac vs linux
Comparing windows vs mac vs linuxHan Nguyen Van
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w EngineeringRajan Shah
 
History of Windows Server
History of Windows ServerHistory of Windows Server
History of Windows Serversundas Shabbir
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.pptJAYAPRIYAR7
 
The Basics of Network Troubleshooting
The Basics of Network TroubleshootingThe Basics of Network Troubleshooting
The Basics of Network Troubleshootingzaisahil
 
Server Management
Server ManagementServer Management
Server ManagementDell World
 
Animation in the web
Animation in the webAnimation in the web
Animation in the webVishal Polley
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual MachineRubal Sagwal
 
2.3.- Documentación
2.3.- Documentación2.3.- Documentación
2.3.- DocumentaciónYenny Salazar
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Understanding the Windows Server Administration Fundamentals (Part-1)
Understanding the Windows Server Administration Fundamentals (Part-1)Understanding the Windows Server Administration Fundamentals (Part-1)
Understanding the Windows Server Administration Fundamentals (Part-1)Tuan Yang
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox EnglishKichiemon Adachi
 
Layered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture PatternLayered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture PatternThang Nguyen
 

Mais procurados (20)

Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Professional Software Development, Practices and Ethics
Professional Software Development, Practices and EthicsProfessional Software Development, Practices and Ethics
Professional Software Development, Practices and Ethics
 
Hardware requirements
Hardware requirementsHardware requirements
Hardware requirements
 
Comparing windows vs mac vs linux
Comparing windows vs mac vs linuxComparing windows vs mac vs linux
Comparing windows vs mac vs linux
 
Client server s/w Engineering
Client server s/w EngineeringClient server s/w Engineering
Client server s/w Engineering
 
History of Windows Server
History of Windows ServerHistory of Windows Server
History of Windows Server
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
The Basics of Network Troubleshooting
The Basics of Network TroubleshootingThe Basics of Network Troubleshooting
The Basics of Network Troubleshooting
 
Server Management
Server ManagementServer Management
Server Management
 
Animation in the web
Animation in the webAnimation in the web
Animation in the web
 
Practical Implementation of Virtual Machine
Practical Implementation of Virtual MachinePractical Implementation of Virtual Machine
Practical Implementation of Virtual Machine
 
2.3.- Documentación
2.3.- Documentación2.3.- Documentación
2.3.- Documentación
 
Linux
LinuxLinux
Linux
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
History of Linux.pptx
History of Linux.pptxHistory of Linux.pptx
History of Linux.pptx
 
Understanding the Windows Server Administration Fundamentals (Part-1)
Understanding the Windows Server Administration Fundamentals (Part-1)Understanding the Windows Server Administration Fundamentals (Part-1)
Understanding the Windows Server Administration Fundamentals (Part-1)
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox English
 
Layered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture PatternLayered Architecture - Software Architecture Pattern
Layered Architecture - Software Architecture Pattern
 

Semelhante a 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
 

Semelhante a 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
 

Último

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Último (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

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