SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
An Efficient Backup and
Replication of Storage
Takashi HOSHINO
Cybozu Labs, Inc.
2013-05-29@LinuxConJapan
rev.20130529a
Self-introduction
• Takashi HOSHINO
– Works at Cybozu Labs, Inc.
• Technical interests
– Database, storage, distributed algorithms
• Current work
– WalB: Today’s talk!
2
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
3
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
4
Motivation
• Backup and replication are vital
– We have our own cloud infrastructure
– Requiring high availability of customers’ data
– With cost-effective commodity hardware and software
5
Operating data
Backup data
Replicated data
Primary DC Secondary DC
Requirements
• Functionality
– Getting consistent diff data for backup/replication
achieving small RPO
• Performance
– Without usual full-scans
– Small overhead
• Various kinds of data support
– Databases
– Blob data
– Full-text-search indexes
– ...
6
• A Linux kernel device driver to provide wrapper
block devices and related userland tools
• Provides consistent diff extraction functionality
for efficient backup and replication
• “WalB” means “Block-level WAL”
A solution: WalB
7
WalB
storage
Backup
storage
Replicated
storage
Diffs
WAL (Write-Ahead Logging)
8
Ordinary Storage WAL Storage
Write at 0
Write at 2
Read at 2
Write at 2
0
0 2
0 2
0 2 2
Time
How to get diffs
• Full-scan and compare
• Partial-scan with bitmaps (or indexes)
• Scan logs directly from WAL storages
9
a b c d e a b’ c d e’ b’ e’1 4
a b c d e a b’ c d e’ b’ e’1 4
00000 01001
a b c d e a b’ c d e’ b’ e’1 4
b’ e’1 4
Data at t0 Data at t1 Diffs from t0 to t1
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
10
WalB architecture
A walb device
as a wrapper
A block device for data
(Data device)
A block device for logs
(Log device)
Read Write Logs
Not special format An original format
Any application
(File system, DBMS, etc)
Walb log
Extractor
Walb dev
controller
Control
11
Log device format
12
Ring bufferMetadata
Address
Superblock
(physical block size)
Unused (4KiB)
Log address =
(log sequence id) % (ring buffer size)
+ (ring buffer start address)
Checksum
Ring buffer inside
13
2nd
written data
Ring buffer
Log pack
Logpack
header
block
1st
written data …
The oldest logpackThe latest logpack
1st log record
IO address
IO size
...
Logpack lsid
Log pack
header
block
Num of records
Total IO size
2nd log record
IO address
IO size
...
...
Redo/undo logs
• Redo logs
– to go forward
• Undo logs
– to go backward
14
0 2
Data at t0
0 2
Data at t1
Redo logs
Undo logs
How to create redo/undo logs
• Undo logs requires additional read IOs
• Walb devices do not generate undo-logs
15
Data Log
WalB
(1) write IOs
submitted
(2) read current
data
(3) write
undo logs
Data Log
WalB
(1) write IOs
submitted
(2) write
redo logs
Generating redo logs Generating undo logs
Consistent full backup
• The ring buffer must have enough capacity to store the
logs generated from t0 to t1
Primary host Backup host
Walb device
(online)
Log device
Full archive
Logs
Apply
(A)
(B)
Read the online volume
(inconsistent)
t1
Get consistent
image at t1
(C)
(A) (B) (C)
Time
t0 t2
Get logs from
t0 to t1
16
Consistent incremental backup
• To manage multiple backup generations,
defer application or generate undo-logs during application
Primary host Backup host
Walb device
(online)
Log device
Full archive
Logs
Apply
(A)
Get logs from
t0 to t1
(B)
(A) (B)
Time
t0 t2t1
Previous backup
timestamp
Backuped Application
can be deferred
17
Backup and replication
18
Primary host Backup host
Walb device
(online)
Log device
Full archive
Logs
Apply
(A)
Get logs from
t0 to t1 Replicated
(A’)
(A)
Time
t1 t3
Remote host
Full archive
Logs
Apply (B’)
(B)
(B)
t2
Backuped
t0
Replication delay
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
19
Alternative solutions
• DRBD
– Specialized for replication
– DRBD proxy is required for long-distance replication
• Dm-snap
– Snapshot management using COW (copy-on-write)
– Full-scans are required to get diffs
• Dm-thin
– Snapshot management using COW and
reference counters
– Fragmentation is inevitable
20
Alternatives comparison
WalB
dm-snap
Capability
dm-thin
21
DRBD
Incr.
backup
Sync
repl-
ication
Async
repl-
ication
Performance
Negligible
Search idx
Negligible
Read
response
overhead
Search idx
Write
response
overhead
Fragment-
ation
Write log
instead data
Modify idx
(+COW)
Send IOs to
slaves
(async repl.)
Modify idx
(+COW)
Never
Inevitable
Never
Never
(original lv)
WalB pros and cons
• Pros
– Small response overhead
– Fragmentation never occur
– Logs can be retrieved with sequential scans
• Cons
– 2x bandwidth is required for writes
22
WalB source code statistics
23
File systemsBlock device wrappers
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
24
Requirements to be a block device
• Read/write consistency
– It must read the latest written data
• Storage state uniqueness
– It must replay logs not changing the history
• Durability of flushed data
– It must make flushed write IOs be persistent
• Crash recovery without undo
– It must recover the data using redo-logs only
25
WalB algorithm
• Two IO processing methods
– Easy: very simple, large overhead
– Fast: a bit complex, small overhead
• Overlapped IO serialization
• Flush/fua for durability
• Crash recovery and checkpointing
26
IO processing flow (easy algorithm)
27
Submitted
Time
Completed
Packed
Log submitted Log completed
Wait for log flushed and overlapped IOs done
Data submitted Data completed
Write
Submitted
Time
Completed
Data submitted Data completed
Read
Log IO response Data IO response
WalB write IO response
Data IO response
IO processing flow (fast algorithm)
28
Submitted
Time
Completed
Packed
Log submitted Log completed
Wait for log flushed and overlapped IOs done
Data submitted Data completed
Log IO response Data IO response
WalB write IO response
Pdata inserted Pdata deleted
Write
Submitted
Time
Completed
(Data submitted) (Data completed)
Read
Pdata copied
Data IO response
Pending data
• A red-black tree
– provided as a kernel
library
• Sorted by IO address
– to find overlapped IOs
quickly
• A spinlock
– for exclusive accesses
29
Node0
addr
size
data
NodeN
addr
size
data
Node1
addr
size
data
...
...
Overlapped IO serialization
• Required for storage state uniqueness
• Oldata (overlapped data)
– similar to pdata
– counter for each IO
– FIFO constraint
31
Time
Wait for overlapped IOs done
Data submitted Data completed
Data IO response
Oldata inserted Oldata deletedGot notice Sent notice
Flush/fua for durability
• The condition for a log to be persistent
– All logs before the log and itself are persistent
• Neither FLUSH nor FUA is required for data device IOs
– Data device persistence will be guaranteed by checkpointing
34
Property to guarantee
All write IOs submitted
before the flush IO are
persistent
REQ_FLUSH
What WalB need to do
The fua IO is persistentREQ_FUA
Set FLUSH flag of the
corresponding log IOs
Set FLUSH and FUA flags to
the corresponding log IOs
Crash recovery and checkpointing
• Crash recovery
– Crash will make recent write IOs not be persistent
in the data device
– Generate write IOs from recent logs and
execute them in the data device
• Checkpointing
– Sync the data device and update the superblock
periodically
– The superblock contains recent logs information
35
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
36
Experimental environment
• Host
– CPU: Intel core i7 3930K
– Memory: DDR3-10600 32GB (8GBx4)
– OS: Ubuntu 12.04 x86_64
– Kernel: Custom build 3.2.24
• Storage HBA
– Intel X79 Internal SATA controller
– Using SATA2 interfaces for the experiment
37
Benchmark software
• Self-developed IO benchmark for block devices
– https://github.com/starpos/ioreth
– uses DIRECT_IO to eliminate buffer cache effects
• Parameters
– Pattern: Random/sequential
– Mode: Read/write
– Block size: 512B, 4KB, 32KB, 256KB
– Concurrency: 1-32
38
Target storage devices
• MEM
– Memory block devices (self-implemented)
• HDD
– Seagate Barracuda 500GB (ST500DM002)
– Up to 140MB/s
• SSD
– Intel 330 60GB (SSDSC2CT060A3)
– Up to 250MB/s with SATA2
39
Storage settings
• Baseline
– A raw storage device
• Wrap
– Self-developed simple wrapper
– Request/bio interfaces
• WalB
– Easy/easy-ol/fast/fast-ol
– Request/bio interfaces
40
Log Data
Data
Baseline
WalB driver
WalB
Data
Wrap
Wrap driver
WalB parameters
• Log-flush-disabled experiments
– Target storage: MEMs/HDDs/SSDs
– Pdata size: 4-128MiB
• Log-flush-enabled experiments
– Target storage: HDDs/SSDs
– Pdata size: 4-64MiB
– Flush interval size: 4-32MiB
– Flush interval period: 10ms, 100ms, 1s
41
MEM 512B random: response
42
Read Write
• Smaller overhead with bio interface
than with request interface
• Serializing write IOs of WalB seems
to enlarge response time as number
of threads increases
MEM 512B random: IOPS
43
Read Write
• Large overhead with request
interface
• Pdata search seems overhead of
walb-bio
• IOPS of walb decreases as num of
threads increases
due to decrease of cache-hit ratio
or increase of spinlock wait time
Queue length Queue length
Pdata and oldata overhead
44
MEM 512B random write
Kernel 3.2.24, walb req prototype
Overhead
of oldata
Overhead
of pdata
Queue length
HDD 4KB random: IOPS
45
Read Write
• Negligible overhead • IO scheduling effect was observed
especially with walb-req
Queue length Queue length
HDD 256KB sequential: Bps
46
Read Write
• Request interface is better
• IO size is limit to 32KiB with bio
interface
• Additional log header blocks
decrease throughput
Queue length Queue length
SSD 4KB random: IOPS
47
Read Write
• WalB performance is almost the
same as that of wrap req
• Fast algo. is better then easy algo.
• IOPS overhead is large with smaller
number of threads
Queue length Queue length
SSD 4KB random: IOPS
(two partitions in a SSD)
48
Read Write
• Almost the same result as with two
SSD drives
• A half throughput was observed
• Bandwidth of a SSD is the
bottleneck
Queue length Queue length
SSD 256KB sequential: Bps
49
Read Write
• Non-negligible overhead was
observed with queue length 1
• Fast is better than easy
• Larger overhead of walb with
smaller queue length
Queue length Queue length
Log-flush effects with HDDs
50
IOPS (4KB random write) Bps (256KB sequential write)
• IO sorting for the data device is
effective for random writes
• Enough memory for pdata is
required to minimize the log-flush
overhead
Queue length Queue length
Log-flush effects with SSDs
51
IOPS (4KB random write) Bps (32KB sequential write)
• Small flush interval is better
• Log flush increases IOPS with
single-thread
• Log-flush effect is negligible
Queue length Queue length
Evaluation summary
• WalB overhead
– Non-negligible for writes with small concurrency
– Log-flush overhead is large with HDDs,
negligible with SSDs
• Request vs bio interface
– bio is better except for workloads with large IO size
• Easy vs fast algorithm
– Fast is better
52
Contents
• Motivation
• Architecture
• Alternative solutions
• Algorithm
• Performance evaluation
• Summary
53
WalB summary
• A wrapper block device driver for
– incremental backup
– asynchronous replication
• Small performance overhead with
– No persistent indexes
– No undo-logs
– No fragmentation
54
Current status
• Version 1.0
– For Linux kernel 3.2+ and x86_64 architecture
– Userland tools are minimal
• Improve userland tools
– Faster extraction/application of logs
– Logical/physical compression
– Backup/replication managers
• Submit kernel patches
55
Future work
• Add all-zero flag to the log record format
– to avoid all-zero blocks storing to the log device
• Add bitmap management
– to avoid full-scans in ring buffer overflow
• (Support snapshot access)
– by implementing pluggable persistent address indexes
• (Support thin provisioning)
– if a clever defragmentation algorithm was available
56
Thank you for your attention!
• GitHub repository:
– https://github.com/starpos/walb/
• Contact to me:
– Email: hoshino AT labs.cybozu.co.jp
– Twitter: @starpoz (hashtag: #walbdev)
57

Contenu connexe

Tendances

BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephSage Weil
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversLinaro
 
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsCeph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsColleen Corrice
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitecturePatrick McGarry
 
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESQuick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESJan Kalcic
 
Ceph Day Seoul - The Anatomy of Ceph I/O
Ceph Day Seoul - The Anatomy of Ceph I/OCeph Day Seoul - The Anatomy of Ceph I/O
Ceph Day Seoul - The Anatomy of Ceph I/OCeph Community
 
Linux performance tuning & stabilization tips (mysqlconf2010)
Linux performance tuning & stabilization tips (mysqlconf2010)Linux performance tuning & stabilization tips (mysqlconf2010)
Linux performance tuning & stabilization tips (mysqlconf2010)Yoshinori Matsunobu
 
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster Ceph Community
 
Ceph Day KL - Bluestore
Ceph Day KL - Bluestore Ceph Day KL - Bluestore
Ceph Day KL - Bluestore Ceph Community
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudPatrick McGarry
 
Hadoop over rgw
Hadoop over rgwHadoop over rgw
Hadoop over rgwzhouyuan
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Sage Weil
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephRongze Zhu
 

Tendances (16)

BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
HKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM serversHKG15-401: Ceph and Software Defined Storage on ARM servers
HKG15-401: Ceph and Software Defined Storage on ARM servers
 
Bluestore
BluestoreBluestore
Bluestore
 
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and ContributionsCeph on Intel: Intel Storage Components, Benchmarks, and Contributions
Ceph on Intel: Intel Storage Components, Benchmarks, and Contributions
 
MyRocks Deep Dive
MyRocks Deep DiveMyRocks Deep Dive
MyRocks Deep Dive
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
 
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLESQuick-and-Easy Deployment of a Ceph Storage Cluster with SLES
Quick-and-Easy Deployment of a Ceph Storage Cluster with SLES
 
Ceph Day Seoul - The Anatomy of Ceph I/O
Ceph Day Seoul - The Anatomy of Ceph I/OCeph Day Seoul - The Anatomy of Ceph I/O
Ceph Day Seoul - The Anatomy of Ceph I/O
 
MySQL on ZFS
MySQL on ZFSMySQL on ZFS
MySQL on ZFS
 
Linux performance tuning & stabilization tips (mysqlconf2010)
Linux performance tuning & stabilization tips (mysqlconf2010)Linux performance tuning & stabilization tips (mysqlconf2010)
Linux performance tuning & stabilization tips (mysqlconf2010)
 
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
Ceph Day Taipei - Delivering cost-effective, high performance, Ceph cluster
 
Ceph Day KL - Bluestore
Ceph Day KL - Bluestore Ceph Day KL - Bluestore
Ceph Day KL - Bluestore
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
 
Hadoop over rgw
Hadoop over rgwHadoop over rgw
Hadoop over rgw
 
Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)Storage tiering and erasure coding in Ceph (SCaLE13x)
Storage tiering and erasure coding in Ceph (SCaLE13x)
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 

