Getting DRDB and LVM to play ball together
You want to use DRBD for mirroring your disks over the network, and put LVM on top of your DRBD disk for flexible disk management? Try it like this:
- Setting up DRDB
- Setting up LVM
However, LVM is rather greedy when it comes to hogging block level devices at boot time. So, after restarting, it will happily discover your scsi disk, md device, or whatever, and DRBD will spawn some nasty output like:
Starting DRBD resources: [ d0 d1 ioctl(,SET_DISK_CONFIG,) failed: Invalid argument Lower device is already mounted. cmd /sbin/drbdsetup /dev/drbd1 disk /dev/md3 internal -1 failed!
The solution is to edit your lvm.conf to filter out the block devices you've assigned as DRBD devices. Try modifying your LCM configuration like this ( found in /etc/lvm/lvm.conf on Fedora and Red Hat distros ):
# By default we accept every block device: # Comment this out: # filter = [ "a/.*/" ] # Filter out your DRBD block devices, accept the rest: filter = [ "r/md3", "a/.*/" ]
After this, rescan your LVM configuration by executing:
pvscan vgscan vgchange -a y
And finally start your DRBD daemon:
/etc/init.d drbd start