I meant this suggestion for future proxmox development.
This is how I imagine it:
Via the GUI:
* Add lvm group with "shared" checkbox
* Create new VM like normal on "shared" storage. lv is created on all nodes with "master" being the machine the vm is created on. All other (N) nodes will become secondary.
* Proxmox VE web interface then adjusts drbd.conf on all nodes -- everyone secondaries to the machine who the vm was created on.
* When doing a migration, swap the primary/secondary status of the two nodes the vm is being transferred between. Have any other secondary node(s) update their master.
Advantages:
* This gives you finer grained control over individual vm's/disk resources. If a cluster member crashes, you don't need to worry about the resources on any other nodes that are up -- only resources on nodes that are "crashed". If you have a LOT of servers with replicated storage this would/should probably make recovery a lot faster.
* I am also not sure if you can have more than a 2 node "primary/primary" setup. I think a primary/slave setup can scale more nodes.
* This should be alot easier to recover split brain from. Right now I haven't found a lot of documentation on recovering primary/primary splitbrain. When it isn't done automatically I know of only one other way to do it. This way includes discarding all data on one of my 2 nodes & resyncing from scratch. I imagine this won't scale well with large numbers of nodes & disk.
I am new to DRBD, so if my assumptions are wrong, I'm open to suggestions.
My primary interests are:
* Granular control of resources, so that if I have to recover a box, I dont need to re-synch a multi TB device (the entire pv versus a single lv)
* Scaling beyond 2 nodes (can primary/primary do this?)
* Quicker recovery in a split brain situation. I have not found good docs on recovering a primary/primary split brain. Primary/secondary recovery seems to have a lot more options in the DRBD options as well as in google
Comments, suggestions, and criticisms welcome!