Atlantic.Net Blog

How to Configure LVM (Logical Volume Management) on DRBD (Distributed Replicated Block Device)

Introduction

This how-to will help walk you through adding LVM to DRBD. Distributed Replicated Block Device (DRBD) is a block level replication between two or more nodes and is used as a replacement for shared storage by created a networked mirror. DRBD is used in environments that require systems or data to be Highly Available.

Configuring LVM on DRBD

Before we start adding LVM to DRBD you should disable the LVM cache by setting:

write_cache_state = 0

After you disable the LVM cache, make sure to remove any stale cache entries by deleting the following:

/etc/lvm/cache/.cache

You must repeat the above steps on all DRBD nodes.

Now that we have our DRBD volume in Primary/Primary mode we need to add LVM to this device.

LVM Filters

Update your lvm.conf:

You will need to update the filter section in the LVM configuration. This needs to be done on both nodes:

nano /etc/lvm/lvm.conf

# By default we accept every block device:

filter = [ "r|/dev/sdb|", "r|/dev/disk/|", "r|/dev/block/|", "a/.*/" ]

Note: if you device is not /dev/sdb update this according to your system

Physical Volume Creation

Create the physical volume for LVM:

On one node, create the physical volume:

proxmox-host01:~# pvcreate /dev/drbd0
Physical volume "/dev/drbd0" successfully created
proxmox-host01:~#

Check your physical volumes, they should look like similar to this:

proxmox-host01:~# pvscan
PV /dev/drbd0 lvm2 [100.00 GB]
Total: 1 [100.00 GB] / in use: 1 [100.00 GB] / in no VG: 1 [4.00 GB]
proxmox-host01:~#

Volume Group Creation

Create the volume group:

On one node, create the volume group:

proxmox-host01:~# vgcreate vg_vm100 /dev/drbd0
Volume group "drbdvg" successfully created
proxmox-host01:~#

Check your physical volumes again, they should look like similar to this:

proxmox-host01:~# pvscan
PV /dev/drbd0 VG vg_vm100 lvm2 [149.04 GB / 149.04 GB free]
Total: 1 [100.00 GB] / in use: 1 [100.00 GB] / in no VG: 1 [4.00 GB]
proxmox-host01:~#

Logical Volume Creation

Create a logical volume for your VM:

proxmox-host01:~# lvcreate --name vm100 --size 50G vg_vm100
proxmox-host01:~#

The above command will create a new 50GB Logical Volume named  vm100 and assign it to the vg_vm100 volume group. From here, you’re ready to add a new VM using your LVM as your storage partition (/dev/vg_vm100/vm100).

In order to check that things are fully working, create a new KVM VM and store the VM disk on the previously created DRBD storage.

Check out our helpful article for DRBD Replication and Configuration!

Atlantic.Net

Since 1995, Atlantic.Net has been providing internet services to customers, including VPS hosting and managed server hosting. In 20+ years of service, our solutions have been focused on providing the very best in web solutions to our valued customers!

Get a $250 Credit and Access to Our Free Tier!

Free Tier includes:
G3.2GB Cloud VPS a Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year