Two-machine cluster efficient approach(?) Comment? Thanks.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Two machines want to be accessed by the same IP address and
share workload. Can not change the router. Can only change 
local linux system. Will the following approach work? Thanks.

Solution:
---------
1. Reserve an unused IP as the to be publicized "Server IP", actually no
   machine takes it. So, it is kind of "virtual IP".
2. Alias the NIC of those two work stations to this "virtual IP" so they
   can accept packets to this "virtual IP".
3. For ARP request packet to this "virtual IP", those two work stations
   will return the MAC broadcast address. Then, all the packets to the
   "virtual IP" will be broadcast to this subnet and those two machines
   will get such packtes.
4. Before such packets gets into the TCP/IP stack, use a hash function
   to filter the packets. Say, workstation A will accept packets whose
   source IP is an odd number and discard the packets with even-number
   source IP.
5. For the outgoing packets from those two workstations, change the source
   IP address to be the "virtual IP".
6. Have another thread keep ping each other, once another workstation
   crashes, change my hash function to accept all the packets to the
   "virtual IP". Whenever another workstation resumes, switch back to
   the original hash function.

   Do you think if this approach will work? There is also a question I
am not quite sure, can two machines's NICs be aliased to the same "virtual
IP"? Will it cause some conflicts? And, it seems I need to change the
linux kernel source code. I am not pretty sure where is the location of
the source code related to the above operations. Like, can you tell me the
location of the linux kernel source code to answer an ARP request packet,
to build a hash function to filter the incoming IP packets before it
enters the TCP/IP stack?

   Thanks a lot.

best,
chuck

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux