Mailing List Archive

V9 res file syntax
Hi guys,

sorry to keep bugging you with this.  Can anyone give me a sample
working res file for a 3 node setup with crossover links?

It says here
https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns
<https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns> :

"If you have got enough network cards in your servers, you can create
direct cross-over links between server pairs. A single four-port
ethernet card allows to have a single management interface, and to
connect 3 other servers, to get a full mesh for 4 cluster nodes."

I do, and each of the three nodes can ping the other two nodes to which
they are connect.  But I am confused about how/where their IPs and ports
are defined in the .res file.    I have three hosts connected directly
via discrete interfaces on each node.:

01 <----> 02 ---- 10.10.1.0/24
02 <----> 03 ---- 10.10.2.0/24
01 <----> 03 ---- 10.10.3.0/24

back to the page is then says this:

In this case you can specify a different IP address to use the direct link:

resource r0 {
  ...
  connection {
    host alice   address 10.1.2.1:7010;
    host bob     address 10.1.2.2:7001;
  }
  connection {
    host alice   address 10.1.3.1:7020;
    host charlie address 10.1.3.2:7002;
  }
  connection {
    host bob     address 10.1.4.1:7021;
    host charlie address 10.1.4.2:7012;
  }
}

I assume the ... on line 2 is referring to the previous example above
that, which is:

resource r0 {
device /dev/drbd1;
disk /dev/sda7;
meta-disk internal;
on alice {
address 10.1.1.31:7000;
node-id 0;
}
on bob {
address 10.1.1.32:7000;
node-id 1;
}
on charlie {
address 10.1.1.33:7000;
node-id 2;
}
connection-mesh {
hosts alice bob charlie;
}
}

But I keep getting parsing errors no matter where I put that "connection" stanza. drbdadm complains with:

# drbdadm up webdav
drbd.d/webdav.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected,
 but got 'connection' (TK 282)

I do apologize if I am again asking a question the answer to which is right in front of my face and I'm not seeing it, but where do the three "connection" statements go? Obviously they don't go where I put them.
What would a complete example of a 3 node V9 with a discrete NIC and cable between each node look like?

