Skip to content

Clustered MD RAID1

Goldwyn Rodrigues linux-raid 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest24 patches 14 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/24md-cluster: Design DocumentationDocumentation/md-cluster.txt+178 -03 replies
2/24Add number of nodes to bitmap structure for clusteringdrivers/md/bitmap.h+3 -22 replies
3/24Create a separate module for clustering supportdrivers/md/Kconfig drivers/md/Makefile drivers/md/md-cluster.c+47 -00 replies
4/24DLM lock and unlock functionsdrivers/md/md-cluster.c+104 -00 replies
5/24Introduce md_cluster_operations to handle cluster functionsdrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c +1 more+91 -00 replies
6/24Introduce md_cluster_infodrivers/md/bitmap.c drivers/md/md-cluster.c drivers/md/md.h+74 -50 replies
7/24Return MD_SB_CLUSTERED if mddev is clustereddrivers/md/md.c include/uapi/linux/raid/md_p.h+4 -00 replies
8/24Add node recovery callbacksdrivers/md/bitmap.c drivers/md/bitmap.h drivers/md/md-cluster.c +3 more+64 -100 replies
9/24Use separate bitmaps for each nodes in the clusterdrivers/md/bitmap.c drivers/md/bitmap.h drivers/md/md-cluster.c +1 more+64 -130 replies
10/24Lock bitmap while joining the clusterdrivers/md/md-cluster.c+16 -00 replies
11/24Gather on-going resync information of other nodesdrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c+119 -10 replies
12/24bitmap_create returns bitmap pointerdrivers/md/bitmap.c drivers/md/bitmap.h drivers/md/md.c+50 -330 replies
13/24Copy set bits from another slotdrivers/md/bitmap.c drivers/md/bitmap.h+78 -10 replies
14/24Initiate recovery on node failuredrivers/md/md-cluster.c+59 -00 replies
15/24Perform resync for cluster node failuredrivers/md/md-cluster.c+11 -10 replies
16/24Communication Framework: Receivingdrivers/md/md-cluster.c+101 -00 replies
17/24Communication Framework: Sending functionsdrivers/md/md-cluster.c+84 -00 replies
18/24metadata_update sends message to other nodesdrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c+106 -160 replies
19/24Reload superblock if METADATA_UPDATED is receiveddrivers/md/md-cluster.c drivers/md/md.c drivers/md/md.h+23 -00 replies
20/24Send RESYNCING while performing resync start/stopdrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c+35 -20 replies
21/24Resync start/Finish actionsdrivers/md/md-cluster.c+46 -00 replies
22/24Suspend writes in RAID1 if within rangedrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c +1 more+31 -40 replies
23/24Read from the first device when an area is resyncingdrivers/md/raid1.c+7 -10 replies
24/24Add new disk to clustered arraydrivers/md/md-cluster.c drivers/md/md-cluster.h drivers/md/md.c +4 more+171 -90 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/24] Clustered MD RAID1

Hello,

This is an attempt to make MD-RAID cluster-aware. The advantage of redundancy can help highly available systems to improve uptime. Currently, the implementation is limited to RAID1 but with further work (and some positive feedback), we could extend this to other compatible RAID scenarios.

The design document (first patch) is pretty descriptive of how the md has been made cluster-aware and how DLM is used to safeguard data and communication.

This work requires some patches to the mdadm tool [1]

A quick howto:

1. With your corosync/pacemaker based cluster running execute:

# mdadm --create md0 --bitmap=clustered --raid-devices=2 --level=mirror --assume-clean /dev/sda /dev/sdb

2. On other nodes, issue:

# mdadm --assemble md0 /dev/sda /dev/sdb

References:
[1] mdadm tool changes: https://github.com/goldwynr/mdadm branch:cluster-md
[2] Patches against stable 3.14: https://github.com/goldwynr/linux branch: cluster-md-devel

Regards,

Signature · 1 line
Goldwyn