SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
GlusterFS Update and
OpenStack Integration
v1.0 2014/05/14
Etsuji Nakai
Senior Solution Architect
and Cloud Evangelist
Red Hat K.K.
2
Contents
 Recap: What is GlusterFS?
 Recap: DHT architecture overview
 The current status of OpenStack integration
 libgfapi: Mini Tutorial
Recap: what is GlusterFS?
4
What is GlusterFS?
 GlusterFS is opensource software to create a scale-out distributed
filesystem on top of commodity x86_86 servers.
– It aggregates local storage of many servers into a single logical volume.
– You can extend the volume just by adding more servers.
 GlusterFS runs on top of Linux. You can use it wherever you can use Linux.
– Physical/virtual machines in your data center.
– Linux VM on public clouds.
 GlusterFS provides a wide variety of APIs.
– FUSE mount (using the native client.)
– NFSv3 (supporting the distributed NFS lock.)
– CIFS (using libgfapi native access from Samba.)
– REST API (compatible with OpenStack Swift.)
– Native application library (providing POSIX-like system calls.)
5
Brief history of GlusterFS
2005 2011 2012 2013 2014
GlusterFS 3.3
GlusterFS 3.4
GlusterFS 3.5
http://www.slideshare.net/johnmarkorg/gluster-where-weve-been-a-history
Red Hat acquisition
of Gluster Inc.
The early days
of Gluster Inc.
6
Architecture overview
 The standard filesystem (typically xfs) of each storage node is used as a backend device
of the logical volume.
– Each file in the volume is physically stored in one of the storage nodes' filesystem, just as the
same plain file seen from the client.
 Hash value of the file name is used to decide the node to store it.
– The metadata server storing the file location is not used in GlusterFS.
file01 file02 file03
・・・ Storage nodes
file01, file02, file03
GlusterFS client
The volume is seen as a single filesystem
mounted on a local directory tree.
Files are distributed across
local filesystem of storage nodes.
GlusterFS volume
7
Hierarchy structure consisted of Node / Brick / Volume
・・・
Volume vol01
Filesystem mounted on /data
/data/brick02
/data/brick01  Brick
(Just a directory)
・・・
/data/brick02
/data/brick01
・・・
/data/brick02
/data/brick01
A volume is created as a
"bundle" of bricks which are
provided by storage nodes.
Node01
 A single node can provide multiple bricks to create multiple volumes.
 You don't need to use the same number of bricks nor the same directory name on each node.
 You can add/remove bricks to extend/reduce the size of volumes.
Node02 Node03
8
/brick01
/brick02
/brick03
/brick04
/brick01
/brick02
/brick03
/brick04
/brick01
/brick02
/brick03
/brick04
Volume configuration examples
/brick01
/brick02
/brick03
/brick04
Storage nodes
Distributing files across multiple bricks.
(Each file is stored in one of the bricks.)
A file is replicated between the specifed
brick pairs
A file is split into fixed size chunks,
and chunks are distributed to brikcs.
Replication
Striping
Striping
Combining the striping and replication
node01 node02 node03 node04
Replication
Replication Replication
Recap: DHT architecture
10
DHT: Distributed Hash Table
 Distributed has table is:
– A rule for deciding a brick to store the file based on filename's hash value.
– More precisely, it's just a table of bricks and corresponding hash ranges.
file01
Brick1
Hash range 0〜99
Calculate the hash
value of filename.
Brick2
Hash range 100〜199
・・・
127
Stored in the brick which is
responsible for this hash value.
Brick3
Hash range 200〜299
The actual hash length is 32bit.
0x00000000 〜 0xFFFFFFFF
Brick1 Brick2 Brick3 ・・・
Hash
range
0〜99 100〜199 200〜299
DHT (Distributed Hash Table)
11
DHT structure in GlusterFS
 Hash tables are created for each directory in a single volume.
– Two files with the same name (in different directories) are placed in different bricks.
– By assigning different hash ranges for different directories, files are more evenly distributed.
 The hash range of each brick (directory) is recorded in the extended attribute of the
directory.
Brick1
[root@gluster01 ~]# getfattr -d -m . /data/brick01/dir01
getfattr: Removing leading '/' from absolute path names
# file: data/brick01/dir01
trusted.gfid=0shk2IwdFdT0yI1K7xXGNSdA==
trusted.glusterfs.10d3504b-7111-467d-8d4f-d25f0b504df6.xtime=0sT+vTRwADqyI=
trusted.glusterfs.dht=0sAAAAAQAAAAB//////////w==
Brick1 Brick2 Brick3 ・・・
/dir01 0〜99 100〜199 200〜299 ・・・
/dir02 100〜199 400〜499 300〜399 ・・・
/dir03 500〜599 200〜299 100〜199 ・・・
・・・
Brick2 Brick3 ・・・
12
How GlusterFS client recognizes the hash table
# mount -t glusterfs gluster01:/vol01
Volume "vol01" is provided
by gluster01〜gluster04
gluster01 gluster02 gluster03 gluster04
13
How GlusterFS client recognizes the hash table
# cat /vol01/dir01/file01
gluster01 gluster02 gluster03 gluster04
The hash range of dir01
is xxx.
The hash range of dir01
is yyy.
14
How GlusterFS client recognizes the hash table
# cat /vol01/dir01/file01
gluster01 gluster02 gluster03 gluster04
The hash range of dir01
is xxx.
The hash range of dir01
is yyy.
Construct the whole hash table
for dir01 on memory!
Brick1 Brick2 Brick3 ・・・
dir01 0〜99 100〜199 200〜299
15
Translator modules
 GlusterFS works with multiple translator modules.
