Updated INSTALL file.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2346 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Steven Dake 2009-07-08 05:06:51 +00:00
parent 483fe491f9
commit 2fd4d6f369

88
INSTALL
View File

@ -10,6 +10,22 @@ together with object code resulting from the compiling of publicly
available source code, may be exported from the United States under License
Exception TSU prsuant to 15 C.F.R Section 740.13(e).
---------------------------------
* Platforms Built and Tested On *
---------------------------------
Corosync has been tested on:
Linux: Fedora 11, Debian Lenny, Red Hat Enterprise Linux 5
Solaris: version 10 CSW
BSD: FreeBSD and OpenBSD
MacOSX: Darwin latest update
It should build and run properly on the tested platforms as well as possibly
others with minimal effort. Corosync requires a coherent mmap() system call
and will not operate on platforms which don't support coherent mmap().
Corosync has been tested with recent gcc compilers and Intel's C compiler.
SunStudio compilers fail to build with various internal compiler errors.
----------------------------
* Building from subversion *
----------------------------
@ -46,6 +62,29 @@ Step 2: Install the binaries
balance:~/corosync/trunk% su
balance:~/corosync/trunk# make install
-------------------------------
* A notice about dependencies *
-------------------------------
We have strived very hard to avoid dependencies as much as possible, and in
fact corosync can be compiled without any dependencies. The one optional
dependency corosync has today is the nss package when built with support for
nss encryption. NSS encryption performs more poorly then the default
encryption, but may be a good choice if your organization has policies
regarding encryption technology requiring the use of a common cryptographic
library such as Netscape Security Services.
To enable nss during building:
balance:~/corosync/trunk% ./configure --enable-nss
To disable nss during buildling:
balance:~/corosync/trunk% ./configure --disable-nss
The nss packages required to build corosync with nss support can usually be
found by installing the "nss-devel" and "nspr-devel" packages for your
distribution. Note nss is enabled by default, so if you don't want nss support
or don't want to install nss devel packages, make sure to set the appropriate
configure option as described above.
------------------------
* Configuring Corosync *
------------------------
@ -100,22 +139,6 @@ or unpredictable results may occur.
Do not use DOS style termination. This breaks the parser.
Configure Host
--------------
For security reasons, corosync only allows a process that had the EGID/GID
of "ais" to connect to it. To make development easier, it is recommended to
create an "ais" user with the "ais" group.
[root@balance root]# adduser ais -g ais
Set the ais user's password:
[root@balance root]# passwd ais
Changing password for user ais.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Generate a private key
----------------------
corosync uses cryptographic techniques to ensure authenticity and privacy of
@ -124,7 +147,7 @@ correct operation.
First generate the key on one of the nodes:
unix# exec/keygen
balance# corosync-keygen
Corosync Authentication key generator.
Gathering 1024 bits for key from /dev/random.
Writing corosync key to /etc/ais/authkey.
@ -137,14 +160,13 @@ with nonmatching private keys will not be able to join the same configuration.
Copy the key to some transportable storage or use ssh to transmit the key
from node to node. Then install the key with the command:
unix# install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/ais/authkey
balance# install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/ais/authkey
If the message invalid digest appears, the keys are not the same on each node.
Run the corosync executive
-------------------------
Get one or more nodes and run the corosync executive on each node. A list of
node IPs should be logged when the nodes join a configuration. Run the
Get one or more nodes and run the corosync executive on each node. Run the
corosync daemon after following the previous directions. The daemon must be
run as UID 0(root).
@ -153,21 +175,27 @@ and the techniques corosync use to overcome these threats.
Before running any of the test programs
---------------------------------------
The corosync executive will ensure security by only allowing the ais group (or
uid root) to connect to the service. Switch to the ais group before
running any applications linked to the ais apis, or the applications will
not be authenticated and won't be able to access services.
The corosync executive will ensure security by only allowing the UID 0(root) or
GID 0(root) to connect to it. To allow other users to access the corosync
executive, create a directory called /etc/corosync/uidgid.d and place a file in
it named in some way that is identifiable to you. All files in this directory
will be scanned and their contents added to the allowed uid gid database. The
contents of this file should be
uidgid {
uid: username
gid: groupname
}
[sdake@balance sdake]$ su ais
Password:
[ais@balance sdake]$ id
uid=501(ais) gid=502(ais) groups=502(ais)
Please note that these users then have full ability to transmit and receive
messages in the cluster and are not bound by the threat model described in
SECURITY.
Try out the corosync cpg functionality
--------------------------------------
After corosync is running
su to ais user
Run test/testcpg on multiple nodes or on the same node. Messages can be typed
which will then be sent to other testcpg applications in the cluster.
To see a hashed verified output of data on all nodes, test/cpgverify can be
run.