Replicating partitions is a great way to back up data in real-time. This is one of the most useful operations we can do as sysadmin as it can save us a lot of time. Imagine that a server has a lot of information and suddenly stops working. It would be a problem. However, if we are replicating all its information through the network there would be no need to be alarmed. So, in this post, I will explain how to install and configure DRBD on Debian 10.
0. What we need
First of all, we need two Debian 10 teams. Both must have a static IP address and a defined hostname. Also, they have a partition defined for replication of the same size. Then, be connected to the same network and that the Firewall allows connections through the DRBD network port. In short, this will be our environment.
Node 1:
- IP address: 192.168.250.100
- Hostname: osradar1
- OS: Debian 10
- Disk: /dev/sda
- Partition to replicate: /dev/sda2
Node 2:
- IP address: 192.168.250.110
- Hostname: osradar2
- OS: Debian 10
- Disk: /dev/sda
- Partition to replicate: /dev/sda2
Each node must have a /dev/sda2/ partition of at least several GB in size.
1) Install DRBD on Debian 10
DRBD is available in the official repositories of the distribution. So the installation is not complicated.
On both nodes, run the following command:
:~$ sudo apt install drbd-utils
Of course, DRBD incorporates a module that has to be loaded into the kernel. In both nodes, it has to be loaded. To do this, run the following command:
:~$ sudo modprobe drbd
Then, check the module was added.
:~$ lsmod | grep drbd
2) Configure DRBD
The package is already installed and the module loaded to the kernel. Now it remains to make the appropriate settings for the replication to be a success.
DRBD has the particularity of being flexible, that is, the configuration file has many options that we can manipulate and adapt to our needs.
However, it is recommended to make a backup of the configuration file before starting to work on it.
:~$ sudo cp /etc/drbd.conf /etc/drbd.conf.bak
Then, erase the entire file.
:~$ sudo cat /dev/null > /etc/drbd.conf
Now, you need to edit the configuration file:
:~$ sudo nano /etc/drbd.conf
And add the following:
global { usage-count no; } common { syncer { rate 100M; } } resource r0 { protocol C; startup { wfc-timeout 15; degr-wfc-timeout 60; } net { cram-hmac-alg sha1; shared-secret "secret"; } on osradar1 { device /dev/drbd0; disk /dev/sda2; address 192.168.250.100:7788; meta-disk internal; } on osradar2 { device /dev/drbd0; disk /dev/sda2; address 192.168.0.110:7788; meta-disk internal; } }
The truth is that I think that many of the options are very explicit but I will briefly explain the most important ones.
In global and common some global configurations are defined to both nodes and resources.
Then, in the resource section, we define the name. In this case r0
, of course, you can modify it. Next, in protocol, startup, and net, specific configurations to the resource.
Then, there is the configuration in each node identified by the hostname. In each of them, we define the DRBD device and the partition we are going to replicate (disk
). Also, the IP address of the node as well as the communication port.
As you can see it is not very complex or long to understand.
3) Start DRBD on Debian 10
Remember this same file must be on both nodes. Then, in both nodes run the following commands to start the DRBD service.
:~$ sudo systemctl stop drbd :~$ sudo drbdadm create-md r0 :~$ sudo drbdadm attach r0
Remember that isr0
the name of the resource. You can change it in the configuration file.
After that, you can start the service.
:~$ sudo systemctl start drbd
And set which node will be the master. In this case, the node1 will be the master. So, in the node1 run this command:
:~$ sudo drbdadm -- --overwrite-data-of-peer primary all
With that, we should have an effective replication. It would be enough to create a new file system and mount it.
:~$ sudo mkfs.ext4 /dev/drbd0 :~$ sudo mkdir /testdata :~$ sudo mount /dev/drbd0 /testdata
There, you can create new files. And that is it.
If you want more post about Debian 10, please click here.
Please share this post with your friends and join our Telegram Channel.