– There are modules running on clients and modules running on servers.
 Each module has its own role.
– Translator modules are built as shared library.
– Original modules can be added as a plug-in.
[root@gluster01 ~]# ls -l /usr/lib64/glusterfs/3.3.0/xlator/
total 48
drwxr-xr-x 2 root root 4096 Jun 16 15:25 cluster
drwxr-xr-x 2 root root 4096 Jun 16 15:25 debug
drwxr-xr-x 2 root root 4096 Jun 16 15:25 encryption
drwxr-xr-x 2 root root 4096 Jun 16 15:25 features
drwxr-xr-x 2 root root 4096 Jun 16 15:25 mgmt
drwxr-xr-x 2 root root 4096 Jun 16 15:25 mount
drwxr-xr-x 2 root root 4096 Jun 16 15:25 nfs
drwxr-xr-x 2 root root 4096 Jun 16 15:25 performance
drwxr-xr-x 2 root root 4096 Jun 16 15:25 protocol
drwxr-xr-x 2 root root 4096 Jun 16 15:25 storage
drwxr-xr-x 2 root root 4096 Jun 16 15:25 system
drwxr-xr-x 3 root root 4096 Jun 16 15:25 testing
DHT, replication, etc.
quota, file lock, etc.
caching, read ahead, etc.
physical I/O
16
Typical combination of translator modules
io-stats
md-cache
quick-read
io-cache
read-ahead
write-behind
dht
replicate-1 replicate-2
server
brick
marker
index
io-threads
locks
access-control
posix
server
brick
marker
index
io-threads
locks
access-control
posix
server
brick
marker
index
io-threads
locks
access-control
posix
server
brick
marker
index
io-threads
locks
access-control
posix
client-1 client-2 client-3 client-4
Client modules(*1)
Server modules(*2)
Brick
Recording statistics information
Metadata caching
Data caching
Handling DHT
Replication
Communication with servers
Communication with clients
Activating I/O thereads
File locking
ACL management
Physical access to bricks
Brick Brick Brick
(*1) Defined in /var/lib/glusterd/vols/<Vol>/<Vol>-fuse.vol (*2) Defined in /var/lib/glusterd/vols/<Vol>/<Vol>.<Node>.<Brick>.vol
17
The past wish list for GlusterFS
 Volume Snapshot (master branch)
 File Snapshot (GlusterFS3.5)
 On-wire compression / decompression (GlusterFS3.4)
 Disk Encryption (GlusterFS3.4)
 Journal based distributed GeoReplication (GlusterFS3.5)
 Erasure coding (Not yet...)
 Integration with OpenStack
 etc...
http://www.gluster.org/
The current status of
OpenStack Integration
19
Four locations you need storage system in OpenStack
Swift
Nova Compute
Glance
Application
Data
OS
Cinder
Object Store
Template
Image
Typcally, original distributed
object store using commodity
x86_86 servers is used.
Typcally, external hardware
storege (iSCSI) is used
Typcally, local storage of
compute nodes is used.
Typcally, Swift or NFS
storage is used.
Using GlusterFS for Glance backend
GlusterFS Cluster
GlusterFS
Volume
GlusterFS manages scalability, redundancy
and consistency.
Glance Server
 Just use GlusterFS volume instead of local storage. So simple.
 This is actually being used in many production clusters.
21
Nova Compute
Cinder
VM instance
/dev/vdb
Virtual disk
Linux KVM
/dev/sdX
iSCSI LUN
Storage box
Create LUNs
iSCSI SW
Initiator
iSCSI Target
 In typical configuration, block volumes are created as LUNs in iSCSI storage boxes.
Cinder operates on the management interface of the storage through the
corresponding driver.
 Nova Compute attaches it to the host Linux using the software initiator, then it's
attached to the VM instance through KVM hypervisor.
How Nova and Cinder works together
22
 Cinder also provides the NFS driver which uses NFS server as a storage backend.
– The driver simply mounts the NFS exported directly and create disk image files
in it. Compute nodes use NFS mount to access the image files.
Virtual disk
NFS server
NFS mount
・・・
NFS mount
・・・
Nova ComputeVM instance
/dev/vdb
Linux KVM
Cinder
Using NFS driver
23
 There is a driver for GlusterFS distributed filesystem, too.
– Currently it uses FUSE mount mechanism. This will be replaced with more optimized
mechanism (libgfapi) which bypasses the FUSE layer.
Cinder
GlusterFS cluster
FUSE mount
FUSE mount
・・・
Virtual disk
・・・
Nova ComputeVM instance
/dev/vdb
Linux KVM
Using GlusterFS driver for Cinder
24
 The same can work for Nova Compute. You can store running VM's OS
image on locally mounted GlusterFS volume.
GlusterFS cluster
FUSE mount
・・・
Virtual disk
・・・
Nova ComputeVM instance
/dev/vda
Linux KVM
GlusterFS shared volume for Nova Compute
Template
Image
25
 The FUSE mount/file based architecture is not well suited to workload
for VM disk images (small random I/O).
 How can we imporve it?
The challenge in Cinder/Nova Compute integration
26
 The FUSE mount/file based architecture is not well suited to workload
for VM disk images (small random I/O).
 How can we imporve it?
The challenge in Cinder/Nova Compute integration
http://www.inktank.com/
Using Ceph?
CENSORED
27
 "libgfapi" is an application library with which user applications can
directly access GlusterFS volume via native protocol.
– It reduces the overhead of FUSE architecture.
GlusterFS way for qemu integration
 Now qemu is integrated with libgfapi
so that it can directly access disk
image files placed in GlusterFS
volume.
– This feature is available since Havana
release.
FUSE mount
libgfapi
Architecture of Swift Account Servers
Maintain mappings
between
accounts and containers
Container Servers
Object Servers
Maintain lists and ACLs
of objects
in each container.
Store object contents
in file system.
Proxy Servers
Handling REST
request from clients
Authentication Server
DB
DB
File System
Architecture of GlusterFS with Swift API
Proxy / Account / Container / Object
“all in one” server & GlusterFS client
Authentication Server
GlusterFS Cluster
One volume is used
for one account
Account/Container/Object Server
modules retrieve required information
directly from locally mounted volumes.
GlusterFS
Volume
Volume for each account is locally mounted at:
/mnt/gluster-object/AUTH_<account name>
GlusterFS manages scalability, redundancy
and consistency.
libgfapi: Mini Tutorial
Using libgfapi with RHEL6/CentOS6
 Install development tools, and libgfapi library from EPEL repository.
 Build your application with libgfapi.
 That's all!
 Pseudo-Posix I/O system calls are listed in the header file.
– https://github.com/gluster/glusterfs/blob/release-3.5/api/src/glfs.h
– file stream and mmap are not there :-(
# yum install http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum groupinstall "Development Tools"
# yum install glusterfs-api-devel
# gcc hellogluster.c -lgfapi
# ./a.out
"Hello, World!" with libgfapi
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <glusterfs/api/glfs.h>
int main (int argc, char** argv) {
const char *gfserver = "gluster01";
const char *gfvol = "testvol01";
int ret;
glfs_t *fs;
glfs_fd_t *fd;
fs = glfs_new(gfvol);
glfs_set_volfile_server(fs, "tcp", gfserver, 24007);
ret = glfs_init (fs);
if (ret) {
printf( "Failed to connect server/volume: %s/%sn", gfserver, gfvol );
exit(ret);
}
char *greet = "Hello, Gluster!n";
fd = glfs_creat(fs, "greeting.txt", O_RDWR, 0644);
glfs_write(fd, greet, strlen(greet), 0);
glfs_close(fd);
return 0;
}
type struct representing the volume (filesystem) "testvol01"
Connecting to the volume.
Opening a new file on the volume.
Write and close the file.
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawnGábor Nyers
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConJérôme Petazzoni
 
Linux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPSLinux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPSjoshuasoundcloud
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Jérôme Petazzoni
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackBoden Russell
 
Linux cgroups and namespaces
Linux cgroups and namespacesLinux cgroups and namespaces
Linux cgroups and namespacesLocaweb
 
Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Dobrica Pavlinušić
 
Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Neeraj Shrimali
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside OutEtsuji Nakai
 
Storage based on_openstack_mariocho
Storage based on_openstack_mariochoStorage based on_openstack_mariocho
Storage based on_openstack_mariochoMario Cho
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containersGoogle
 
Docker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker, Inc.
 
Containers and Namespaces in the Linux Kernel
Containers and Namespaces in the Linux KernelContainers and Namespaces in the Linux Kernel
Containers and Namespaces in the Linux KernelOpenVZ
 
Docker Internals - Twilio talk November 14th, 2013
Docker Internals - Twilio talk November 14th, 2013Docker Internals - Twilio talk November 14th, 2013
Docker Internals - Twilio talk November 14th, 2013Guillaume Charmes
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Sim Janghoon
 
Lxc- Linux Containers
Lxc- Linux ContainersLxc- Linux Containers
Lxc- Linux Containerssamof76
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Boden Russell
 

Was ist angesagt? (20)

Docker internals
Docker internalsDocker internals
Docker internals
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
 
Linux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPSLinux Containers From Scratch: Makfile MicroVPS
Linux Containers From Scratch: Makfile MicroVPS
 
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
Cgroups, namespaces, and beyond: what are containers made from? (DockerCon Eu...
 
KVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStackKVM and docker LXC Benchmarking with OpenStack
KVM and docker LXC Benchmarking with OpenStack
 
LXC
LXCLXC
LXC
 
Linux cgroups and namespaces
Linux cgroups and namespacesLinux cgroups and namespaces
Linux cgroups and namespaces
 
Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)Virtualization which isn't: LXC (Linux Containers)
Virtualization which isn't: LXC (Linux Containers)
 
Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup. Linux container, namespaces & CGroup.
Linux container, namespaces & CGroup.
 
Lxc- Introduction
Lxc- IntroductionLxc- Introduction
Lxc- Introduction
 
OpenStack: Inside Out
OpenStack: Inside OutOpenStack: Inside Out
OpenStack: Inside Out
 
Storage based on_openstack_mariocho
Storage based on_openstack_mariochoStorage based on_openstack_mariocho
Storage based on_openstack_mariocho
 
Introduction to linux containers
Introduction to linux containersIntroduction to linux containers
Introduction to linux containers
 
Docker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme PetazzoniDocker storage drivers by Jérôme Petazzoni
Docker storage drivers by Jérôme Petazzoni
 
Containers and Namespaces in the Linux Kernel
Containers and Namespaces in the Linux KernelContainers and Namespaces in the Linux Kernel
Containers and Namespaces in the Linux Kernel
 
Docker Internals - Twilio talk November 14th, 2013
Docker Internals - Twilio talk November 14th, 2013Docker Internals - Twilio talk November 14th, 2013
Docker Internals - Twilio talk November 14th, 2013
 
Docker - container and lightweight virtualization
Docker - container and lightweight virtualization Docker - container and lightweight virtualization
Docker - container and lightweight virtualization
 
Lxc- Linux Containers
Lxc- Linux ContainersLxc- Linux Containers
Lxc- Linux Containers
 
Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)Realizing Linux Containers (LXC)
Realizing Linux Containers (LXC)
 

