SlideShare a Scribd company logo
Glusterfs Session #9
Index xlator
Scope
- Why do we need index xlator
- How does index xlator work?
- On fs layout of indices
- What types of indices exist already
- How do the consumers use indices
- Future improvements that can be done in index xlator
Why do we need index xlator
- 10 years back healing was happening by doing a full filesystem scan and
doing lookups on the files/directories
- This was extremely inefficient as most of the times the bricks would be down
for brief periods of time.
- It was not easy to identify the files/directories that need heal without crawling
the entire glusterfs filesystem.
- So we needed an index of files/directories that need to be healed
On fs layout of indices
- Indices are local to a brick and generally maintain status of files/directories
present only on that brick
- Each directory has .glusterfs/indices directory in which different types of
indices will be present
- Demo
On fs layout indices continued
- Each index will have a base index
- Any new index that needs to be indexed will become a hardlink to the base
index
- If the underlying filesystem imposes a maximum hardlink limit, then a new
base index will be created upon reaching this limit
What types of indices are present at the moment
- Afr uses xattrop based indices
- Dirty - Files/directories that are undergoing changes
- Xattrop - files/directories that need heal
- Entry-changes - granular file entries that need to be healed in a directory
- EC uses xattrop based indices
- Xattrop - files/directories that need heal and that are undergoing
changes.
How are indices consumed?
- Most of the current consumers are self-heal daemons from either afr/ec
modules
- Every X seconds, self-heal daemon will check its local brick indices to see if
any heal has to be performed by performing opendir/readdir on the indices
directory.
- Once it completes these heals, index will be removed.
How are indices consumed - Contd
- In readdirp afr will send inode attributes based on if the index has heals are
not.
Future improvements
- If the number of entries to heal increases by a lot(Of the order of millions),
performance of adding/removing to the index may take a while based on the
underlying File system’s implementation of directory.
- For example, ZFS doesn’t shrink directory sizes after removing files, which
may cause ls on the directory to be slow which can cause I/O also to be slow
in some cases. (https://github.com/gluster/glusterfs/issues/1764)
- One way to solve this problem is to bring in some sort of hierarchy to divide
up the number of entries into separate directories like we have in .glusterfs
Q & A

More Related Content

PDF
Glusterfs session #2 1 layer above disk filesystems
Pranith Karampuri
 
PDF
Glusterfs session #5 inode t, fd-t lifecycles
Pranith Karampuri
 
PDF
Glusterfs session #8 memory tracking infra, io-threads
Pranith Karampuri
 
PDF
Glusterfs session #1 disk filesystems
Pranith Karampuri
 
PDF
Gluster dev session #3 xlator interface
Pranith Karampuri
 
PDF
Glusterfs session #10 locks xlator inodelks
Pranith Karampuri
 
PDF
Glusterfs session #13 replication introduction
Pranith Karampuri
 
ODP
Comparison between OCFS2 and GFS2
Gang He
 
Glusterfs session #2 1 layer above disk filesystems
Pranith Karampuri
 
Glusterfs session #5 inode t, fd-t lifecycles
Pranith Karampuri
 
Glusterfs session #8 memory tracking infra, io-threads
Pranith Karampuri
 
Glusterfs session #1 disk filesystems
Pranith Karampuri
 
Gluster dev session #3 xlator interface
Pranith Karampuri
 
Glusterfs session #10 locks xlator inodelks
Pranith Karampuri
 
Glusterfs session #13 replication introduction
Pranith Karampuri
 
Comparison between OCFS2 and GFS2
Gang He
 

What's hot (19)

ODP
LSA2 - 02 Namespaces
Marian Marinov
 
PDF
Asterisk (IP-PBX) CDR Log Rotation
William Lee
 
PPTX
Managing Containerized HPC and AI Workloads on TSUBAME3.0
Ian Lumb
 
PPTX
Univa and SUSE at SC17: Scaling Machine Learning for SUSE Linux Containers, S...
Ian Lumb
 
PDF
Integrating GlusterFS with iSCSI Target
ijsrd.com
 
PPTX
Introduction to cStor replica - Contributors Meet 5th Oct 2018
OpenEBS
 
PDF
MongoDb scalability and high availability with Replica-Set
Vivek Parihar
 
PDF
Fun with FUSE
Kernel TLV
 
PDF
XtraDB 5.6 and 5.7: Key Performance Algorithms
Laurynas Biveinis
 
PDF
AOS Lab 2: Hello, xv6!
Zubair Nabi
 
PDF
The TCP/IP stack in the FreeBSD kernel COSCUP 2014
Kevin Lo
 
PPTX
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
PDF
XtraDB 5.7: key performance algorithms
Laurynas Biveinis
 
PDF
Life as a GlusterFS Consultant with Ivan Rossi
Gluster.org
 
PDF
SFScon19 - Davide Montesin - Why you should consider using btrfs
South Tyrol Free Software Conference
 
PPT
Lecture2
tt_aljobory
 
PPT
Cassandra4hadoop
Edward Capriolo
 
PPT
Tokyo Cabinet
André Mayer
 
LSA2 - 02 Namespaces
Marian Marinov
 
Asterisk (IP-PBX) CDR Log Rotation
William Lee
 
Managing Containerized HPC and AI Workloads on TSUBAME3.0
Ian Lumb
 
Univa and SUSE at SC17: Scaling Machine Learning for SUSE Linux Containers, S...
Ian Lumb
 
Integrating GlusterFS with iSCSI Target
ijsrd.com
 
Introduction to cStor replica - Contributors Meet 5th Oct 2018
OpenEBS
 
MongoDb scalability and high availability with Replica-Set
Vivek Parihar
 
Fun with FUSE
Kernel TLV
 
XtraDB 5.6 and 5.7: Key Performance Algorithms
Laurynas Biveinis
 
AOS Lab 2: Hello, xv6!
Zubair Nabi
 
The TCP/IP stack in the FreeBSD kernel COSCUP 2014
Kevin Lo
 
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
XtraDB 5.7: key performance algorithms
Laurynas Biveinis
 
Life as a GlusterFS Consultant with Ivan Rossi
Gluster.org
 
SFScon19 - Davide Montesin - Why you should consider using btrfs
South Tyrol Free Software Conference
 
Lecture2
tt_aljobory
 
Cassandra4hadoop
Edward Capriolo
 
Tokyo Cabinet
André Mayer
 
Ad

Similar to Glusterfs session #9 index xlator (18)

PDF
Trying and evaluating the new features of GlusterFS 3.5
Keisuke Takahashi
 
PDF
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
degarden
 
PDF
Glusterfs session #17 self heal daemon data, metadata, entry healing
Pranith Karampuri
 
PDF
Why btrfs is the Bread and Butter of Filesystems
degarden
 
ODP
20160130 Gluster-roadmap
Gluster.org
 
PDF
Gluster fs current_features_and_roadmap
Gluster.org
 
PDF
Gluster fs current_features_and_roadmap
Gluster.org
 
PDF
Distributed File Systems
Manish Chopra
 
PDF
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
Codemotion
 
PDF
GlusterFs: a scalable file system for today's and tomorrow's big data
Roberto Franchini
 
PDF
Btrfs: Design, Implementation and the Current Status
Lukáš Czerner
 
PDF
GlusterFS Update and OpenStack Integration
Etsuji Nakai
 
PPTX
Root file system
Bindu U
 
PPT
101 4.2 maintain the integrity of filesystems
Acácio Oliveira
 
PDF
BiTteRsweet FS
Asociatia ProLinux
 
PDF
Gluster fs architecture_&_roadmap_atin_punemeetup_2015
Atin Mukherjee
 
PDF
Making distributed storage easy: usability in Ceph Luminous and beyond
Sage Weil
 
PDF
State of the_gluster_-_lceu
Gluster.org
 
Trying and evaluating the new features of GlusterFS 3.5
Keisuke Takahashi
 
LinuxCon_2013_NA_Eckermann_Filesystems_btrfs.pdf
degarden
 
Glusterfs session #17 self heal daemon data, metadata, entry healing
Pranith Karampuri
 
Why btrfs is the Bread and Butter of Filesystems
degarden
 
20160130 Gluster-roadmap
Gluster.org
 
Gluster fs current_features_and_roadmap
Gluster.org
 
Gluster fs current_features_and_roadmap
Gluster.org
 
Distributed File Systems
Manish Chopra
 
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
Codemotion
 
GlusterFs: a scalable file system for today's and tomorrow's big data
Roberto Franchini
 
Btrfs: Design, Implementation and the Current Status
Lukáš Czerner
 
GlusterFS Update and OpenStack Integration
Etsuji Nakai
 
Root file system
Bindu U
 
101 4.2 maintain the integrity of filesystems
Acácio Oliveira
 
BiTteRsweet FS
Asociatia ProLinux
 
Gluster fs architecture_&_roadmap_atin_punemeetup_2015
Atin Mukherjee
 
Making distributed storage easy: usability in Ceph Luminous and beyond
Sage Weil
 
State of the_gluster_-_lceu
Gluster.org
 
Ad

More from Pranith Karampuri (8)

PDF
Glusterfs session #18 intro to fuse and its trade offs
Pranith Karampuri
 
PDF
Glusterfs session #12 locks xlator posixlk
Pranith Karampuri
 
PDF
Glusterfs session #16 self-heal daemon ( for replication)
Pranith Karampuri
 
PDF
Glusterfs session #14 replication update fops
Pranith Karampuri
 
PDF
Glusterfs session #11 locks xlator entrylks
Pranith Karampuri
 
PDF
Glusterfs session #7 client, server interactions
Pranith Karampuri
 
PDF
Gluster dev session #6 understanding gluster's network communication layer
Pranith Karampuri
 
PDF
Glusterfs session #4 call frame and programming model
Pranith Karampuri
 
Glusterfs session #18 intro to fuse and its trade offs
Pranith Karampuri
 
Glusterfs session #12 locks xlator posixlk
Pranith Karampuri
 
Glusterfs session #16 self-heal daemon ( for replication)
Pranith Karampuri
 
Glusterfs session #14 replication update fops
Pranith Karampuri
 
Glusterfs session #11 locks xlator entrylks
Pranith Karampuri
 
Glusterfs session #7 client, server interactions
Pranith Karampuri
 
Gluster dev session #6 understanding gluster's network communication layer
Pranith Karampuri
 
Glusterfs session #4 call frame and programming model
Pranith Karampuri
 

Recently uploaded (20)

PPTX
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
PPTX
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
PPTX
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PPTX
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
PPTX
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
PPTX
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
PPTX
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
DOCX
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
PDF
Study Material and notes for Women Empowerment
ComputerScienceSACWC
 
PPT
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
PDF
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
PPTX
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
PPTX
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
PPTX
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
PPTX
CDH. pptx
AneetaSharma15
 
PPTX
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
PDF
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
PDF
Review of Related Literature & Studies.pdf
Thelma Villaflores
 
Dakar Framework Education For All- 2000(Act)
santoshmohalik1
 
BÀI TẬP TEST BỔ TRỢ THEO TỪNG CHỦ ĐỀ CỦA TỪNG UNIT KÈM BÀI TẬP NGHE - TIẾNG A...
Nguyen Thanh Tu Collection
 
Odoo 18 Sales_ Managing Quotation Validity
Celine George
 
Measures_of_location_-_Averages_and__percentiles_by_DR SURYA K.pptx
Surya Ganesh
 
PPTs-The Rise of Empiresghhhhhhhh (1).pptx
academysrusti114
 
FSSAI (Food Safety and Standards Authority of India) & FDA (Food and Drug Adm...
Dr. Paindla Jyothirmai
 
CONCEPT OF CHILD CARE. pptx
AneetaSharma15
 
Autodock-for-Beginners by Rahul D Jawarkar.pptx
Rahul Jawarkar
 
family health care settings home visit - unit 6 - chn 1 - gnm 1st year.pptx
Priyanshu Anand
 
SAROCES Action-Plan FOR ARAL PROGRAM IN DEPED
Levenmartlacuna1
 
Study Material and notes for Women Empowerment
ComputerScienceSACWC
 
Python Programming Unit II Control Statements.ppt
CUO VEERANAN VEERANAN
 
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
CARE OF UNCONSCIOUS PATIENTS .pptx
AneetaSharma15
 
How to Close Subscription in Odoo 18 - Odoo Slides
Celine George
 
Artificial-Intelligence-in-Drug-Discovery by R D Jawarkar.pptx
Rahul Jawarkar
 
CDH. pptx
AneetaSharma15
 
Introduction to pediatric nursing in 5th Sem..pptx
AneetaSharma15
 
2.Reshaping-Indias-Political-Map.ppt/pdf/8th class social science Exploring S...
Sandeep Swamy
 
Review of Related Literature & Studies.pdf
Thelma Villaflores
 

Glusterfs session #9 index xlator

  • 2. Scope - Why do we need index xlator - How does index xlator work? - On fs layout of indices - What types of indices exist already - How do the consumers use indices - Future improvements that can be done in index xlator
  • 3. Why do we need index xlator - 10 years back healing was happening by doing a full filesystem scan and doing lookups on the files/directories - This was extremely inefficient as most of the times the bricks would be down for brief periods of time. - It was not easy to identify the files/directories that need heal without crawling the entire glusterfs filesystem. - So we needed an index of files/directories that need to be healed
  • 4. On fs layout of indices - Indices are local to a brick and generally maintain status of files/directories present only on that brick - Each directory has .glusterfs/indices directory in which different types of indices will be present - Demo
  • 5. On fs layout indices continued - Each index will have a base index - Any new index that needs to be indexed will become a hardlink to the base index - If the underlying filesystem imposes a maximum hardlink limit, then a new base index will be created upon reaching this limit
  • 6. What types of indices are present at the moment - Afr uses xattrop based indices - Dirty - Files/directories that are undergoing changes - Xattrop - files/directories that need heal - Entry-changes - granular file entries that need to be healed in a directory - EC uses xattrop based indices - Xattrop - files/directories that need heal and that are undergoing changes.
  • 7. How are indices consumed? - Most of the current consumers are self-heal daemons from either afr/ec modules - Every X seconds, self-heal daemon will check its local brick indices to see if any heal has to be performed by performing opendir/readdir on the indices directory. - Once it completes these heals, index will be removed.
  • 8. How are indices consumed - Contd - In readdirp afr will send inode attributes based on if the index has heals are not.
  • 9. Future improvements - If the number of entries to heal increases by a lot(Of the order of millions), performance of adding/removing to the index may take a while based on the underlying File system’s implementation of directory. - For example, ZFS doesn’t shrink directory sizes after removing files, which may cause ls on the directory to be slow which can cause I/O also to be slow in some cases. (https://github.com/gluster/glusterfs/issues/1764) - One way to solve this problem is to bring in some sort of hierarchy to divide up the number of entries into separate directories like we have in .glusterfs
  • 10. Q & A