En vedette

MS Paint Collection: 04 - Astrology Series
MS Paint Collection: 04 - Astrology SeriesMS Paint Collection: 04 - Astrology Series
MS Paint Collection: 04 - Astrology Seriesivan anzuategui
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your CareerScott Lowe
 
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...VMworld
 
Where We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InWhere We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InScott Lowe
 
Parashar21 : What ? Why ? and How ?
Parashar21 : What ? Why ? and How ?Parashar21 : What ? Why ? and How ?
Parashar21 : What ? Why ? and How ?Prithwis Mukerjee
 
Indian Astrology | Astrology Services
Indian Astrology | Astrology ServicesIndian Astrology | Astrology Services
Indian Astrology | Astrology ServicesPandith Varma
 
Getting Involved in VMUG
Getting Involved in VMUGGetting Involved in VMUG
Getting Involved in VMUGScott Lowe
 
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)The Future of Cloud Networking is VMware NSX (Danish VMUG edition)
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)Scott Lowe
 
VMworld Europe 2014: Storage DRS - Deep Dive and Best Practices
VMworld Europe 2014: Storage DRS - Deep Dive and Best PracticesVMworld Europe 2014: Storage DRS - Deep Dive and Best Practices
VMworld Europe 2014: Storage DRS - Deep Dive and Best PracticesVMworld
 
An Introduction to Vagrant and Docker
An Introduction to Vagrant and DockerAn Introduction to Vagrant and Docker
An Introduction to Vagrant and DockerScott Lowe
 
Astrology basic
Astrology basicAstrology basic
Astrology basicSanjeev
 
Solving io bottleneck
Solving io bottleneckSolving io bottleneck
Solving io bottleneckAnil Vasudeva
 
Next-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and StorageNext-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and StorageScott Lowe
 
Simple math fusion-io_v4
Simple math fusion-io_v4Simple math fusion-io_v4
Simple math fusion-io_v4Steve Lee
 
The Vision for the Future of Network Virtualization with VMware NSX
The Vision for the Future of Network Virtualization with VMware  NSXThe Vision for the Future of Network Virtualization with VMware  NSX
The Vision for the Future of Network Virtualization with VMware NSXScott Lowe
 
The Full Stack Journey (DFW)
The Full Stack Journey (DFW)The Full Stack Journey (DFW)
The Full Stack Journey (DFW)Scott Lowe
 
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)Scott Lowe
 
Areas of KP research 2015
Areas of KP research 2015Areas of KP research 2015
Areas of KP research 2015Rajendra Nimje
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking OptionsScott Lowe
 
Kp interpretation of 6th house
Kp interpretation of 6th houseKp interpretation of 6th house
Kp interpretation of 6th houseRajendra Nimje
 

