Quoting Stan Hoeppner <stan@hardwarefreak.com>:
DRBD is for mirroring physical devices over a network. You might be
able to do DRBD inside a VM guest, but to what end? What sense does it make to do so?
It doesn't really make sense, and it can cause problems... What problems depends on your VM implementation (Xen, KVM, VMWare, VirtualBox, etc).
Some things might be mount table propogation between hosts/guests causing problem unmounting drbd paritions or even shutting down the VM, running lots of drbd instances instead of only one (as Stan mentioned) which can mean more processes and more (buffer) memory being used than is needed and more configuration files needed, performance issues of all kinds, and so on.
Think about it: you are increasing the number of processes in the VM guests, you are increasing the amount of memory used in the VM guests, you are increasing traffic to the virtual switch/bridge, you are potentially increasing the complexity of your configuration, possibly taking a big performance hit (depending on VM type and config), limiting your flexibiilty, increases difficulty of debugging and performance tuning, and so on. Is it worth it?
Plus, if you run DRBD in the VM, then the VM must run DRBD. If you run DRBD in the physical host, you can then export it to any VM, even a VM that doesn't support DRBD. Things like this can impact VM flexibility (migrations, OS support, backups, etc).
Can you do it? Yes. Can you get away with it? Probably. Should you do it? No. Would I do it? Never...
-- Eric Rostetter The Department of Physics The University of Texas at Austin
Go Longhorns!