Top Banner
Gluster related development Niels de Vos Sr. Software Maintenance Engineer Global Support Services Red Hat
16

Gluster related development - Red Hatpeople.redhat.com/ndevos/talks/Gluster-Stockholm-20130902.pdf · OpenStack SWIFT backend Unified File and Object (UFO) Storage based on the OpenStack

May 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Gluster related development

    Niels de VosSr. Software Maintenance EngineerGlobal Support ServicesRed Hat

  • Niels de VosRed Hat

    2

    Agenda

    ● Gluster Community Forge● libgfapi for reducing overhead● MapReduce with pmux● Hadoop● SWIFT

  • Niels de VosRed Hat

    3

    Gluster Community Forge

    ● Hosting for Gluster related projects● Tools:

    ● lsgvt, gtop, ...● Pre-upstream translators:

    ● Disperse, glupy, file versioning, ...● Big Data, MapReduce:

    ● Hadoop enablement, pmap● And many more at http://forge.gluster.org!

    http://forge.gluster.org/

  • Niels de VosRed Hat

    4

    Tool: lsvgt

  • Niels de VosRed Hat

    5

    Tool: gtop

  • Niels de VosRed Hat

    6

    libgfapi for reducing overhead

    ● Can be used to eliminate the FUSE and kernel VFS layer

    ● No requirement for mounting a volume● Existing applications need to be extended● Examples:

    ● qemu storage layer● Samba VFS plugin

  • Niels de VosRed Hat

    7

    libgfapi: access through FUSE

  • Niels de VosRed Hat

    8

    libgfapi: access through library

  • Niels de VosRed Hat

    9

    Samba libgfapi integration

    ● Prevents the need for volumes mounted through FUSE, improves performance

    ● Upstream Samba VFS plugin:/usr/lib64/samba/vfs/glusterfs.so

    ● Updated gluster volume start/stop hook scripts that modify /etc/samba/smb.conf on demand

    ● New smb.conf configuration snippet:[gluster-$volname]vfs objects = glusterfsglusterfs:volume = $volnamepath = /

  • Niels de VosRed Hat

    10

    Example of libgfapi

    ● Examples are available in the sources/api/examples/

    ● Example execution of the test-suite:$ ./gfapi.py playground gfapi-example

    ● Example Python code:import gfapiSTORAGE_SERVER = "localhost"VOLUME = "playground"DATA_BASENAME = "gfapi-example"vol = gfapi.Volume("localhost", "playground")vol.mount()vol.unlink(DATA_BASENAME + ".xa")

  • Niels de VosRed Hat

    11

    MapReduce with pmux

    ● Lightweight MapReduce● Usage is similar to pipes in a shell● Example:$ pmux --mapper="grep PATTERN" /mnt/vol/*.log

  • Niels de VosRed Hat

    12

    pmux internals and helpers

    ● Written in Ruby● Uses gflocator to detect the locality of data

    ● Runs as a daemon (requires root privileges)● Requests special extended attributes of filestrusted.glusterfs.pathinfo

    ● pmux-gw provides a HTTP interface

  • Niels de VosRed Hat

    13

    MapReduce with Hadoop

    ● Plugin for Hadoop● glusterfs-hadoop-.jar

    ● Support for Hadoop 1.x and 2.x● Very clear installation guide:

    ● https://forge.gluster.org/hadoop/pages/Home● https://forge.gluster.org/hadoop/pages/Configuration

    ● Works with Apache Hadoop● Tested with Hortonworks and Intel Hadoop

    Distributions

    https://forge.gluster.org/hadoop/pages/Homehttps://forge.gluster.org/hadoop/pages/Configuration

  • Niels de VosRed Hat

    14

    OpenStack SWIFT backend

    ● Unified File and Object (UFO) Storage based on the OpenStack SWIFT API● Access through HTTP(S)● Simple protocol, easy for client development

    ● Compatible with OpenStack 1.8● Patches needed for multi-volume support

    ● Need update/testing for OpenStack 1.9● Work is being done on upstreaming

  • Niels de VosRed Hat

    15

    Questions?

    ● User questions and experiences● [email protected]● #gluster on Freenode IRC

    ● Developer questions and discussions● [email protected]● #gluster-dev on Freenode IRC

    ● Announcements mailinglist● [email protected]

    mailto:[email protected]:[email protected]:[email protected]

  • Thanks!

    Contact details:

    Niels de [email protected] on Freenode

    mailto:[email protected]

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16