Find the answer to your Linux question:
Results 1 to 3 of 3
so here it goes, im working on a project which aims at providing a efficient system to manage traffic and provide high performance.. since its getting implemented at local level.. ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jan 2013
    Posts
    9

    kerrighed server deployment


    so here it goes, im working on a project which aims at providing a efficient system to manage traffic and provide high performance..
    since its getting implemented at local level.. Im gonna use 3 nodes with one as the master having memory to provide diskless boot to others acting as the slaves with kerrighed installed on it..
    I was earlier focusing on load balancing using ha proxy to manage other two nodes having the same servers setup on both as a part of the basic architecture to deploy the following servers:- ftp, MySQL, mail and web server..
    I just wanted to knw, does the use of kerrighed fulfill my purpose of deploying the above servers and traffic management! need help asap as I need to proceed ..

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,755
    Well, it has been a week, and not replies, so I suspect that no one here has experience with this particular tool. I do performance and reliability engineering for a tier-one company, managing 2000+ servers in 4 world-wide data centers, and I don't... What exactly are you trying to accomplish? You mention traffic management (network traffic I presume), but I assume there are other aspects of network performance you are trying to get a handle on.

    Anyway, I will do some research on this tool. Just because I don't know about it doesn't mean it can't be of use to us! Thanks.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Just Joined!
    Join Date
    Apr 2013
    Posts
    1
    Quote Originally Posted by Rubberman View Post
    I suspect that no one here has experience with this particular tool. ... Just because I don't know about it doesn't mean it can't be of use to us! Thanks.
    Kerrighed is not really intended for server-farms, in the usual sense. Fundamentally, the idea of such projects is process migration as a means to massive parallelization. The most straightforward concept is LinuxPMI-fka-openMOSIX, which has a traditional farm of machines, with the ability to fork() worker processes across the network. After the other node in the cluster has finished the job, the child-process can be migrated back to the original PC.

    Usually, this is seen as a way to improve utilization of everyday computing tasks in an office LAN, where there are 99 idle desktops that spend their time running the screensaver half the day. If you are a superuser in that office, and want to fork 100 pids that are CPU-intensive (or use more RAM than you have on your primary PC), then you can process-migrate your subtasks to those idle boxen. One could also imagine running a web farm in such a fashion, with an old-school apache version that forks processes for handling incoming requests. But a better example is distributed compilation of the subprojects of a large source-tree, something like the job done by en.wikipedia.org/wiki/distcc

    LinuxPMI is a "multi-system-image" tool, where every box on the LAN is an individual workstation, with an independent IP/filesystem/OS. Kerrighed tries to go one step further, and make a cluster of boxes on the LAN act like a single honking supercomputer, with cpu-n-ram nodes. The main difference is that when you run ps on a node/PC of LinuxPMI, you just see the processes on that PC, some of which may be migratory-processes from other boxes on the LAN. By contrast, when you run ps on a Kerrighed cluster, you see a list of *all* the pids running on any of the nodes, with a global-pid-number for the cluster.

    Under the hood, process-migration is still the basic mechanism, and each of the nodes still runs a modified Linux kernel, but they tend not to have their own uid/homedir/screen/keyboard/etcetera infrastructure because they are a hardware-cluster-of-nodes-in-a-supercomputer, rather than a hardware-LAN-of-PCs-with-process-migration. LinuxPMI is intended to replace distcc with a general solution that applies to *any* running process on a business LAN (not just gcc). Cf grid computing. Kerrighed is intended to replace BlueGene with a COTS solution that utilizes commodity PC hardware and normal OSes and normal programming languages for apps, not supercomputer-specific hardware/OS/langs/apps. Cf boinc/seti@home/similar, but clustered.

    Running any SSI project requires kernel mods, and they appear to not be well-maintained at present. You can get a copy of kerrighed 2.3 for Mandriva 2010 in RPM form, and there are some folks that shell-scripted compilation for Ubuntu 8.04 hardy in circa 2009, but the stock kernel does not ship with the necessary bits for any of the SSI-style projects (LinuxPMI/Kerrighed/OpenSSI/whatnot), and the stock distros of 2012/2013 do not package the code for them either.

    Besides mods to the Linux kernel, there are also various niche-OS-projects that offer something similar to what SSI tries to provide: one famous one is Plan 9, but another older one is Amoeba OS (Andrew Tanenbaum is a famous name there... and Guido van Rossum wrote the first version of python for Amoeba OS back in the day). SSI is the dual of virtualization solutions like KernelVM/OpenVZ, where instead of having a single huge piece of hardware which contains a large number of emulated guest-machines, you have a large number of hardware PCs which emulate a single huge beast.

    If you do some further research, I recommend getting qemu/KernelVM virtualization installed on a dev-PC, so you can create guest-OSes that run old Linux kernel versions. Kerrighed 2.3.0 lastmod 2008 runs on 2.6.20 and is required for i386 CPU hardware, and Kerrighed 2.4.x/3.0.0 lastmod 2010 only supports x86_64 CPU hardware with kernel 2.6.30 or thereabouts. Not sure when LinxPMI was lastmod.

    p.s. As to the goal of the OP, the initial setup was two identical servers, *each* running a local httpd + mysqld + ftpd + smtpd, with a load-balancing box in front of them -- the typical server farm, in other words. Assume they are dual-core machines with 4gb ram each. Switching to kerrighed means that instead you have a three node supercomputer, which acts like a six-core box with 6gb of ram. You install a *single* copy of httpd + mysqld + ftpd + smtpd, and let the kerrighed-modified-kernel handle which pid is running on which core at any given time (just like you would for the two cores on the original system... but now spread across three physical nodes).

    The on-paper advantage here is clear: you only run one mysqld instance (not two) which saves a bit of RAM and significant sysadmin hassles, plus that one mysqld pid can access the cores and ram from all nodes dynamically (not just the one it is statically installed on). More crucially, you can (on paper and in theory again) increase rdbms performance simply by adding new nodes, giving you an N-core M-gb supercomputer of arbitrarily high speed.

    The real-world advantages are far less clear; SSI is still a research concept, not yet ready for prime-time. Practical limits will kill performance, in practice, since process-migration only helps if the app in question is designed a specific way -- and mysqld is *not* a classic fork-n-recombine app. Still, a tantalizing prospect, especially if pthread-migration rather than pid-migration were ever to become possible....

    If you are trying to deploy today ("need help asap!!!111!!!1!!") then you need to stop wasting time with kerrighed, and use the standard tools in the standard way. What that means, exactly, depends on what you are trying to accomplish, exactly. Why did you quit using your HA proxy? Was it Linux-HA? Have you tried Linux Virtual Server? What version of linux/apache/mysql are you using? What programming language(s)? What are the specs on your hardware? What sort of deployment environment (i.e. the name of your webhost and the service package you are using) are we talking about? What are the details of your "high availability" needs, in terms of backups and failover and so on? What specific traffic-management do you want?

    p.p.s. I had some URLs to offer, but have not posted enough messages to earn the privilege. Google the keywords above, or ask if you want them.

  4. $spacer_open
    $spacer_close

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •