I know this is a pretty old post but I feel that part of it was not answered and it made me curious so I tested it.
@fluke:
In response to you mentioning "Autorecovery has nothing to do with drbd names or ip." I think he meant those as two separate questions. How to make it auto-recover when it dies, but then also whether his network config was causing his split-brain issues to begin with.
I've seen the question of auto-recover answered in several posts so I'm skipping it.
As to the other question I think his concern was unfounded.
Considering the DRBD config currently on the proxmox wiki:
Code:
on proxmox-105 {
device /dev/drbd0;
disk /dev/sdb1;
address 10.0.7.105:7788;
meta-disk internal;
}
on proxmox-106 {
device /dev/drbd0;
disk /dev/sdb1;
address 10.0.7.106:7788;
meta-disk internal;
}
it is clear the "on proxmox-105" and "on proxmox-106" refer to the
hostname of the nodes. Does DRBD need that hostname in a network capacity? Does it need to look up that hostname? If eth0 is down will this prevent these functions and prevent the DRBD resource from coming up successfully even if a nic has been dedicated to DRBD?
This may be obvious to more experienced users but not so to newer ones.
So I took a standard pve1.6 two node cluster and added DRBD as described on the wiki. I then unplugged the eth0 line from both nodes and rebooted them.
The DRBD resource came up just fine. I stopped DRBD on both nodes and re-started it on both; within the wfc-timeout.
The resource came back online without issue.
The original poster seemed concerned that he might be running into a split-brain scenario because his switch was failing and dropping eth0, despite having eth1 dedicated to DRBD. As best as I can tell from the test this was likely not the case and the hostname in the config file is only checked on each machine locally to determine which section of the config file to run.
I do not believe that the hostname needs to be looked up or that there needs to be a way to look up the IP of the dedicated DRBD interface (unless a hostname is used there too instead of hard-coding an IP...and I wouldn't recommend that!).