11
votes

I've been searching and collecting links for a lot of them, but many of these tools don't have enough use case or demonstration documentation to be able to evaluate their potential worth without installing and trying them out.

I am hoping that people here have experience with some of them and can offer feedback regarding how easy they are to install, and use.

My personal use case is a couple of machine pools that are typically used in concert to work on distributed tasks. The machines are not an actual cluster (like beowulf), and my primary need is to aid in the configuration and administration of the machines. If the utility provided the ability to actually break up the work into parts and distribute those parts, that is interesting, but I need the primary use case first.

Here is the list of projects I've found that are free and open source:

I am eager to hear your thoughts!

1

6 Answers 6

1
vote

I'm a big fan of clusterssh. It pops up a terminal window for each host you're contacting, and another smaller window. Text typed in the smaller window goes to all terminal windows. If you need to enter input for some hosts (eg answering 'y' to the "trust this key" question for new hosts), you can just type it in the terminal window.

2
  • Scott, were there any others you tried that didn't work out for you? Any missing features in clusterssh that you really wish you had? May 28, 2009 at 17:26
  • Sorry for the delayed reply. I didn't try any others. clusterssh was easily installed via yum, so I used that first and it had everything I needed.
    – Scott
    Oct 11, 2009 at 16:51
3
votes

Add Capistrano to your list. http://www.capify.org/

It's not strictly a distributed shell, but suits your needs.

2
  • Definitely check out Capistrano; odds are it will fulfill your needs May 27, 2009 at 22:38
  • Yeah, cap shell! I found it more useful than other ssh wrappers.
    – obecalp
    May 27, 2009 at 23:42
2
votes

pdsh is very useful for "cluster" work. The host name handling (host[1-N]) and variable fanout, and ability to set a timeout on how long you are willing to wait for a command to return are very useful on larger machines. In addition it supports several methods for remote access. (ssh, rsh etc.). It even can come in handy some times for running multiple simultaneous commands on the same node.

For an added bonus combine pdsh with dshbak for easy combining the output of similar hosts into one output chunk.

1
vote

I like shmux :

It's available on Centos repo.

But in my opinion if you have a bunch of servers to maintain, you should have a look on configuration management software like cfengine or puppet... Big thumbs up for puppet, easy to learn and very pleasant ;-)

0
votes

While I will eventually be looking at a system configuration management framework like puppet, what I wanted to begin with was a multiplexer. clusterssh works well enough on Linux. For Mac OS X, I found csshX which is effectively the same thing.

I got Omnitty to compile on RHEL5, and it is my clear favorite. I wasn't a fan of programs requiring separate terminal windows for each session as clusterssh does. Omnitty provides a single curses based interface. I wish I could get it to compile on Mac OS X, but it is good enough to just ssh in to the machine that has it installed and then run it from there.

0
votes

Some years ago I had to monitor some Linux boxes in real time (wether or not they were up, disk free, etc) which were behind ADSL routers. I didn't have the password for the routers so it was impossible for me to open ports in the routers and couldn't ssh to the Linux computers.

As a solution for this i "developed" a distributed Unix shell system, very simple but very stable and robust as it was based on already existing solid-rock GNU utilities.

Later on i discovered that my idea was not new, but as it is based in one single line of code only i decided to "release" the "project" to the general public as a curiosity:

http://users.ninthfloor.org/titanio/

Have fun!

Not the answer you're looking for? Browse other questions tagged .