En vedette (20)

MS Paint Collection: 04 - Astrology Series
MS Paint Collection: 04 - Astrology SeriesMS Paint Collection: 04 - Astrology Series
MS Paint Collection: 04 - Astrology Series
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your Career
 
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...
VMworld 2013: Storage IO Control: Concepts, Configuration and Best Practices ...
 
Where We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits InWhere We're Headed and Where NSX Fits In
Where We're Headed and Where NSX Fits In
 
Parashar21 : What ? Why ? and How ?
Parashar21 : What ? Why ? and How ?Parashar21 : What ? Why ? and How ?
Parashar21 : What ? Why ? and How ?
 
Indian Astrology | Astrology Services
Indian Astrology | Astrology ServicesIndian Astrology | Astrology Services
Indian Astrology | Astrology Services
 
Getting Involved in VMUG
Getting Involved in VMUGGetting Involved in VMUG
Getting Involved in VMUG
 
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)The Future of Cloud Networking is VMware NSX (Danish VMUG edition)
The Future of Cloud Networking is VMware NSX (Danish VMUG edition)
 
VMworld Europe 2014: Storage DRS - Deep Dive and Best Practices
VMworld Europe 2014: Storage DRS - Deep Dive and Best PracticesVMworld Europe 2014: Storage DRS - Deep Dive and Best Practices
VMworld Europe 2014: Storage DRS - Deep Dive and Best Practices
 
An Introduction to Vagrant and Docker
An Introduction to Vagrant and DockerAn Introduction to Vagrant and Docker
An Introduction to Vagrant and Docker
 
Astrology basic
Astrology basicAstrology basic
Astrology basic
 
Solving io bottleneck
Solving io bottleneckSolving io bottleneck
Solving io bottleneck
 
Next-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and StorageNext-Generation Best Practices for VMware and Storage
Next-Generation Best Practices for VMware and Storage
 
Simple math fusion-io_v4
Simple math fusion-io_v4Simple math fusion-io_v4
Simple math fusion-io_v4
 
The Vision for the Future of Network Virtualization with VMware NSX
The Vision for the Future of Network Virtualization with VMware  NSXThe Vision for the Future of Network Virtualization with VMware  NSX
The Vision for the Future of Network Virtualization with VMware NSX
 
The Full Stack Journey (DFW)
The Full Stack Journey (DFW)The Full Stack Journey (DFW)
The Full Stack Journey (DFW)
 
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)
The Vision for the Future of Network Virtualization with VMware NSX (Q2 2016)
 
Areas of KP research 2015
Areas of KP research 2015Areas of KP research 2015
Areas of KP research 2015
 
An Overview of Linux Networking Options
An Overview of Linux Networking OptionsAn Overview of Linux Networking Options
An Overview of Linux Networking Options
 
Kp interpretation of 6th house
Kp interpretation of 6th houseKp interpretation of 6th house
Kp interpretation of 6th house
 

Similaire à An Efficient Backup and Replication of Storage

Swift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StorySwift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StoryBrian Cline
 
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage EngineMongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage EngineMongoDB
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDBMongoDB
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudoysteing
 
Optimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsOptimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsJavier González
 
InnoDB architecture and performance optimization (Пётр Зайцев)
InnoDB architecture and performance optimization (Пётр Зайцев)InnoDB architecture and performance optimization (Пётр Зайцев)
InnoDB architecture and performance optimization (Пётр Зайцев)Ontico
 
Proving out flash storage array performance using swingbench and slob
Proving out flash storage array performance using swingbench and slobProving out flash storage array performance using swingbench and slob
Proving out flash storage array performance using swingbench and slobKapil Goyal
 
Spil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLSpil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLThijs Terlouw
 
InnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter ZaitsevInnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter ZaitsevFuenteovejuna
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inRahulBhole12
 
You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011Scott Carlson
 
In-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesIn-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesHazelcast
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014clairvoyantllc
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014Avinash Ramineni
 
Windows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageWindows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageAidan Finn
 
Fabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and BytesFabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and BytesFlink Forward
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...DefconRussia
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware ProvisioningMongoDB
 
Innodb 和 XtraDB 结构和性能优化
Innodb 和 XtraDB 结构和性能优化Innodb 和 XtraDB 结构和性能优化
Innodb 和 XtraDB 结构和性能优化YUCHENG HU
 

Similaire à An Efficient Backup and Replication of Storage (20)

Swift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer StorySwift at Scale: The IBM SoftLayer Story
Swift at Scale: The IBM SoftLayer Story
 
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage EngineMongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
MongoDB Evenings Boston - An Update on MongoDB's WiredTiger Storage Engine
 
Sharding Methods for MongoDB
Sharding Methods for MongoDBSharding Methods for MongoDB
Sharding Methods for MongoDB
 
POLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloudPOLARDB: A database architecture for the cloud
POLARDB: A database architecture for the cloud
 
Optimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsOptimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDs
 
InnoDB architecture and performance optimization (Пётр Зайцев)
InnoDB architecture and performance optimization (Пётр Зайцев)InnoDB architecture and performance optimization (Пётр Зайцев)
InnoDB architecture and performance optimization (Пётр Зайцев)
 
Proving out flash storage array performance using swingbench and slob
Proving out flash storage array performance using swingbench and slobProving out flash storage array performance using swingbench and slob
Proving out flash storage array performance using swingbench and slob
 
Spil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLSpil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NL
 
InnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter ZaitsevInnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter Zaitsev
 
Cloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation inCloud computing UNIT 2.1 presentation in
Cloud computing UNIT 2.1 presentation in
 
You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011You Can't Correlate what you don't have - ArcSight Protect 2011
You Can't Correlate what you don't have - ArcSight Protect 2011
 
In-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesIn-memory Data Management Trends & Techniques
In-memory Data Management Trends & Techniques
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014
 
MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014MongoDB Replication fundamentals - Desert Code Camp - October 2014
MongoDB Replication fundamentals - Desert Code Camp - October 2014
 
Windows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined StorageWindows Server 2012 R2 Software-Defined Storage
Windows Server 2012 R2 Software-Defined Storage
 
cache memory
 cache memory cache memory
cache memory
 
Fabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and BytesFabian Hueske – Juggling with Bits and Bytes
Fabian Hueske – Juggling with Bits and Bytes
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Innodb 和 XtraDB 结构和性能优化
Innodb 和 XtraDB 结构和性能优化Innodb 和 XtraDB 结构和性能优化
Innodb 和 XtraDB 结构和性能优化
 

Plus de Takashi Hoshino

Serializabilityとは何か
Serializabilityとは何かSerializabilityとは何か
Serializabilityとは何かTakashi Hoshino
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level についてTakashi Hoshino
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3Takashi Hoshino
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2Takashi Hoshino
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御Takashi Hoshino
 
Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Takashi Hoshino
 
Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Takashi Hoshino
 
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Takashi Hoshino
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法Takashi Hoshino
 
メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介Takashi Hoshino
 
10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーションTakashi Hoshino
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤTakashi Hoshino
 
10分で分かるデータストレージ
10分で分かるデータストレージ10分で分かるデータストレージ
10分で分かるデータストレージTakashi Hoshino
 
Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Takashi Hoshino
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiTakashi Hoshino
 
Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Takashi Hoshino
 
ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法Takashi Hoshino
 
Intel TSX について x86opti
Intel TSX について x86optiIntel TSX について x86opti
Intel TSX について x86optiTakashi Hoshino
 

Plus de Takashi Hoshino (20)

Serializabilityとは何か
Serializabilityとは何かSerializabilityとは何か
Serializabilityとは何か
 
Isolation Level について
Isolation Level についてIsolation Level について
Isolation Level について
 
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
データベースシステムにおける直列化可能性と等価な時刻割り当てルールの提案 rev.3
 
WalB Driver Internals
WalB Driver InternalsWalB Driver Internals
WalB Driver Internals
 
トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2トランザクションの並行実行制御 rev.2
トランザクションの並行実行制御 rev.2
 
トランザクションの並行処理制御
トランザクションの並行処理制御トランザクションの並行処理制御
トランザクションの並行処理制御
 
Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38Effective Modern C++ 勉強会#8 Item38
Effective Modern C++ 勉強会#8 Item38
 
Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25Effective Modern C++ 勉強会#6 Item25
Effective Modern C++ 勉強会#6 Item25
 
Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4Effective Modern C++ 勉強会#1 Item3,4
Effective Modern C++ 勉強会#1 Item3,4
 
WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法WALをバックアップとレプリケーションに使う方法
WALをバックアップとレプリケーションに使う方法
 
メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介メモリより大きなデータの Sufix Array 構築方法の紹介
メモリより大きなデータの Sufix Array 構築方法の紹介
 
WalBの紹介
WalBの紹介WalBの紹介
WalBの紹介
 
10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション
 
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
 
10分で分かるデータストレージ
10分で分かるデータストレージ10分で分かるデータストレージ
10分で分かるデータストレージ
 
Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)Intel TSX 触ってみた 追加実験 (TTAS)
Intel TSX 触ってみた 追加実験 (TTAS)
 
Intel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86optiIntel TSX HLE を触ってみた x86opti
Intel TSX HLE を触ってみた x86opti
 
Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介Suffix Array 構築方法の紹介
Suffix Array 構築方法の紹介
 
ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法ログ先行書き込みを用いたストレージ差分取得の一手法
ログ先行書き込みを用いたストレージ差分取得の一手法
 
Intel TSX について x86opti
Intel TSX について x86optiIntel TSX について x86opti
Intel TSX について x86opti
 

Dernier

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

