drbd + heartbeat + xen: ha virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we...

29
„DRBD 9“ Linux Storage Replication Lars Ellenberg LINBIT HA Solutions GmbH Vienna, Austria

Upload: others

Post on 11-Mar-2020

18 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

„DRBD 9“

Linux Storage Replication

Lars Ellenberg

LINBIT HA Solutions GmbHVienna, Austria

Page 2: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

What this talk is about

• What is replication

• Why block level replication

• Why replication

• What do we have to deal with

• How we are dealing with it now

• Where development is headed

Page 3: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Linux Storage Replication

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 4: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Linux Storage Replication

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 5: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Standalone Servers

Node 1 Node 2 Node 3

• No System Level Redundancy

• Vulnerable to FailuresImportant Systems

Page 6: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Application Level Replication

Node 1 Node 3

• Special Purpose Solution

• Difficult to add to an application after the fact

Important Systems

AppApp

Page 7: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Filesystem Level Replication

Node 1 Node 3

• Special Filesystem

• Complex

• Replicate on dirty?

• ... on writeout?

• ... on close?

• What about metadata?

• Resilience?

Important Systems

FSFS

Page 8: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Shared Storage/SAN

Shared Storage (SAN)

Shared data

Node 1 Node 2 Node 3

• No Storage Redundancy

Important Systems

FC, iSCSI

Page 9: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Shared Storage/SAN

Replication capable SAN

Shared data

Node 1 Node 2 Node 3

• Application agnostic

• Expensive Hardware

• Expensive License costs

Important Systems

FC, iSCSI

Shared Storage/SAN

Replica

Page 10: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Cluster

Block Level Replication

Node 1 Node 2DRBD

• Storage Redundancy

• Application Agnostic

• Generic

• Flexible

Page 11: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Storage Cluster

SAN Replacement Storage Cluster

Node 1 Node 2DRBD

Node 1 Node 2 Node 3

iSCSI

• Storage Redundancy

• Application Agnostic

• Generic

• Flexible

Important Systems

Page 12: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Linux Storage Replication

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 13: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

How it works: Normal operation

Data blocks

Wr

ite

I/

O

Data blocks

Replicate Acknowledge

Primary Node

Secondary Node

Re

ad

I/

OApplication

Re

ad

I/

O

Wri

te

I/

O

Replicate Acknowledge

Page 14: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

How it works: Primary Node Failure

Wr

ite

I/

O

Data blocks

Replicate Acknowledge

Primary Node

Secondary Node

Re

ad

I/

OApplication

Re

ad

I/

O

Primary Node

Wr

ite

I/

O

Re

ad

I/

O

Data blocksApplication

Re

ad

I/

O

Page 15: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Offline Node

How it works: Secondary Node Failure

Data blocks

Wr

ite

I/

O

Data blocks

Primary Node

Re

ad

I/

OApplication

Re

ad

I/

O

Wri

te

I/

O

Page 16: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

How it works: Secondary Node Recovery

Data blocks

Data blocks

Resync Acknowledge

Primary Node

Secondary Node

Re

ad

I/

OApplication

Re

ad

I/

O

Resync Acknowledge

Page 17: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

What if ...

• We want additional replica for desaster recovery

- we can stack DRBD

• The latency to the remote site is too high

- stack DRBD for local redundancy,run the high latency link in asynchronous mode,add buffering and compressing with DRBD proxy

• Primary node/site fails during resync

- Snapshot before becoming sync target

Page 18: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

It Works.

• Though it may be ugly.

• Can we do better?

Page 19: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Linux Storage Replication

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 20: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Generic Replication Framework

• Track Data changes

- Persistent (on Disk) Data Journal

- “global” write ordering over multiple volumes

- Fallback to bitmap based change tracking

• Multi-node.

- many “site links” feed from the journal

• Flexible Policy

- When to report completion to upper layers

- (when to) do fallback to bitmap

Page 21: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Current „default“ reference implementation

• Only talks to “dumb” block devices

• “Software RAID1”allowing some legs to lag behind

• No concept of “data generation”

• Cannot communicate metadata

• Not directly suitable for failover solutions

• Primary objective: cut down on “hardware” replication licence costs, replicate SAN-LUNs in softwareto desaster recovery sites.

Page 22: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

DRBD 9

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 23: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Replicating smarter, asynchronous

• Detect and discard overwrites

- shipped batches must be atomic

• Compress

• Compress XOR-diff

• Side effects

- Can be undone

- Checkpointing of generic block data

- Point in time recovery

Page 24: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Replicating smarter, synchronous

• Identify a certain Data Set Version

• Start from scratch

• continuous stream of changes

• Data Generation Tags, dagtag

- which clone (node name)

- which volume (label)

- who modified it last (committer)

- modification date (position in the change stream)

Page 25: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Colorful Replication Stream

Primary Node Changes

atomic batchdiscardingoverwrites

Data Set Divergence

Page 26: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Advantages of the Data Generation Tag scheme

• On handshake, exchange dagtags

- Trivially see who has the best dataeven on primary site failurewith multiple secondaries possibly lagging behind

• Communicate dagtags with atomic (compressed, xor-diff) batches

- allows for daisy chaining

• keep dagtag and batch payload

- Checkpointing: just store the dagtag.

Page 27: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

DRBD 9

Replication Basics

DRBD 8 Overview

DM-Replicator

DRBD 9

Other Ideas

Page 28: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Stretched cluster file systems?

• Multiple branch offices

• One cluster filesystem

• Latency would make unusable

• But when- keeping leases and- inserting lock requests into the replication data stream- while having mostly self-contained access

in the branch offices

• It may feel like low latency most of the time, with occasional longer delays on access.

• Tell me why I'm wrong :-)

Page 29: DRBD + Heartbeat + Xen: HA Virtualizationdata.guug.de/slides/lk2008/le_drbd9-lk2008-slides.pdf- we can stack DRBD • The latency to the remote site is too high - stack DRBD for local

Comments?

[email protected]

http://www.linbit.comhttp://www.drbd.org

If you think you can help,

we are Hireing!