Skip to content
This repository has been archived by the owner on Feb 18, 2018. It is now read-only.
/ drbd-motion Public archive

Data Center Storage using DRBD to migrate disks around your cluster

License

Notifications You must be signed in to change notification settings

themicster/drbd-motion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

drbd-motion

Data Center Storage using DRBD to migrate disks around your cluster. I'm using this only on an internal network, do not expose the drbd-motion server to the outside world! If you're running on a shared network at a could provider, beware.

You'll need to update the .env files with your internal IPs and use them in the curl commands below instead of the ones shown here.

This will create a 1GB file on the master and a 1GB ramdisk on the slave then it sets the slave to primary and you can mount it and read/write to it and all changes are saved in the file on the master. This is very basic at this point and not very useful yet. I plan to make it easier to use and make some scripts to do all the heavy lifting. At this point its a good proof of concept. I'm doing this on a set of CoreOS machines. Run the docker container from the directory with the .env files or update the --env-file= to point to them.

Clone this repository on the two servers and build the container in the server directory by running ./build

Both Master and Slave:

sudo modprobe drbd
sudo modprobe brd rd_size=1024000

Initial Setup on master (10.1.2.7):

sudo mknod /dev/fake-dev0 b 7 200
sudo mkdir /opt
sudo dd if=/dev/zero of=/opt/dev0-backstore bs=1M count=1000

sudo losetup /dev/fake-dev0 /opt/dev0-backstore
sudo docker run --name drbd-motion -d --privileged --net=host --env-file=./server.env micster/drbd-motion-server
curl -k https://10.1.2.7:8445/drbd-motion/initialize
sudo mkfs -t ext4 /dev/drbd0

Run docker logs drbd-motion to see the output from the server. You'll notice there is an error on formatting the filesystem, so that's why we do it manually after the initialize.

Master (if you've already run this as part of the initial setup, it's still running no need to run it again):

sudo docker run --name drbd-motion -d --privileged --net=host --env-file=./server.env micster/drbd-motion-server

Slave (10.1.2.6):

sudo docker run --name drbd-motion -d --privileged --net=host --env-file=./client.env micster/drbd-motion-server
curl -k https://10.1.2.6:8445/drbd-motion/initialize

Mount the disk on the slave:

curl -k https://10.1.2.7:8445/drbd-motion/secondary
curl -k https://10.1.2.6:8445/drbd-motion/primary

sudo mkdir -p /var/data/drbd0
sudo mount -t ext4 /dev/drbd0 /var/data/drbd0

Umount and set master as primary:

sudo umount /dev/drbd0

curl -k https://10.1.2.6:8445/drbd-motion/secondary
curl -k https://10.1.2.7:8445/drbd-motion/primary

About

Data Center Storage using DRBD to migrate disks around your cluster

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published