Node Assassin - Original: Difference between revisions

From Alteeve Wiki
Jump to navigation Jump to search
Line 7: Line 7:
As always, proceed at your own risk. :)
As always, proceed at your own risk. :)


= Concept =
= First Version =


The goal of this device is to provide a network-addressable device that can be signaled to press and home one or more node's reset switches. This device will then have a wrapper to plug into cluster management software like [[Red Hat]]'s 'ricci' and 'luci' programs. This should then provide an inexpensive, scalable fence device.
The first version of Node Assassin is operational!
 
It still needs to be tied into [[Red Hat]]'s 'ricci' and 'luci' programs to function as a fence device though. This fence device resides on the cluster's private network channel (or some other common intranet).
 
== Naos v1.x Protocol ==
 
It works by listening for a connection on TCP port 238 on IP 192.168.1.66 (both port and IP are configurable). Once connected, it uses a very simple protocol.
 
Commands are:
 
Get the state of all nodes:
00:0
 
Fence node '02' (Supports nodes from 01 to 05):
02:0
 
Release '02':
02:1
 
Fencing or releasing other nodes is a simple as replacing '02' above with the node number. The design allows for the expansion of ports up to 99 devices. It should be trivial to go beyond that, but it's a sufficiently high number for now.
 
Once a node is fenced, the caller can release and the state will be held until either another call releases the fence or the Node Assassin is reset.


== Next Version ==
== Next Version ==

Revision as of 03:47, 24 January 2010

 Node Assassin :: Node Assassin - Original

Node Assassin is an open-source, open-hardware project to create a network-attached cluster fence device.

It's really just an idea at this point. At this time, nothing below should be considered valid, functional or likely even sane.

As always, proceed at your own risk. :)

First Version

The first version of Node Assassin is operational!

It still needs to be tied into Red Hat's 'ricci' and 'luci' programs to function as a fence device though. This fence device resides on the cluster's private network channel (or some other common intranet).

Naos v1.x Protocol

It works by listening for a connection on TCP port 238 on IP 192.168.1.66 (both port and IP are configurable). Once connected, it uses a very simple protocol.

Commands are:

Get the state of all nodes:

00:0

Fence node '02' (Supports nodes from 01 to 05):

02:0

Release '02':

02:1

Fencing or releasing other nodes is a simple as replacing '02' above with the node number. The design allows for the expansion of ports up to 99 devices. It should be trivial to go beyond that, but it's a sufficiently high number for now.

Once a node is fenced, the caller can release and the state will be held until either another call releases the fence or the Node Assassin is reset.

Next Version

Mark Loit suggested improving the circuit design by swapping out the ULN2003A and the HLS-4078-DC5V with something like the TLP280-4 opto-isolators. This will allow for a much reduced power consumption and size allowing for the circuit to potentially exist on an Arduino Protoshield.

Software

This is the initial release of the fence control software; Node Assassin Operating System.

Hardware

This device will be based on the Arduino Duemilanove using the Ethernet Shield for communication.

  • The Arduino listens for commands on the network.
    • Take "True" or "False" to a given port with a port mapping to a relay to open or close.
  • Arduino drives a ULN2003A which in turn drives up to seven relays.
  • The 1N4148 diode is used to protect the transistor array and arduino.

Build Pics

This will be updated as the build comes along. Once I am done I will post a diagram. No sense sharing my bugs at this point.


 

Input, advice, complaints and meanderings all welcome!
Digimer digimer@alteeve.ca https://alteeve.ca/w legal stuff:  
All info is provided "As-Is". Do not use anything here unless you are willing and able to take resposibility for your own actions. © 1997-2013
Naming credits go to Christopher Olah!
In memory of Kettle, Tonia, Josh, Leah and Harvey. In special memory of Hannah, Jack and Riley.