<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Take a look at Madison Kellys' various blog postings at
      alteeve.com.</p>
    <p>She has a generally very good set of how to's on how to build a 2
      node cluster.<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 05/30/2018 10:32 AM, Cobin Bluth
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGvEgFGBuOtdF6dWa-qA-PmVWVRkUE-665GqKY=474cgvWNnew@mail.gmail.com">
      <div dir="ltr">Hello Libvirt Users,<br>
        <br>
        I would like to setup a two node bare-metal cluster. I need to
        guidance on the network configuration. I have attached a small
        diagram, the same diagram can be seen here: <a
          href="https://i.imgur.com/SOk6a6G.png" moz-do-not-send="true">https://i.imgur.com/SOk6a6G.png</a><br>
        <br>
        I would like to configure the following details:<br>
        - Each node has a DHCP enabled guest network where VMs will run.
        (eg, <font face="monospace"><b><a href="http://192.168.1.0/24"
              moz-do-not-send="true">192.168.1.0/24</a></b></font> for
        Host1, and <font face="monospace"><b><a
              href="http://192.168.2.0/24" moz-do-not-send="true">192.168.2.0/24</a></b></font>
        for Host2)<br>
        - Any guest in Host1 should be able to ping guests in Host2, and
        vice versa.<br>
        - All guests have routes to reach the open internet (so that '<font
          face="monospace"><b>yum update</b></font>' will work
        "out-of-the-box")<br>
        - Each node will be able to operate fully if the other physical
        node fails. (no central DHCP server, etc)<br>
        - I would like to <u>add more physical nodes later</u> when I
        need the resources.<br>
        <br>
        This is what I have done so far:<br>
        - Installed latest Ubuntu 18.04, with latest version of libvirt
        and supporting software from ubuntu's apt repo.<br>
        - Each node can reach the other via its own eth0.<br>
        - Each node has a working vxlan0, which can ping the other via
        its vxlan0, so it looks like the vxlan config is working. (I
        used <font face="monospace"><b>ip link add vxlan0 type vxlan...</b></font>)<br>
        - Configured route on Host1 like so: <b><font face="monospace">ip
            route add <a href="http://192.168.2.0/24"
              moz-do-not-send="true">192.168.2.0/24</a> via 172.20.0.1</font></b><br>
        - Configured route on Host2 also: <b><font face="monospace">ip
            route add <a href="http://192.168.1.0/24"
              moz-do-not-send="true">192.168.1.0/24</a> via 172.20.0.2</font></b>
        <div>- All guests on Host1 (and Host1) can ping eth0 and vxlan0
          on Host2, and vice versa, yay.<br>
          - Guests on Host1 <u>cannot</u> ping guests on Host2, I
          suspect because the the default NAT config of the libvirt
          network.<br>
          <br>
          So, at this point I started to search for tutorials or more
          information/documentation, but I am a little overwhelmed by
          the sheer amount of information, as well as a lot of "stale"
          information on blogs etc.<br>
          I have learned that I can <b><font face="monospace">virsh
              net-edit default</font></b>, and then change it to an
          "open" network:<font face="monospace"><b> <forward
              mode='open'/></b></font></div>
        <div>After doing this, the guests cannot reach outside their own
          network, nor reach the internet, so I assume that I would need
          to add some routes, or something else to get the network
          functioning like I want it. There is also <font
            face="monospace"><b><forward mode="route"/></b></font>,
          but I dont fully understand the scenarios where one would need
          an <b><font face="monospace">open</font></b> or a <b><font
              face="monospace">route</font></b> forward mode. I have
          also shied away from using openvswitch, and have opted for
          ifupdown2.<br>
          (I have taken most of my inspiration from this blog post: <a
href="https://joejulian.name/post/how-to-configure-linux-vxlans-with-multiple-unicast-endpoints/"
            moz-do-not-send="true">https://joejulian.name/post/how-to-configure-linux-vxlans-with-multiple-unicast-endpoints/</a> )<br>
          <br>
          Some questions that I have for the mailing list, any help
          would be greatly appreciated:<br>
          - Is my target configuration of a KVM cluster uncommon? Do you
          see drawbacks of this setup, or does it go against "typical
          convention"?<br>
          - Would my scenario be better suited for an "<b><font
              face="monospace">open</font></b>" network or a "<b><font
              face="monospace">route</font></b>" network?<br>
          - What would be the approach to complete this setup?<br>
          <br>
          <br>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
libvirt-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:libvirt-users@redhat.com">libvirt-users@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/libvirt-users">https://www.redhat.com/mailman/listinfo/libvirt-users</a></pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Alvin Starr                   ||   land:  (905)513-7688
Netvel Inc.                   ||   Cell:  (416)806-0133
<a class="moz-txt-link-abbreviated" href="mailto:alvin@netvel.net">alvin@netvel.net</a>              ||

</pre>
  </body>
</html>