Please and thanks and sorry to be asking such a newb question. :(

Paul
Re: V9 res file syntax [ In reply to ]
Can I convince anyone to show me a working res file for the V9 3 node
setup with multiple NICs and direct connections?

Try as I may I simply cannot get my res file to parse.

I even tried doing it all on the one network as per the first example
but I can't even get the examples to parse, a copy/paste of the 3 node
example complains that "connection-mesh" in in the wrong place.  I
figured I would take a working example and go from there but even then I
get:

drbd.d/webdav.res:7: Parse error: 'disk | device | address |
meta-disk | flexible-meta-disk' expected,
        but got 'node-id'

so I can't even seem to get the right structure and I am clearly missing
something fundamental here...

Does anyone have any suggestions?

* Paul O'Rorke*


On 2021-10-05 3:13 p.m., Paul D. O'Rorke wrote:
>
> Hi guys,
>
> sorry to keep bugging you with this.  Can anyone give me a sample
> working res file for a 3 node setup with crossover links?
>
> It says here
> https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns
> <https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns> :
>
> "If you have got enough network cards in your servers, you can create
> direct cross-over links between server pairs. A single four-port
> ethernet card allows to have a single management interface, and to
> connect 3 other servers, to get a full mesh for 4 cluster nodes."
>
> I do, and each of the three nodes can ping the other two nodes to
> which they are connect.  But I am confused about how/where their IPs
> and ports are defined in the .res file.    I have three hosts
> connected directly via discrete interfaces on each node.:
>
> 01 <----> 02 ---- 10.10.1.0/24
> 02 <----> 03 ---- 10.10.2.0/24
> 01 <----> 03 ---- 10.10.3.0/24
>
> back to the page is then says this:
>
> In this case you can specify a different IP address to use the direct
> link:
>
> resource r0 {
>   ...
>   connection {
>     host alice   address 10.1.2.1:7010;
>     host bob     address 10.1.2.2:7001;
>   }
>   connection {
>     host alice   address 10.1.3.1:7020;
>     host charlie address 10.1.3.2:7002;
>   }
>   connection {
>     host bob     address 10.1.4.1:7021;
>     host charlie address 10.1.4.2:7012;
>   }
> }
>
> I assume the ... on line 2 is referring to the previous example above
> that, which is:
>
> resource r0 {
> device /dev/drbd1;
> disk /dev/sda7;
> meta-disk internal;
> on alice {
> address 10.1.1.31:7000;
> node-id 0;
> }
> on bob {
> address 10.1.1.32:7000;
> node-id 1;
> }
> on charlie {
> address 10.1.1.33:7000;
> node-id 2;
> }
> connection-mesh {
> hosts alice bob charlie;
> }
> }
>
> But I keep getting parsing errors no matter where I put that "connection" stanza. drbdadm complains with:
>
> # drbdadm up webdav
> drbd.d/webdav.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected,
>  but got 'connection' (TK 282)
>
> I do apologize if I am again asking a question the answer to which is right in front of my face and I'm not seeing it, but where do the three "connection" statements go? Obviously they don't go where I put them.
> What would a complete example of a 3 node V9 with a discrete NIC and cable between each node look like?
>
> Please and thanks and sorry to be asking such a newb question. :(
>
> Paul
>
>
>
>
> _______________________________________________
> Star us on GITHUB: https://github.com/LINBIT
> drbd-user mailing list
> drbd-user@lists.linbit.com
> https://lists.linbit.com/mailman/listinfo/drbd-user
Re: V9 res file syntax [ In reply to ]
You probably have a DRBD 8 kernel module loaded, then drbdadm parses the configuration in v8 format which doesn't have node-id.

Hope that helps,

Best regards Johannes

Von meinem Huawei-Mobiltelefon gesendet

-------- Originalnachricht --------
Betreff: Re: [DRBD-user] V9 res file syntax
Von: "Paul D. O'Rorke"
An: drbd-user@lists.linbit.com
Cc:




Can I convince anyone to show me a working res file for the V9 3 node setup with multiple NICs and direct connections?

Try as I may I simply cannot get my res file to parse.

I even tried doing it all on the one network as per the first example but I can't even get the examples to parse, a copy/paste of the 3 node example complains that "connection-mesh" in in the wrong place.  I figured I would take a working example and go from there but even then I get:


drbd.d/webdav.res:7: Parse error: 'disk | device | address | meta-disk | flexible-meta-disk' expected,
        but got 'node-id'


so I can't even seem to get the right structure and I am clearly missing something fundamental here...

Does anyone have any suggestions?


 Paul O'Rorke




On 2021-10-05 3:13 p.m., Paul D. O'Rorke wrote:


Hi guys,

sorry to keep bugging you with this.  Can anyone give me a sample working res file for a 3 node setup with crossover links? 


It says here https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns"]https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns :


"If you have got enough network cards in your servers, you can create direct cross-over links between server pairs. A single four-port ethernet card allows to have a single management interface, and to connect 3 other servers, to get a full mesh for 4 cluster nodes."

I do, and each of the three nodes can ping the other two nodes to which they are connect.  But I am confused about how/where their IPs and ports are defined in the .res file.    I have three hosts connected directly via discrete interfaces on each node.:

01 <----> 02 ---- 10.10.1.0/24
02 <----> 03 ---- 10.10.2.0/24
01 <----> 03 ---- 10.10.3.0/24

back to the page is then says this:


In this case you can specify a different IP address to use the direct link:

resource r0 {
  ...
  connection {
    host alice   address 10.1.2.1:7010;
    host bob     address 10.1.2.2:7001;
  }
  connection {
    host alice   address 10.1.3.1:7020;
    host charlie address 10.1.3.2:7002;
  }
  connection {
    host bob     address 10.1.4.1:7021;
    host charlie address 10.1.4.2:7012;
  }
}


I assume the ... on line 2 is referring to the previous example above that, which is:

resource r0 { device /dev/drbd1; disk /dev/sda7; meta-disk internal; on alice { address 10.1.1.31:7000; node-id 0; } on bob { address 10.1.1.32:7000; node-id 1; } on charlie { address 10.1.1.33:7000; node-id 2; } connection-mesh { hosts alice bob charlie; } } But I keep getting parsing errors no matter where I put that "connection" stanza. drbdadm complains with: # drbdadm up webdav drbd.d/webdav.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected,  but got 'connection' (TK 282) I do apologize if I am again asking a question the answer to which is right in front of my face and I'm not seeing it, but where do the three "connection" statements go? Obviously they don't go where I put them. What would a complete example of a 3 node V9 with a discrete NIC and cable between each node look like? Please and thanks and sorry to be asking such a newb question. :( Paul
_______________________________________________ Star us on GITHUB: https://github.com/LINBIT"]https://github.com/LINBIT drbd-user mailing list drbd-user@lists.linbit.com https://lists.linbit.com/mailman/listinfo/drbd-user"]https://lists.linbit.com/mailman/listinfo/drbd-user
Re: V9 res file syntax [ In reply to ]
Thanks Johanne,

indeed this one of three hosts was running 8.4 kernel module, the
example parses on the other hosts.  Thanks for that, I was sure I had
9.1 on them all.

Very much appreciated

* Paul O'Rorke*


On 2021-10-07 12:59 p.m., johannes@johannesthoma.com wrote:
> You probably have a DRBD 8 kernel module loaded, then drbdadm parses
> the configuration in v8 format which doesn't have node-id.
>
> Hope that helps,
>
> Best regards Johannes
>
> Von meinem Huawei-Mobiltelefon gesendet
>
>
> -------- Originalnachricht --------
> Betreff: Re: [DRBD-user] V9 res file syntax
> Von: "Paul D. O'Rorke"
> An: drbd-user@lists.linbit.com
> Cc:
>
>
> Can I convince anyone to show me a working res file for the V9 3
> node setup with multiple NICs and direct connections?
>
> Try as I may I simply cannot get my res file to parse.
>
> I even tried doing it all on the one network as per the first
> example but I can't even get the examples to parse, a copy/paste
> of the 3 node example complains that "connection-mesh" in in the
> wrong place.  I figured I would take a working example and go from
> there but even then I get:
>
> drbd.d/webdav.res:7: Parse error: 'disk | device | address |
> meta-disk | flexible-meta-disk' expected,
>         but got 'node-id'
>
> so I can't even seem to get the right structure and I am clearly
> missing something fundamental here...
>
> Does anyone have any suggestions?
>
> * Paul O'Rorke*
>
>
> On 2021-10-05 3:13 p.m., Paul D. O'Rorke wrote:
>>
>> Hi guys,
>>
>> sorry to keep bugging you with this.  Can anyone give me a sample
>> working res file for a 3 node setup with crossover links?
>>
>> It says here
>> https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns
>> <https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns>
>> :
>>
>> "If you have got enough network cards in your servers, you can
>> create direct cross-over links between server pairs. A single
>> four-port ethernet card allows to have a single management
>> interface, and to connect 3 other servers, to get a full mesh for
>> 4 cluster nodes."
>>
>> I do, and each of the three nodes can ping the other two nodes to
>> which they are connect.  But I am confused about how/where their
>> IPs and ports are defined in the .res file.    I have three hosts
>> connected directly via discrete interfaces on each node.:
>>
>> 01 <----> 02 ---- 10.10.1.0/24
>> 02 <----> 03 ---- 10.10.2.0/24
>> 01 <----> 03 ---- 10.10.3.0/24
>>
>> back to the page is then says this:
>>
>> In this case you can specify a different IP address to use the
>> direct link:
>>
>> resource r0 {
>>   ...
>>   connection {
>>     host alice   address 10.1.2.1:7010;
>>     host bob     address 10.1.2.2:7001;
>>   }
>>   connection {
>>     host alice   address 10.1.3.1:7020;
>>     host charlie address 10.1.3.2:7002;
>>   }
>>   connection {
>>     host bob     address 10.1.4.1:7021;
>>     host charlie address 10.1.4.2:7012;
>>   }
>> }
>>
>> I assume the ... on line 2 is referring to the previous example
>> above that, which is:
>>
>> resource r0 {
>> device /dev/drbd1;
>> disk /dev/sda7;
>> meta-disk internal;
>> on alice {
>> address 10.1.1.31:7000;
>> node-id 0;
>> }
>> on bob {
>> address 10.1.1.32:7000;
>> node-id 1;
>> }
>> on charlie {
>> address 10.1.1.33:7000;
>> node-id 2;
>> }
>> connection-mesh {
>> hosts alice bob charlie;
>> }
>> }
>>
>> But I keep getting parsing errors no matter where I put that "connection" stanza. drbdadm complains with:
>>
>> # drbdadm up webdav
>> drbd.d/webdav.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected,
>>  but got 'connection' (TK 282)
>>
>> I do apologize if I am again asking a question the answer to which is right in front of my face and I'm not seeing it, but where do the three "connection" statements go? Obviously they don't go where I put them.
>> What would a complete example of a 3 node V9 with a discrete NIC and cable between each node look like?
>>
>> Please and thanks and sorry to be asking such a newb question. :(
>>
>> Paul
>>
>>
>>
>>
>> _______________________________________________
>> Star us on GITHUB:https://github.com/LINBIT
>> drbd-user mailing list
>> drbd-user@lists.linbit.com
>> https://lists.linbit.com/mailman/listinfo/drbd-user
>
Re: V9 res file syntax [ In reply to ]
Thank you to all who helped me here,

I finally have my three nodes syncing and can breath a little more
freely.  Your patience with me as I kept missing what was in front of me
is appreciated.

in gratitude

* Paul O'Rorke*




On 2021-10-07 1:10 p.m., Paul D. O'Rorke wrote:
>
> Thanks Johanne,
>
> indeed this one of three hosts was running 8.4 kernel module, the
> example parses on the other hosts.  Thanks for that, I was sure I had
> 9.1 on them all.
>
> Very much appreciated
>
> * Paul O'Rorke*
>
>
> On 2021-10-07 12:59 p.m., johannes@johannesthoma.com wrote:
>> You probably have a DRBD 8 kernel module loaded, then drbdadm parses
>> the configuration in v8 format which doesn't have node-id.
>>
>> Hope that helps,
>>
>> Best regards Johannes
>>
>> Von meinem Huawei-Mobiltelefon gesendet
>>
>>
>> -------- Originalnachricht --------
>> Betreff: Re: [DRBD-user] V9 res file syntax
>> Von: "Paul D. O'Rorke"
>> An: drbd-user@lists.linbit.com
>> Cc:
>>
>>
>> Can I convince anyone to show me a working res file for the V9 3
>> node setup with multiple NICs and direct connections?
>>
>> Try as I may I simply cannot get my res file to parse.
>>
>> I even tried doing it all on the one network as per the first
>> example but I can't even get the examples to parse, a copy/paste
>> of the 3 node example complains that "connection-mesh" in in the
>> wrong place.  I figured I would take a working example and go
>> from there but even then I get:
>>
>> drbd.d/webdav.res:7: Parse error: 'disk | device | address |
>> meta-disk | flexible-meta-disk' expected,
>>         but got 'node-id'
>>
>> so I can't even seem to get the right structure and I am clearly
>> missing something fundamental here...
>>
>> Does anyone have any suggestions?
>>
>> * Paul O'Rorke*
>>
>>
>> On 2021-10-05 3:13 p.m., Paul D. O'Rorke wrote:
>>>
>>> Hi guys,
>>>
>>> sorry to keep bugging you with this.  Can anyone give me a
>>> sample working res file for a 3 node setup with crossover links?
>>>
>>> It says here
>>> https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns
>>> <https://linbit.com/drbd-user-guide/drbd-guide-9_0-en/#s-drbdconf-conns>
>>> :
>>>
>>> "If you have got enough network cards in your servers, you can
>>> create direct cross-over links between server pairs. A single
>>> four-port ethernet card allows to have a single management
>>> interface, and to connect 3 other servers, to get a full mesh
>>> for 4 cluster nodes."
>>>
>>> I do, and each of the three nodes can ping the other two nodes
>>> to which they are connect.  But I am confused about how/where
>>> their IPs and ports are defined in the .res file.    I have
>>> three hosts connected directly via discrete interfaces on each
>>> node.:
>>>
>>> 01 <----> 02 ---- 10.10.1.0/24
>>> 02 <----> 03 ---- 10.10.2.0/24
>>> 01 <----> 03 ---- 10.10.3.0/24
>>>
>>> back to the page is then says this:
>>>
>>> In this case you can specify a different IP address to use the
>>> direct link:
>>>
>>> resource r0 {
>>>   ...
>>>   connection {
>>>     host alice   address 10.1.2.1:7010;
>>>     host bob     address 10.1.2.2:7001;
>>>   }
>>>   connection {
>>>     host alice   address 10.1.3.1:7020;
>>>     host charlie address 10.1.3.2:7002;
>>>   }
>>>   connection {
>>>     host bob     address 10.1.4.1:7021;
>>>     host charlie address 10.1.4.2:7012;
>>>   }
>>> }
>>>
>>> I assume the ... on line 2 is referring to the previous example
>>> above that, which is:
>>>
>>> resource r0 {
>>> device /dev/drbd1;
>>> disk /dev/sda7;
>>> meta-disk internal;
>>> on alice {
>>> address 10.1.1.31:7000;
>>> node-id 0;
>>> }
>>> on bob {
>>> address 10.1.1.32:7000;
>>> node-id 1;
>>> }
>>> on charlie {
>>> address 10.1.1.33:7000;
>>> node-id 2;
>>> }
>>> connection-mesh {
>>> hosts alice bob charlie;
>>> }
>>> }
>>>
>>> But I keep getting parsing errors no matter where I put that "connection" stanza. drbdadm complains with:
>>>
>>> # drbdadm up webdav
>>> drbd.d/webdav.res:18: Parse error: 'protocol | on | disk | net | syncer | startup | handlers | ignore-on | stacked-on-top-of' expected,
>>>  but got 'connection' (TK 282)
>>>
>>> I do apologize if I am again asking a question the answer to which is right in front of my face and I'm not seeing it, but where do the three "connection" statements go? Obviously they don't go where I put them.
>>> What would a complete example of a 3 node V9 with a discrete NIC and cable between each node look like?
>>>
>>> Please and thanks and sorry to be asking such a newb question. :(
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Star us on GITHUB:https://github.com/LINBIT
>>> drbd-user mailing list
>>> drbd-user@lists.linbit.com
>>> https://lists.linbit.com/mailman/listinfo/drbd-user
>>
>
> _______________________________________________
> Star us on GITHUB: https://github.com/LINBIT
> drbd-user mailing list
> drbd-user@lists.linbit.com
> https://lists.linbit.com/mailman/listinfo/drbd-user