An Efficient Backup and Replication of Storage

  • 1. An Efficient Backup and Replication of Storage Takashi HOSHINO Cybozu Labs, Inc. 2013-05-29@LinuxConJapan rev.20130529a
  • 2. Self-introduction • Takashi HOSHINO – Works at Cybozu Labs, Inc. • Technical interests – Database, storage, distributed algorithms • Current work – WalB: Today’s talk! 2
  • 3. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 3
  • 4. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 4
  • 5. Motivation • Backup and replication are vital – We have our own cloud infrastructure – Requiring high availability of customers’ data – With cost-effective commodity hardware and software 5 Operating data Backup data Replicated data Primary DC Secondary DC
  • 6. Requirements • Functionality – Getting consistent diff data for backup/replication achieving small RPO • Performance – Without usual full-scans – Small overhead • Various kinds of data support – Databases – Blob data – Full-text-search indexes – ... 6
  • 7. • A Linux kernel device driver to provide wrapper block devices and related userland tools • Provides consistent diff extraction functionality for efficient backup and replication • “WalB” means “Block-level WAL” A solution: WalB 7 WalB storage Backup storage Replicated storage Diffs
  • 8. WAL (Write-Ahead Logging) 8 Ordinary Storage WAL Storage Write at 0 Write at 2 Read at 2 Write at 2 0 0 2 0 2 0 2 2 Time
  • 9. How to get diffs • Full-scan and compare • Partial-scan with bitmaps (or indexes) • Scan logs directly from WAL storages 9 a b c d e a b’ c d e’ b’ e’1 4 a b c d e a b’ c d e’ b’ e’1 4 00000 01001 a b c d e a b’ c d e’ b’ e’1 4 b’ e’1 4 Data at t0 Data at t1 Diffs from t0 to t1
  • 10. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 10
  • 11. WalB architecture A walb device as a wrapper A block device for data (Data device) A block device for logs (Log device) Read Write Logs Not special format An original format Any application (File system, DBMS, etc) Walb log Extractor Walb dev controller Control 11
  • 12. Log device format 12 Ring bufferMetadata Address Superblock (physical block size) Unused (4KiB) Log address = (log sequence id) % (ring buffer size) + (ring buffer start address)
  • 13. Checksum Ring buffer inside 13 2nd written data Ring buffer Log pack Logpack header block 1st written data … The oldest logpackThe latest logpack 1st log record IO address IO size ... Logpack lsid Log pack header block Num of records Total IO size 2nd log record IO address IO size ... ...
  • 14. Redo/undo logs • Redo logs – to go forward • Undo logs – to go backward 14 0 2 Data at t0 0 2 Data at t1 Redo logs Undo logs
  • 15. How to create redo/undo logs • Undo logs requires additional read IOs • Walb devices do not generate undo-logs 15 Data Log WalB (1) write IOs submitted (2) read current data (3) write undo logs Data Log WalB (1) write IOs submitted (2) write redo logs Generating redo logs Generating undo logs
  • 16. Consistent full backup • The ring buffer must have enough capacity to store the logs generated from t0 to t1 Primary host Backup host Walb device (online) Log device Full archive Logs Apply (A) (B) Read the online volume (inconsistent) t1 Get consistent image at t1 (C) (A) (B) (C) Time t0 t2 Get logs from t0 to t1 16
  • 17. Consistent incremental backup • To manage multiple backup generations, defer application or generate undo-logs during application Primary host Backup host Walb device (online) Log device Full archive Logs Apply (A) Get logs from t0 to t1 (B) (A) (B) Time t0 t2t1 Previous backup timestamp Backuped Application can be deferred 17
  • 18. Backup and replication 18 Primary host Backup host Walb device (online) Log device Full archive Logs Apply (A) Get logs from t0 to t1 Replicated (A’) (A) Time t1 t3 Remote host Full archive Logs Apply (B’) (B) (B) t2 Backuped t0 Replication delay
  • 19. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 19
  • 20. Alternative solutions • DRBD – Specialized for replication – DRBD proxy is required for long-distance replication • Dm-snap – Snapshot management using COW (copy-on-write) – Full-scans are required to get diffs • Dm-thin – Snapshot management using COW and reference counters – Fragmentation is inevitable 20
  • 21. Alternatives comparison WalB dm-snap Capability dm-thin 21 DRBD Incr. backup Sync repl- ication Async repl- ication Performance Negligible Search idx Negligible Read response overhead Search idx Write response overhead Fragment- ation Write log instead data Modify idx (+COW) Send IOs to slaves (async repl.) Modify idx (+COW) Never Inevitable Never Never (original lv)
  • 22. WalB pros and cons • Pros – Small response overhead – Fragmentation never occur – Logs can be retrieved with sequential scans • Cons – 2x bandwidth is required for writes 22
  • 23. WalB source code statistics 23 File systemsBlock device wrappers
  • 24. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 24
  • 25. Requirements to be a block device • Read/write consistency – It must read the latest written data • Storage state uniqueness – It must replay logs not changing the history • Durability of flushed data – It must make flushed write IOs be persistent • Crash recovery without undo – It must recover the data using redo-logs only 25
  • 26. WalB algorithm • Two IO processing methods – Easy: very simple, large overhead – Fast: a bit complex, small overhead • Overlapped IO serialization • Flush/fua for durability • Crash recovery and checkpointing 26
  • 27. IO processing flow (easy algorithm) 27 Submitted Time Completed Packed Log submitted Log completed Wait for log flushed and overlapped IOs done Data submitted Data completed Write Submitted Time Completed Data submitted Data completed Read Log IO response Data IO response WalB write IO response Data IO response
  • 28. IO processing flow (fast algorithm) 28 Submitted Time Completed Packed Log submitted Log completed Wait for log flushed and overlapped IOs done Data submitted Data completed Log IO response Data IO response WalB write IO response Pdata inserted Pdata deleted Write Submitted Time Completed (Data submitted) (Data completed) Read Pdata copied Data IO response
  • 29. Pending data • A red-black tree – provided as a kernel library • Sorted by IO address – to find overlapped IOs quickly • A spinlock – for exclusive accesses 29 Node0 addr size data NodeN addr size data Node1 addr size data ... ...
  • 30. Overlapped IO serialization • Required for storage state uniqueness • Oldata (overlapped data) – similar to pdata – counter for each IO – FIFO constraint 31 Time Wait for overlapped IOs done Data submitted Data completed Data IO response Oldata inserted Oldata deletedGot notice Sent notice
  • 31. Flush/fua for durability • The condition for a log to be persistent – All logs before the log and itself are persistent • Neither FLUSH nor FUA is required for data device IOs – Data device persistence will be guaranteed by checkpointing 34 Property to guarantee All write IOs submitted before the flush IO are persistent REQ_FLUSH What WalB need to do The fua IO is persistentREQ_FUA Set FLUSH flag of the corresponding log IOs Set FLUSH and FUA flags to the corresponding log IOs
  • 32. Crash recovery and checkpointing • Crash recovery – Crash will make recent write IOs not be persistent in the data device – Generate write IOs from recent logs and execute them in the data device • Checkpointing – Sync the data device and update the superblock periodically – The superblock contains recent logs information 35
  • 33. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 36
  • 34. Experimental environment • Host – CPU: Intel core i7 3930K – Memory: DDR3-10600 32GB (8GBx4) – OS: Ubuntu 12.04 x86_64 – Kernel: Custom build 3.2.24 • Storage HBA – Intel X79 Internal SATA controller – Using SATA2 interfaces for the experiment 37
  • 35. Benchmark software • Self-developed IO benchmark for block devices – https://github.com/starpos/ioreth – uses DIRECT_IO to eliminate buffer cache effects • Parameters – Pattern: Random/sequential – Mode: Read/write – Block size: 512B, 4KB, 32KB, 256KB – Concurrency: 1-32 38
  • 36. Target storage devices • MEM – Memory block devices (self-implemented) • HDD – Seagate Barracuda 500GB (ST500DM002) – Up to 140MB/s • SSD – Intel 330 60GB (SSDSC2CT060A3) – Up to 250MB/s with SATA2 39
  • 37. Storage settings • Baseline – A raw storage device • Wrap – Self-developed simple wrapper – Request/bio interfaces • WalB – Easy/easy-ol/fast/fast-ol – Request/bio interfaces 40 Log Data Data Baseline WalB driver WalB Data Wrap Wrap driver
  • 38. WalB parameters • Log-flush-disabled experiments – Target storage: MEMs/HDDs/SSDs – Pdata size: 4-128MiB • Log-flush-enabled experiments – Target storage: HDDs/SSDs – Pdata size: 4-64MiB – Flush interval size: 4-32MiB – Flush interval period: 10ms, 100ms, 1s 41
  • 39. MEM 512B random: response 42 Read Write • Smaller overhead with bio interface than with request interface • Serializing write IOs of WalB seems to enlarge response time as number of threads increases
  • 40. MEM 512B random: IOPS 43 Read Write • Large overhead with request interface • Pdata search seems overhead of walb-bio • IOPS of walb decreases as num of threads increases due to decrease of cache-hit ratio or increase of spinlock wait time Queue length Queue length
  • 41. Pdata and oldata overhead 44 MEM 512B random write Kernel 3.2.24, walb req prototype Overhead of oldata Overhead of pdata Queue length
  • 42. HDD 4KB random: IOPS 45 Read Write • Negligible overhead • IO scheduling effect was observed especially with walb-req Queue length Queue length
  • 43. HDD 256KB sequential: Bps 46 Read Write • Request interface is better • IO size is limit to 32KiB with bio interface • Additional log header blocks decrease throughput Queue length Queue length
  • 44. SSD 4KB random: IOPS 47 Read Write • WalB performance is almost the same as that of wrap req • Fast algo. is better then easy algo. • IOPS overhead is large with smaller number of threads Queue length Queue length
  • 45. SSD 4KB random: IOPS (two partitions in a SSD) 48 Read Write • Almost the same result as with two SSD drives • A half throughput was observed • Bandwidth of a SSD is the bottleneck Queue length Queue length
  • 46. SSD 256KB sequential: Bps 49 Read Write • Non-negligible overhead was observed with queue length 1 • Fast is better than easy • Larger overhead of walb with smaller queue length Queue length Queue length
  • 47. Log-flush effects with HDDs 50 IOPS (4KB random write) Bps (256KB sequential write) • IO sorting for the data device is effective for random writes • Enough memory for pdata is required to minimize the log-flush overhead Queue length Queue length
  • 48. Log-flush effects with SSDs 51 IOPS (4KB random write) Bps (32KB sequential write) • Small flush interval is better • Log flush increases IOPS with single-thread • Log-flush effect is negligible Queue length Queue length
  • 49. Evaluation summary • WalB overhead – Non-negligible for writes with small concurrency – Log-flush overhead is large with HDDs, negligible with SSDs • Request vs bio interface – bio is better except for workloads with large IO size • Easy vs fast algorithm – Fast is better 52
  • 50. Contents • Motivation • Architecture • Alternative solutions • Algorithm • Performance evaluation • Summary 53
  • 51. WalB summary • A wrapper block device driver for – incremental backup – asynchronous replication • Small performance overhead with – No persistent indexes – No undo-logs – No fragmentation 54
  • 52. Current status • Version 1.0 – For Linux kernel 3.2+ and x86_64 architecture – Userland tools are minimal • Improve userland tools – Faster extraction/application of logs – Logical/physical compression – Backup/replication managers • Submit kernel patches 55
  • 53. Future work • Add all-zero flag to the log record format – to avoid all-zero blocks storing to the log device • Add bitmap management – to avoid full-scans in ring buffer overflow • (Support snapshot access) – by implementing pluggable persistent address indexes • (Support thin provisioning) – if a clever defragmentation algorithm was available 56
  • 54. Thank you for your attention! • GitHub repository: – https://github.com/starpos/walb/ • Contact to me: – Email: hoshino AT labs.cybozu.co.jp – Twitter: @starpoz (hashtag: #walbdev) 57