Andere mochten auch

GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack StorageDeepak Shetty
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstackopenstackindia
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Etsuji Nakai
 
Flex pod driven by Openstack
Flex pod driven by OpenstackFlex pod driven by Openstack
Flex pod driven by OpenstackMarton Kiss
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013Michael Lessard
 
自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた2bo 2bo
 
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...Sungjin Kang
 
GlusterFS CTDB Integration
GlusterFS CTDB IntegrationGlusterFS CTDB Integration
GlusterFS CTDB IntegrationEtsuji Nakai
 
Open vStorage Meetup - Santa Clara 04/16
Open vStorage Meetup -  Santa Clara 04/16Open vStorage Meetup -  Santa Clara 04/16
Open vStorage Meetup - Santa Clara 04/16wim_provoost
 
Turning object storage into vm storage
Turning object storage into vm storageTurning object storage into vm storage
Turning object storage into vm storagewim_provoost
 
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013Gluster.org
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!Etsuji Nakai
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterGluster.org
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Etsuji Nakai
 
RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介Etsuji Nakai
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門Etsuji Nakai
 
Turning OpenStack Swift into a VM storage platform
Turning OpenStack Swift into a VM storage platformTurning OpenStack Swift into a VM storage platform
Turning OpenStack Swift into a VM storage platformOpenStack_Online
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Etsuji Nakai
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編Etsuji Nakai
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1Etsuji Nakai
 

Andere mochten auch (20)

GlusterFS and Openstack Storage
GlusterFS and Openstack StorageGlusterFS and Openstack Storage
GlusterFS and Openstack Storage
 
Glusterfs and openstack
Glusterfs  and openstackGlusterfs  and openstack
Glusterfs and openstack
 
Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料Haskell勉強会 14.1〜14.3 の説明資料
Haskell勉強会 14.1〜14.3 の説明資料
 
Flex pod driven by Openstack
Flex pod driven by OpenstackFlex pod driven by Openstack
Flex pod driven by Openstack
 
Openstackoverview-DEC2013
Openstackoverview-DEC2013Openstackoverview-DEC2013
Openstackoverview-DEC2013
 
自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた
 
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...
[OpenStack Day in Korea] Keynote#2 - Bringing OpenStack to the Enterprise Dat...
 
GlusterFS CTDB Integration
GlusterFS CTDB IntegrationGlusterFS CTDB Integration
GlusterFS CTDB Integration
 
Open vStorage Meetup - Santa Clara 04/16
Open vStorage Meetup -  Santa Clara 04/16Open vStorage Meetup -  Santa Clara 04/16
Open vStorage Meetup - Santa Clara 04/16
 
Turning object storage into vm storage
Turning object storage into vm storageTurning object storage into vm storage
Turning object storage into vm storage
 
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013GlusterFs Architecture & Roadmap - LinuxCon EU 2013
GlusterFs Architecture & Roadmap - LinuxCon EU 2013
 
クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!クラウドオーケストレーション「OpenStack Heat」に迫る!
クラウドオーケストレーション「OpenStack Heat」に迫る!
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_gluster
 
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
Okinawa Open Days 2014 OpenStackハンズオンセミナー / OpenStackの機能概要
 
RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介RHEL Atomic Hostのご紹介
RHEL Atomic Hostのご紹介
 
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:OpenStack入門
 
Turning OpenStack Swift into a VM storage platform
Turning OpenStack Swift into a VM storage platformTurning OpenStack Swift into a VM storage platform
Turning OpenStack Swift into a VM storage platform
 
Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会Docker with RHEL7 技術勉強会
Docker with RHEL7 技術勉強会
 
Linux女子部 iptables復習編
Linux女子部 iptables復習編Linux女子部 iptables復習編
Linux女子部 iptables復習編
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
 

Ähnlich wie GlusterFS Update and OpenStack Integration

Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdoseGluster.org
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdoseGluster.org
 
High Availability Storage (susecon2016)
High Availability Storage (susecon2016)High Availability Storage (susecon2016)
High Availability Storage (susecon2016)Roger Zhou 周志强
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyNugroho Gito
 
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
 
GlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataGlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataRoberto Franchini
 
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
GlusterFS : un file system open source per i big data di oggi e domani - Robe...GlusterFS : un file system open source per i big data di oggi e domani - Robe...
GlusterFS : un file system open source per i big data di oggi e domani - Robe...Codemotion
 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...NETWAYS
 
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with Uciprov
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with UciprovLukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with Uciprov
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with UciprovZabbix
 
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...BertrandDrouvot
 
Lisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionLisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionGluster.org
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020Akihiro Suda
 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage OverviewNuno Alves
 
はじめてのGlusterFS
はじめてのGlusterFSはじめてのGlusterFS
はじめてのGlusterFSTakahiro Inoue
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answersKalyan Hadoop
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, BrusselsDaniel Nüst
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISORVanika Kapoor
 

Ähnlich wie GlusterFS Update and OpenStack Integration (20)

Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
High Availability Storage (susecon2016)
High Availability Storage (susecon2016)High Availability Storage (susecon2016)
High Availability Storage (susecon2016)
 
Unix 6 en
Unix 6 enUnix 6 en
Unix 6 en
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of Technology
 
Introduction to UNIX
Introduction to UNIXIntroduction to UNIX
Introduction to UNIX
 
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
 
GlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big dataGlusterFs: a scalable file system for today's and tomorrow's big data
GlusterFs: a scalable file system for today's and tomorrow's big data
 
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
GlusterFS : un file system open source per i big data di oggi e domani - Robe...GlusterFS : un file system open source per i big data di oggi e domani - Robe...
GlusterFS : un file system open source per i big data di oggi e domani - Robe...
 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
 
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with Uciprov
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with UciprovLukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with Uciprov
Lukas Macura - Employing Zabbix to monitor OpenWrt (Beesip) devices with Uciprov
 
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
Reduce Resource Consumption & Clone in Seconds your Oracle Virtual Environmen...
 
Lisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introductionLisa 2015-gluster fs-introduction
Lisa 2015-gluster fs-introduction
 
[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020[KubeCon NA 2020] containerd: Rootless Containers 2020
[KubeCon NA 2020] containerd: Rootless Containers 2020
 
Xen server storage Overview
Xen server storage OverviewXen server storage Overview
Xen server storage Overview
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
はじめてのGlusterFS
はじめてのGlusterFSはじめてのGlusterFS
はじめてのGlusterFS
 
Big data interview questions and answers
Big data interview questions and answersBig data interview questions and answers
Big data interview questions and answers
 
containerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brusselscontainerit at useR!2017 conference, Brussels
containerit at useR!2017 conference, Brussels
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 

Mehr von Etsuji Nakai

「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考えるEtsuji Nakai
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Etsuji Nakai
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowEtsuji Nakai
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスEtsuji Nakai
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモEtsuji Nakai
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsEtsuji Nakai
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English LearningEtsuji Nakai
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎Etsuji Nakai
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門Etsuji Nakai
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineEtsuji Nakai
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2Etsuji Nakai
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersEtsuji Nakai
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterEtsuji Nakai
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginnersEtsuji Nakai
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQNEtsuji Nakai
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかEtsuji Nakai
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜Etsuji Nakai
 

Mehr von Etsuji Nakai (20)

PRML11.2-11.3
PRML11.2-11.3PRML11.2-11.3
PRML11.2-11.3
 
「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える「ITエンジニアリングの本質」を考える
「ITエンジニアリングの本質」を考える
 
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実Googleのインフラ技術に見る基盤標準化とDevOpsの真実
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
 
Introducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlowIntroducton to Convolutional Nerural Network with TensorFlow
Introducton to Convolutional Nerural Network with TensorFlow
 
Googleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービスGoogleにおける機械学習の活用とクラウドサービス
Googleにおける機械学習の活用とクラウドサービス
 
Spannerに関する技術メモ
Spannerに関する技術メモSpannerに関する技術メモ
Spannerに関する技術メモ
 
Googleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOpsGoogleのインフラ技術から考える理想のDevOps
Googleのインフラ技術から考える理想のDevOps
 
A Brief History of My English Learning
A Brief History of My English LearningA Brief History of My English Learning
A Brief History of My English Learning
 
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
Using Kubernetes on Google Container Engine
Using Kubernetes on Google Container EngineUsing Kubernetes on Google Container Engine
Using Kubernetes on Google Container Engine
 
Lecture note on PRML 8.2
Lecture note on PRML 8.2Lecture note on PRML 8.2
Lecture note on PRML 8.2
 
Machine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application DevelopersMachine Learning Basics for Web Application Developers
Machine Learning Basics for Web Application Developers
 
Your first TensorFlow programming with Jupyter
Your first TensorFlow programming with JupyterYour first TensorFlow programming with Jupyter
Your first TensorFlow programming with Jupyter
 
Deep Q-Network for beginners
Deep Q-Network for beginnersDeep Q-Network for beginners
Deep Q-Network for beginners
 
Life with jupyter
Life with jupyterLife with jupyter
Life with jupyter
 
TensorFlowで学ぶDQN
TensorFlowで学ぶDQNTensorFlowで学ぶDQN
TensorFlowで学ぶDQN
 
DevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきかDevOpsにおける組織に固有の事情を どのように整理するべきか
DevOpsにおける組織に固有の事情を どのように整理するべきか
 
PRML7.2
PRML7.2PRML7.2
PRML7.2
 
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
 

Kürzlich hochgeladen

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

GlusterFS Update and OpenStack Integration

  • 1. GlusterFS Update and OpenStack Integration v1.0 2014/05/14 Etsuji Nakai Senior Solution Architect and Cloud Evangelist Red Hat K.K.
  • 2. 2 Contents  Recap: What is GlusterFS?  Recap: DHT architecture overview  The current status of OpenStack integration  libgfapi: Mini Tutorial
  • 3. Recap: what is GlusterFS?
  • 4. 4 What is GlusterFS?  GlusterFS is opensource software to create a scale-out distributed filesystem on top of commodity x86_86 servers. – It aggregates local storage of many servers into a single logical volume. – You can extend the volume just by adding more servers.  GlusterFS runs on top of Linux. You can use it wherever you can use Linux. – Physical/virtual machines in your data center. – Linux VM on public clouds.  GlusterFS provides a wide variety of APIs. – FUSE mount (using the native client.) – NFSv3 (supporting the distributed NFS lock.) – CIFS (using libgfapi native access from Samba.) – REST API (compatible with OpenStack Swift.) – Native application library (providing POSIX-like system calls.)
  • 5. 5 Brief history of GlusterFS 2005 2011 2012 2013 2014 GlusterFS 3.3 GlusterFS 3.4 GlusterFS 3.5 http://www.slideshare.net/johnmarkorg/gluster-where-weve-been-a-history Red Hat acquisition of Gluster Inc. The early days of Gluster Inc.
  • 6. 6 Architecture overview  The standard filesystem (typically xfs) of each storage node is used as a backend device of the logical volume. – Each file in the volume is physically stored in one of the storage nodes' filesystem, just as the same plain file seen from the client.  Hash value of the file name is used to decide the node to store it. – The metadata server storing the file location is not used in GlusterFS. file01 file02 file03 ・・・ Storage nodes file01, file02, file03 GlusterFS client The volume is seen as a single filesystem mounted on a local directory tree. Files are distributed across local filesystem of storage nodes. GlusterFS volume
  • 7. 7 Hierarchy structure consisted of Node / Brick / Volume ・・・ Volume vol01 Filesystem mounted on /data /data/brick02 /data/brick01  Brick (Just a directory) ・・・ /data/brick02 /data/brick01 ・・・ /data/brick02 /data/brick01 A volume is created as a "bundle" of bricks which are provided by storage nodes. Node01  A single node can provide multiple bricks to create multiple volumes.  You don't need to use the same number of bricks nor the same directory name on each node.  You can add/remove bricks to extend/reduce the size of volumes. Node02 Node03
  • 8. 8 /brick01 /brick02 /brick03 /brick04 /brick01 /brick02 /brick03 /brick04 /brick01 /brick02 /brick03 /brick04 Volume configuration examples /brick01 /brick02 /brick03 /brick04 Storage nodes Distributing files across multiple bricks. (Each file is stored in one of the bricks.) A file is replicated between the specifed brick pairs A file is split into fixed size chunks, and chunks are distributed to brikcs. Replication Striping Striping Combining the striping and replication node01 node02 node03 node04 Replication Replication Replication
  • 10. 10 DHT: Distributed Hash Table  Distributed has table is: – A rule for deciding a brick to store the file based on filename's hash value. – More precisely, it's just a table of bricks and corresponding hash ranges. file01 Brick1 Hash range 0〜99 Calculate the hash value of filename. Brick2 Hash range 100〜199 ・・・ 127 Stored in the brick which is responsible for this hash value. Brick3 Hash range 200〜299 The actual hash length is 32bit. 0x00000000 〜 0xFFFFFFFF Brick1 Brick2 Brick3 ・・・ Hash range 0〜99 100〜199 200〜299 DHT (Distributed Hash Table)
  • 11. 11 DHT structure in GlusterFS  Hash tables are created for each directory in a single volume. – Two files with the same name (in different directories) are placed in different bricks. – By assigning different hash ranges for different directories, files are more evenly distributed.  The hash range of each brick (directory) is recorded in the extended attribute of the directory. Brick1 [root@gluster01 ~]# getfattr -d -m . /data/brick01/dir01 getfattr: Removing leading '/' from absolute path names # file: data/brick01/dir01 trusted.gfid=0shk2IwdFdT0yI1K7xXGNSdA== trusted.glusterfs.10d3504b-7111-467d-8d4f-d25f0b504df6.xtime=0sT+vTRwADqyI= trusted.glusterfs.dht=0sAAAAAQAAAAB//////////w== Brick1 Brick2 Brick3 ・・・ /dir01 0〜99 100〜199 200〜299 ・・・ /dir02 100〜199 400〜499 300〜399 ・・・ /dir03 500〜599 200〜299 100〜199 ・・・ ・・・ Brick2 Brick3 ・・・
  • 12. 12 How GlusterFS client recognizes the hash table # mount -t glusterfs gluster01:/vol01 Volume "vol01" is provided by gluster01〜gluster04 gluster01 gluster02 gluster03 gluster04
  • 13. 13 How GlusterFS client recognizes the hash table # cat /vol01/dir01/file01 gluster01 gluster02 gluster03 gluster04 The hash range of dir01 is xxx. The hash range of dir01 is yyy.
  • 14. 14 How GlusterFS client recognizes the hash table # cat /vol01/dir01/file01 gluster01 gluster02 gluster03 gluster04 The hash range of dir01 is xxx. The hash range of dir01 is yyy. Construct the whole hash table for dir01 on memory! Brick1 Brick2 Brick3 ・・・ dir01 0〜99 100〜199 200〜299
  • 15. 15 Translator modules  GlusterFS works with multiple translator modules. – There are modules running on clients and modules running on servers.  Each module has its own role. – Translator modules are built as shared library. – Original modules can be added as a plug-in. [root@gluster01 ~]# ls -l /usr/lib64/glusterfs/3.3.0/xlator/ total 48 drwxr-xr-x 2 root root 4096 Jun 16 15:25 cluster drwxr-xr-x 2 root root 4096 Jun 16 15:25 debug drwxr-xr-x 2 root root 4096 Jun 16 15:25 encryption drwxr-xr-x 2 root root 4096 Jun 16 15:25 features drwxr-xr-x 2 root root 4096 Jun 16 15:25 mgmt drwxr-xr-x 2 root root 4096 Jun 16 15:25 mount drwxr-xr-x 2 root root 4096 Jun 16 15:25 nfs drwxr-xr-x 2 root root 4096 Jun 16 15:25 performance drwxr-xr-x 2 root root 4096 Jun 16 15:25 protocol drwxr-xr-x 2 root root 4096 Jun 16 15:25 storage drwxr-xr-x 2 root root 4096 Jun 16 15:25 system drwxr-xr-x 3 root root 4096 Jun 16 15:25 testing DHT, replication, etc. quota, file lock, etc. caching, read ahead, etc. physical I/O
  • 16. 16 Typical combination of translator modules io-stats md-cache quick-read io-cache read-ahead write-behind dht replicate-1 replicate-2 server brick marker index io-threads locks access-control posix server brick marker index io-threads locks access-control posix server brick marker index io-threads locks access-control posix server brick marker index io-threads locks access-control posix client-1 client-2 client-3 client-4 Client modules(*1) Server modules(*2) Brick Recording statistics information Metadata caching Data caching Handling DHT Replication Communication with servers Communication with clients Activating I/O thereads File locking ACL management Physical access to bricks Brick Brick Brick (*1) Defined in /var/lib/glusterd/vols/<Vol>/<Vol>-fuse.vol (*2) Defined in /var/lib/glusterd/vols/<Vol>/<Vol>.<Node>.<Brick>.vol
  • 17. 17 The past wish list for GlusterFS  Volume Snapshot (master branch)  File Snapshot (GlusterFS3.5)  On-wire compression / decompression (GlusterFS3.4)  Disk Encryption (GlusterFS3.4)  Journal based distributed GeoReplication (GlusterFS3.5)  Erasure coding (Not yet...)  Integration with OpenStack  etc... http://www.gluster.org/
  • 18. The current status of OpenStack Integration
  • 19. 19 Four locations you need storage system in OpenStack Swift Nova Compute Glance Application Data OS Cinder Object Store Template Image Typcally, original distributed object store using commodity x86_86 servers is used. Typcally, external hardware storege (iSCSI) is used Typcally, local storage of compute nodes is used. Typcally, Swift or NFS storage is used.
  • 20. Using GlusterFS for Glance backend GlusterFS Cluster GlusterFS Volume GlusterFS manages scalability, redundancy and consistency. Glance Server  Just use GlusterFS volume instead of local storage. So simple.  This is actually being used in many production clusters.
  • 21. 21 Nova Compute Cinder VM instance /dev/vdb Virtual disk Linux KVM /dev/sdX iSCSI LUN Storage box Create LUNs iSCSI SW Initiator iSCSI Target  In typical configuration, block volumes are created as LUNs in iSCSI storage boxes. Cinder operates on the management interface of the storage through the corresponding driver.  Nova Compute attaches it to the host Linux using the software initiator, then it's attached to the VM instance through KVM hypervisor. How Nova and Cinder works together
  • 22. 22  Cinder also provides the NFS driver which uses NFS server as a storage backend. – The driver simply mounts the NFS exported directly and create disk image files in it. Compute nodes use NFS mount to access the image files. Virtual disk NFS server NFS mount ・・・ NFS mount ・・・ Nova ComputeVM instance /dev/vdb Linux KVM Cinder Using NFS driver
  • 23. 23  There is a driver for GlusterFS distributed filesystem, too. – Currently it uses FUSE mount mechanism. This will be replaced with more optimized mechanism (libgfapi) which bypasses the FUSE layer. Cinder GlusterFS cluster FUSE mount FUSE mount ・・・ Virtual disk ・・・ Nova ComputeVM instance /dev/vdb Linux KVM Using GlusterFS driver for Cinder
  • 24. 24  The same can work for Nova Compute. You can store running VM's OS image on locally mounted GlusterFS volume. GlusterFS cluster FUSE mount ・・・ Virtual disk ・・・ Nova ComputeVM instance /dev/vda Linux KVM GlusterFS shared volume for Nova Compute Template Image
  • 25. 25  The FUSE mount/file based architecture is not well suited to workload for VM disk images (small random I/O).  How can we imporve it? The challenge in Cinder/Nova Compute integration
  • 26. 26  The FUSE mount/file based architecture is not well suited to workload for VM disk images (small random I/O).  How can we imporve it? The challenge in Cinder/Nova Compute integration http://www.inktank.com/ Using Ceph? CENSORED
  • 27. 27  "libgfapi" is an application library with which user applications can directly access GlusterFS volume via native protocol. – It reduces the overhead of FUSE architecture. GlusterFS way for qemu integration  Now qemu is integrated with libgfapi so that it can directly access disk image files placed in GlusterFS volume. – This feature is available since Havana release. FUSE mount libgfapi
  • 28. Architecture of Swift Account Servers Maintain mappings between accounts and containers Container Servers Object Servers Maintain lists and ACLs of objects in each container. Store object contents in file system. Proxy Servers Handling REST request from clients Authentication Server DB DB File System
  • 29. Architecture of GlusterFS with Swift API Proxy / Account / Container / Object “all in one” server & GlusterFS client Authentication Server GlusterFS Cluster One volume is used for one account Account/Container/Object Server modules retrieve required information directly from locally mounted volumes. GlusterFS Volume Volume for each account is locally mounted at: /mnt/gluster-object/AUTH_<account name> GlusterFS manages scalability, redundancy and consistency.
  • 31. Using libgfapi with RHEL6/CentOS6  Install development tools, and libgfapi library from EPEL repository.  Build your application with libgfapi.  That's all!  Pseudo-Posix I/O system calls are listed in the header file. – https://github.com/gluster/glusterfs/blob/release-3.5/api/src/glfs.h – file stream and mmap are not there :-( # yum install http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # yum groupinstall "Development Tools" # yum install glusterfs-api-devel # gcc hellogluster.c -lgfapi # ./a.out
  • 32. "Hello, World!" with libgfapi #include <stdlib.h> #include <stdio.h> #include <string.h> #include <glusterfs/api/glfs.h> int main (int argc, char** argv) { const char *gfserver = "gluster01"; const char *gfvol = "testvol01"; int ret; glfs_t *fs; glfs_fd_t *fd; fs = glfs_new(gfvol); glfs_set_volfile_server(fs, "tcp", gfserver, 24007); ret = glfs_init (fs); if (ret) { printf( "Failed to connect server/volume: %s/%sn", gfserver, gfvol ); exit(ret); } char *greet = "Hello, Gluster!n"; fd = glfs_creat(fs, "greeting.txt", O_RDWR, 0644); glfs_write(fd, greet, strlen(greet), 0); glfs_close(fd); return 0; } type struct representing the volume (filesystem) "testvol01" Connecting to the volume. Opening a new file on the volume. Write and close the file.