Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 6 to 6 | ||||||||
Added: | ||||||||
> > | This page is obsolete. The complexity and failure modes of HA clusters was too much for a small site like ours. This page is left for archeological purposes only. | |||||||
This is a description of the organization of the administrative computers on the Nevis Linux cluster. The emphasis is on the high-availability![]() Background |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 108 to 108 | ||||||||
Most of the resources are controlled by scripts provided as part of the Pacemaker package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems. | ||||||||
Changed: | ||||||||
< < | The entire configuration is spelled out in (excruciating) detail on a separate corosync configuration page. There's also a description on what to do if things go wrong. | |||||||
> > | The current cluster resource status is here![]() | |||||||
Services controlled by pacemaker: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 6 to 6 | ||||||||
Changed: | ||||||||
< < | This is a description of the organization of the administrative computers on the Nevis Linux cluster. The emphasis is on describing the high-availability![]() | |||||||
> > | This is a description of the organization of the administrative computers on the Nevis Linux cluster. The emphasis is on the high-availability![]() | |||||||
Background |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 108 to 108 | ||||||||
Most of the resources are controlled by scripts provided as part of the Pacemaker package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems. | ||||||||
Changed: | ||||||||
< < | The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page. | |||||||
> > | The entire configuration is spelled out in (excruciating) detail on a separate corosync configuration page. There's also a description on what to do if things go wrong. | |||||||
Services controlled by pacemaker: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 108 to 108 | ||||||||
Most of the resources are controlled by scripts provided as part of the Pacemaker package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems. | ||||||||
Changed: | ||||||||
< < | The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page. | |||||||
> > | The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page. | |||||||
Services controlled by pacemaker: |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 168 to 168 | ||||||||
DRBD documentation![]() DRBD pages in Clusters From Scratch ![]() | ||||||||
Added: | ||||||||
> > | Understanding the contents of /proc/drbd![]() | |||||||
Dealing with DRBD split-brain condition![]() KVM/QEMU virtual machines |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Nevis particle-physics administrative cluster | ||||||||
Line: 51 to 51 | ||||||||
| ||||||||
Changed: | ||||||||
< < | The price to be paid for all this sophistication is an increase in complexity. This page (and its companion page on the detailed corosync configuration) are an attempt to explain the details. | |||||||
> > | The price to be paid for all this sophistication is an increase in complexity. This page (and its companion page on the detailed pacemaker configuration) provide an overview of the cluster configuration. | |||||||
Configuration | ||||||||
Line: 72 to 72 | ||||||||
The two high-availability servers are hypatia and orestes . hypatia is also the NIS master for the cluster, and a secondary DNS server; these two services are not under the control of the high-availability software. | ||||||||
Deleted: | ||||||||
< < | Disk configuration | |||||||
A sketch of the organization of the high-availability servers:
![]() | ||||||||
Changed: | ||||||||
< < | Text description:
| |||||||
> > |
Disk configuration
| |||||||
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
| ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Network configuration | ||||||||
Changed: | ||||||||
< < | Both hypatia and orestes have two Ethernet![]()
| |||||||
> > | Both hypatia and orestes have four Ethernet![]()
| |||||||
Changed: | ||||||||
< < | One might access the systems via their fixed names of hypatia and orestes , but this would not be useful if the HA services were moved from one system to the other. Among the HA resources (see below) that are managed by the systems are "generic" IP addresses assigned to the cluster. The IP name hamilton.nevis.columbia.edu always points to the system that offering the important cluster resources; the name burr.nevis.columbia.edu always points to the system offering "scratch" resources. Of course, if one of these systems goes down, then these two aliases will point to the same box. | |||||||
> > | One might access the systems via their fixed names of hypatia and orestes , but this would not be useful if the HA services were cut off on one of the systems. Among the HA resources (see below) that are managed by the systems are "generic" IP addresses assigned to the cluster. The IP name hamilton.nevis.columbia.edu is a cloned IP address![]() | |||||||
Changed: | ||||||||
< < | In general, this means that if you need to access the system offering the main cluster resources, always use the name hamilton . | |||||||
> > | In general, this means that if you need to access a cluster resource remotely, the name hamilton will always work. | |||||||
Changed: | ||||||||
< < | Resource configuration | |||||||
> > | Resource sketch | |||||||
Changed: | ||||||||
< < | In HA terms, a "resource" means "anything you want to keep available all the time." What follows is an outline of the resources configured for our HA cluster. In this outline, an indent means that the resource depends on one above it; for example, the mail-server virtual machine won't start if NFS is not available; NFS won't start if /var/lib/nfs is not available. | |||||||
> > | In HA terms, a "resource" means "anything you want to keep available all the time." What follows is an outline of the resources configured for our HA cluster. In this outline, a resource depends on one above it; for example, the mail-server virtual machine won't start if the /xen partition is not available on a given machine. Note the strength of the dual-primary configuration: it's possible for all the resources to run on a single system, if necessary; otherwise the "cloned" resources will run on both systems and the "non-cloned" resources will run on just one of them. (The weakness of the dual-primary setup is its relative complexity over a primary-secondary setup.) | |||||||
Changed: | ||||||||
< < | Most of the resources are controlled by scripts provided as part of the Pacemaker/Corosync package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems. | |||||||
> > | Most of the resources are controlled by scripts provided as part of the Pacemaker package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems. | |||||||
Changed: | ||||||||
< < | The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page. | |||||||
> > | The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page. | |||||||
Changed: | ||||||||
< < | Services controlled by corosync: | |||||||
> > | Services controlled by pacemaker: | |||||||
Changed: | ||||||||
< < | main node: | |||||||
> > | AdminClone = the DRBD "admin" partition's main image, cloned as Master (primary) on both systems | |||||||
Changed: | ||||||||
< < | Admin:Master = the DRBD "admin" partition's main image
| |||||||
> > | FilesystemClone = makes the following available on both systems:
AdminLVM = makes the following logical volumes on the admin partition visible
| |||||||
Changed: | ||||||||
< < | MainIPGroup: IP = 129.236.252.11 (hamilton = library = time = print) | |||||||
> > | IPClone: IP = 129.236.252.11 (hamilton = library) | |||||||
IP = 10.44.7.11 IP = 10.43.7.11 | ||||||||
Changed: | ||||||||
< < | LVM = makes the following logical volumes on the admin partition visible
| |||||||
> > | ExportsClone = export /usr/nevis, /var/nevis/, and /mail, which are used by the virtual machines and the rest of the cluster LibvirtdClone = starts lsb::libvirtd, the virtual machine manager KVM virtual machines: (not cloned! Each virtual machine runs on only one system) franklin (= mail; mail server) ada (= www; web server) nagios (cluster health monitor) | |||||||
sullivan (mailing list) tango (Samba) | ||||||||
Deleted: | ||||||||
< < | ada (= www; web server) franklin (= mail; mail server) | |||||||
hogwarts (= staff accounts for non-login users) | ||||||||
Added: | ||||||||
> > | wordpress (blog software) proxy (web proxying for remote users) | |||||||
Changed: | ||||||||
< < | Work:Master = the DRBD "work" partition's main image
| |||||||
> > | Other resources: TftpClone (lsb::xinetd for tftp) Dhcpd (lsb::dhcp) CronAmbientTemperature (script to monitor computer-room temperature) CronBackupVirtualDiskImages (bi-montly backup of virtual-machine disk images) | |||||||
On both systems: the STONITH resources. | ||||||||
Line: 164 to 157 | ||||||||
Corosync/Pacemaker | ||||||||
Changed: | ||||||||
< < | http://www.clusterlabs.org/wiki/Main_Page![]() http://www.clusterlabs.org/rpm/ ![]() http://theclusterguy.clusterlabs.org/post/178680309/configuring-heartbeat-v1-was-so-simple ![]() http://www.clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/ ![]() http://www.ourobengr.com/ha ![]() | |||||||
> > | General clustering information![]() Clusters From Scratch ![]() Configuring heartbeat v1 was so simple ![]() Pacemaker Explained ![]() STONITH Deathmatch Explained ![]() 2-Node Redhat KVM Cluster Tutorial ![]() hypatia/orestes , just in case you thought that our 2-node setup was complicated. | |||||||
DRBD | ||||||||
Changed: | ||||||||
< < | http://www.drbd.org/home/feature-list/![]() http://www.clusterlabs.org/wiki/DRBD_HowTo_1.0 ![]() http://howtoforge.com/highly-available-nfs-server-using-drbd-and-heartbeat-on-debian-5.0-lenny ![]() Xen virtual machineshttp://virt-manager.et.redhat.com/download.html![]() http://wiki.xensource.com/xenwiki/XenNetworking ![]() http://toic.org/2008/10/06/multiple-network-interfaces-in-xen/ ![]() http://toic.org/2008/09/22/preventing-ip-conflicts-in-xen/ ![]() | |||||||
> > | DRBD documentation![]() DRBD pages in Clusters From Scratch ![]() Dealing with DRBD split-brain condition ![]() KVM/QEMU virtual machinesKVM is the name of the virtual machine manager. QEMU is a type of virtual machine. Virtualization Quick Start![]() virsh commands. virsh man page ![]() QEMU documentation ![]() ArchiveIf you'd like to see the description of previous primary/secondary setup used on the HA cluster, it is here. I switched to a dual-primary setup because:
| |||||||
|
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Nevis particle-physics administrative cluster![]() BackgroundA single systemIn the 1990s, Nevis computing centered on a single computer,nevis1 . The majority of the users used this machine to analyze data, access their e-mail, set up web sites, etc. Although the system (an SGI Challenge XL) was relatively powerful for its time, this organization had some disadvantages:
A distributed clusterIn the 2000's,nevis1 was gradually replaced by many Linux boxes. Administrative services were moved to separate systems, typically one service per box; e.g., there was a mail server, a DNS![]() ![]()
High-availabilityToolsOver the last few years, there has been substantial work done in the open-source community towards high-availability servers. To put it simply, a service can be offered by a machine on a high-availability (HA) cluster. If that machine fails, the service automatically transfers to another machine on the HA cluster. The software packages used to implement HA on our cluster are Corosync with Pacemaker![]() ![]() ![]() ![]() ![]()
ConfigurationThe non-HA serverFirst, let's go over an administrative server that is not part of the HA cluster:hermes . This server provides the following functions:
These services are not part of the HA cluster because:
The HA clusterThe two high-availability servers arehypatia and orestes . hypatia is also the NIS master for the cluster, and a secondary DNS server; these two services are not under the control of the high-availability software.
Disk configurationA sketch of the organization of the high-availability servers:![]() Text description:
Network configurationBothhypatia and orestes have two Ethernet![]()
hypatia and orestes , but this would not be useful if the HA services were moved from one system to the other. Among the HA resources (see below) that are managed by the systems are "generic" IP addresses assigned to the cluster. The IP name hamilton.nevis.columbia.edu always points to the system that offering the important cluster resources; the name burr.nevis.columbia.edu always points to the system offering "scratch" resources. Of course, if one of these systems goes down, then these two aliases will point to the same box.
In general, this means that if you need to access the system offering the main cluster resources, always use the name hamilton .
Resource configurationIn HA terms, a "resource" means "anything you want to keep available all the time." What follows is an outline of the resources configured for our HA cluster. In this outline, an indent means that the resource depends on one above it; for example, the mail-server virtual machine won't start if NFS is not available; NFS won't start if/var/lib/nfs is not available.
Most of the resources are controlled by scripts provided as part of the Pacemaker/Corosync package. The resources that begin with lsb:: (Linux standard base) are controlled by the standard scripts found in /etc/init.d/ on most Linux systems.
The entire configuration is spelled out in (excruciating?) detail on a separate corosync configuration page.
Services controlled by corosync: main node: Admin:Master = the DRBD "admin" partition's main image (Constraint: +100 to be on hypatia) MainIPGroup: IP = 129.236.252.11 (hamilton = library = time = print) IP = 10.44.7.11 IP = 10.43.7.11 LVM = makes the following logical volumes on the admin partition visible Filesystem: /usr/nevis Filesystem: /mail Filesystem: /var/nevis Filesystem: /var/lib/nfs lsb::cups lsb::xinetd (includes tftp and ftp) lsb::dhcp (ln -sf /var/nevis/dhcpd /var/lib/dhcpd) lsb::nfs Xen virtual machines: sullivan (mailing list) tango (Samba) ada (= www; web server) franklin (= mail; mail server) hogwarts (= staff accounts for non-login users) Work:Master = the DRBD "work" partition's main image Filesystem: /work assistant node: AssistantIPGroup (Constraint: -1000 to be on same system as hamilton) IP = 129.236.252.10 (burr = assistant) IP = 10.44.7.10 mount library:/usr/nevis lsb::condor (Constraint: -INF for AdminDirectoriesGroup; if everything is running on one box, stop running condor) On both systems: the STONITH resources. ReferencesThese are the web sites I used to develop the HA cluster configuration at Nevis.Corosync/Pacemakerhttp://www.clusterlabs.org/wiki/Main_Page![]() http://www.clusterlabs.org/rpm/ ![]() http://theclusterguy.clusterlabs.org/post/178680309/configuring-heartbeat-v1-was-so-simple ![]() http://www.clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/ ![]() http://www.ourobengr.com/ha ![]() DRBDhttp://www.drbd.org/home/feature-list/![]() http://www.clusterlabs.org/wiki/DRBD_HowTo_1.0 ![]() http://howtoforge.com/highly-available-nfs-server-using-drbd-and-heartbeat-on-debian-5.0-lenny ![]() Xen virtual machineshttp://virt-manager.et.redhat.com/download.html![]() http://wiki.xensource.com/xenwiki/XenNetworking ![]() http://toic.org/2008/10/06/multiple-network-interfaces-in-xen/ ![]() http://toic.org/2008/09/22/preventing-ip-conflicts-in-xen/ ![]()
|