Asterisk is a hybrid TDM and packet voice PBX (Private Branch eXchange) and IVR platform with ACD functionality. It acts as middleware between the Internet (IAX, SIP, MGCP, Skinny, H.323), telephony channels (like Zaptel, T1, PRI, E1, FXO, FXS, VoIP, VoFR, ISDN, modems, Internet Phone Jack, etc.), and applications (like voice-mail, conferencing, directories, MP3 players, intercoms, etc.). It has many advanced features such as a codec translation API. The base distribution includes several channel backends, as well as applications. However, the beauty of Asterisk is its ability to be extended using its APIs, dynamic module loader, and AGI scripting interface. End users can even write their own applications that run on the system in C or any scripting language of their choice.
ClusterNFS is a set of patches for the "Universal NFS Daemon" (UNFSD) to allow multiple clients to nfs mount the same root filesystem by providing "tagged" filenames. When a client requests the file "/path/filename", the ClusterNFS server checks for the existence of files of the form "/path/filename$$TAG=value$$". If such a file exists and the client has a matching value for KEY, this file is returned. If the client does not have a matching value or no such file exists, the file request proceeds as normal. Currently supported keys include HOST (hostname), IP (IP number), CLIENT (matches any nfs client) and CREATE (for "tagged" creation of files).
The Linux Virtual Server Project is a project to cluster many real servers together into a highly available, high-performance virtual server. The LVS load balancer handles connections from clients and passes them on the the real servers (so-called Layer 4 switching) and can virtualize almost any TCP or UDP service, like HTTP, HTTPS, NNTP, FTP, DNS, ssh, POP3, IMAP4, SMTP, etc. It is fully transparent to the client accessing the virtual service.
Heartbeat is a full-function high-availability system for Linux and other POSIX-like OSes. It monitors services and restarts them on errors. When managing a cluster (more than 1 machine), it will also monitor the members of the cluster and begin recovery of lost services in less than a second. It runs over serial ports and UDP broadcast/multicast, as well as OpenAIS multicast. It is easily adapted to different interconnect media and protocols. When used in a cluster, it can operate using shared disks, data replication, or no data sharing. Versions starting with 2.0 are comparable to any commercial HA package, providing resource monitoring, larger clusters, and detailed dependency information.
Ultra Monkey is a project to create load balanced and highly available services on a local area network using Open Source components on the Linux operating system. The focus is on producing a scalable, highly available Web farm, though the technology is easily expandable to other services such as email and FTP. It's intended to be a single point of contact for obtaining software and documentation for network engineers. The documentation provided with Ultra Monkey has example topologies and sample configuration files to aid users in designing and constructing a network.
Unison is a file-synchronization tool for Unix and Windows. It allows two copies of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. Unison can deal with updates to both replicas of a distributed directory structure. Updates that do not conflict are propagated automatically. Conflicting updates are detected and displayed. Unison can communicate through a direct socket link or through an rsh/ssh tunnel. It uses network bandwidth efficiently.
Keepalived for LVS aims to add a strong and robust keepalive facility to the Linux Virtual Server project. This project is written in C with multilayer TCP/IP stack checks. It implements a framework based on three family checks: Layer3, Layer4, and Layer5. This framework gives the daemon the ability of checking a LVS server pool states.When one of the servers in the LVS server pool is down, keepalived informs the Linux kernel via a setsockopt call to remove this server entry from the LVS topology. In addition, it implements a VRRPv2 stack to handle director failover.