Verified and Tested 1/20/16
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.
* Two servers running Debian GNU/Linux Distribution. Other versions of Linux will work as well, but the installation packages may be different.
* Both servers should be directly cross-connected together, or have a separate Network Interface for private communication.
* Both servers should have the same partitioning. This walkthrough assumes that both systems have a single /dev/sdb device that is going to be used as the
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:
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.
Update your lvm.conf:
You will need to update the filter section in the LVM configuration. This needs to be done on both nodes:
# 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.