mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 15:30:14 +00:00
4ef47f787a
Since OpenAFS 1.0 bosserver automatically puts itself into the background and removes it's controlling terminal. Update the examples in the Admin and Quick Start Guides to remove the unneeded '&' on the command line to start the bosserver. Change-Id: I1fd8f31c604004b099d50ffe166262b4d0d58804 Reviewed-on: http://gerrit.openafs.org/11906 Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com> Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
2569 lines
116 KiB
XML
2569 lines
116 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<chapter id="HDRWQ99">
|
|
<title>Installing Additional Server Machines</title>
|
|
|
|
<para>
|
|
<indexterm>
|
|
<primary>instructions</primary>
|
|
|
|
<secondary>file server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>installing</primary>
|
|
|
|
<secondary>file server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>server machine after first</primary>
|
|
|
|
<see>file server machine, additional</see>
|
|
</indexterm>
|
|
|
|
Instructions for the following procedures appear in the indicated section of this chapter. <itemizedlist>
|
|
<listitem>
|
|
<para><link linkend="HDRWQ100">Installing an Additional File Server Machine</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="HDRWQ114">Installing Database Server Functionality</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="HDRWQ125">Removing Database Server Functionality</link></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>The instructions make the following assumptions. <itemizedlist>
|
|
<listitem>
|
|
<para>You have already installed your cell's first file server machine by following the instructions in <link
|
|
linkend="HDRWQ17">Installing the First AFS Machine</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You are logged in as the local superuser <emphasis role="bold">root</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You are working at the console</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>A standard version of one of the operating systems supported by the current version of AFS is running on the
|
|
machine</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>You can access the data on the OpenAFS Binary Distribution for
|
|
your operating system, either on the local filesystem or via an NFS
|
|
mount of the distribution's contents.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<indexterm>
|
|
<primary>requirements</primary>
|
|
|
|
<secondary>file server machine (additional)</secondary>
|
|
</indexterm>
|
|
</para>
|
|
|
|
<sect1 id="HDRWQ100">
|
|
<title>Installing an Additional File Server Machine</title>
|
|
|
|
<para>The procedure for installing a new file server machine is similar to installing the first file server machine in your
|
|
cell. There are a few parts of the installation that differ depending on whether the machine is the same AFS system type as an
|
|
existing file server machine or is the first file server machine of its system type in your cell. The differences mostly concern
|
|
the source for the needed binaries and files, and what portions of the Update Server you install: <itemizedlist>
|
|
<listitem>
|
|
<para>On a new system type, you must load files and binaries from the
|
|
OpenAFS distribution. You may install the server portion of the
|
|
Update Server to make this machine the binary distribution machine
|
|
for its system type.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On an existing system type, you can copy files and binaries
|
|
from a previously installed file server machine, rather
|
|
than from the OpenAFS distribution. You may install the client
|
|
portion of the Update Server to accept updates of binaries, because a
|
|
previously installed machine of this type was installed as the binary
|
|
distribution machine.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>On some system types, distribtution of the appropriate binaries
|
|
may be acheived using the system's own package management system. In
|
|
these cases, it is recommended that this system is used, rather than
|
|
installing the binaries by hand.</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>These instructions are brief; for more detailed information, refer to the corresponding steps in <link
|
|
linkend="HDRWQ17">Installing the First AFS Machine</link>. <indexterm>
|
|
<primary>overview</primary>
|
|
|
|
<secondary>installing server machine after first</secondary>
|
|
</indexterm></para>
|
|
|
|
<para>To install a new file server machine, perform the following procedures: <orderedlist>
|
|
<listitem>
|
|
<para>Copy needed binaries and files onto this machine's local disk,
|
|
as required.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Incorporate AFS modifications into the kernel</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Configure partitions for storing volumes</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Replace the standard <emphasis role="bold">fsck</emphasis> utility with the AFS-modified version on some system
|
|
types</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Start the Basic OverSeer (BOS) Server</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Start the appropriate portion of the Update Server, if
|
|
required</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Start the <emphasis role="bold">fs</emphasis> process, which incorporates three component processes: the File
|
|
Server, Volume Server, and Salvager</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<para>After completing the instructions in this section, you can install database server functionality on the machine according
|
|
to the instructions in <link linkend="HDRWQ114">Installing Database Server Functionality</link>. <indexterm>
|
|
<primary>usr/afs directory</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>/usr/afs directory</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>/usr/afs directory</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>usr/afs/bin directory</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>/usr/afs/bin directory</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>/usr/afs/bin directory</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>usr/vice/etc directory</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>/usr/vice/etc directory</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>/usr/vice/etc directory</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm></para>
|
|
|
|
<sect2 id="Header_99">
|
|
<title>Creating AFS Directories and Performing Platform-Specific Procedures</title>
|
|
|
|
<para>If your operating systems AFS distribution is supplied as packages,
|
|
such as .rpms or .debs, you should just install those packages as detailed
|
|
in the previous chapter.</para>
|
|
|
|
<para>Create the <emphasis role="bold">/usr/afs</emphasis> and <emphasis role="bold">/usr/vice/etc</emphasis> directories on
|
|
the local disk. Subsequent instructions copy files from the AFS distribution into them, at the appropriate point for
|
|
each system type.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">mkdir /usr/afs</emphasis>
|
|
# <emphasis role="bold">mkdir /usr/afs/bin</emphasis>
|
|
# <emphasis role="bold">mkdir /usr/vice</emphasis>
|
|
# <emphasis role="bold">mkdir /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">mkdir /tmp/afsdist</emphasis>
|
|
</programlisting>
|
|
|
|
<para>As on the first file server machine, the initial procedures in installing an additional file server machine vary a good
|
|
deal from platform to platform. For convenience, the following sections group together all of the procedures for a system
|
|
type. Most of the remaining procedures are the same on every system type, but differences are noted as appropriate. The
|
|
initial procedures are the following. <itemizedlist>
|
|
<listitem>
|
|
<para>Incorporate AFS modifications into the kernel, either by using a dynamic kernel loader program or by building a
|
|
new static kernel</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Configure server partitions to house AFS volumes</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Replace the operating system vendor's <emphasis role="bold">fsck</emphasis> program with a version that recognizes
|
|
AFS data <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS login</secondary>
|
|
|
|
<see>first AFS machine</see>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the machine is to remain an AFS client machine, modify the machine's authentication system so that users obtain
|
|
an AFS token as they log into the local file system. (For this procedure only, the instructions direct you to the
|
|
platform-specific section in <link linkend="HDRWQ17">Installing the First AFS Machine</link>.)</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>To continue, proceed to the section for this system type: <itemizedlist>
|
|
<listitem>
|
|
<para><link linkend="HDRWQ106">Getting Started on Linux Systems</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="HDRWQ107">Getting Started on Solaris Systems</link></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<sect3 id="HDRWQ106">
|
|
<title>Getting Started on Linux Systems</title>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on Linux</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>fsck program</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>Linux</tertiary>
|
|
</indexterm>
|
|
|
|
<para>Begin by running the AFS initialization script to call the <emphasis role="bold">insmod</emphasis> program, which
|
|
dynamically loads AFS modifications into the kernel. Then create partitions for storing AFS volumes. You do not need to
|
|
replace the Linux <emphasis role="bold">fsck</emphasis> program.</para>
|
|
|
|
<para> The procedure for starting up OpenAFS depends upon your distribution</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>For Fedora and RedHat Enterprise Linux systems (or their
|
|
derivateds), download and install the RPM set for your operating system
|
|
from the OpenAFS distribution site. You will need the
|
|
<emphasis role="bold">openafs</emphasis> and
|
|
<emphasis role="bold">openafs-server</emphasis> packages, along
|
|
with an <emphasis role="bold">openafs-kernel</emphasis> package
|
|
matching your current, running, kernel. If you wish to install
|
|
client functionality, you will also require the
|
|
<emphasis role="bold">openafs-client</emphasis> package.</para>
|
|
|
|
<para>You can find the version of your current kernel by running
|
|
<programlisting>
|
|
# uname -r
|
|
<replaceable>2.6.20-1.2933.fc6</replaceable>
|
|
</programlisting></para>
|
|
|
|
<para>Once downloaded, the packages may be installed with the
|
|
<emphasis role="bold">rpm</emphasis> command
|
|
<programlisting>
|
|
# rpm -U openafs-* openafs-client-* openafs-server-* openafs-kernel-*
|
|
</programlisting></para>
|
|
</listitem>
|
|
<listitem>
|
|
<indexterm>
|
|
<primary>incorporating AFS kernel extensions</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>Linux</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS kernel extensions</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>Linux</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on Linux</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Linux</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
<para>For systems which are provided as a tarball, or built from
|
|
source, unpack the distribution tarball. The examples below assume
|
|
that you have unpacked the files into the
|
|
<emphasis role="bold">/tmp/afsdist</emphasis>directory. If you
|
|
pick a different location, substitute this in all of the following
|
|
examples. Once you have unpacked the distribution,
|
|
change directory as indicated.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/linux/dest/root.client/usr/vice/etc</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/modload</emphasis> directory.
|
|
The filenames for the libraries have the format <emphasis
|
|
role="bold">libafs-</emphasis><replaceable>version</replaceable><emphasis role="bold">.o</emphasis>, where
|
|
<replaceable>version</replaceable> indicates the kernel build level. The string <emphasis role="bold">.mp</emphasis>
|
|
in the <replaceable>version</replaceable> indicates that the file is appropriate for machines running a multiprocessor
|
|
kernel. <programlisting>
|
|
# <emphasis role="bold">cp -rp modload /usr/vice/etc</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
|
|
role="bold">/etc/rc.d/init.d</emphasis> on Linux machines). Note the removal of the <emphasis
|
|
role="bold">.rc</emphasis> extension as you copy the script. <programlisting>
|
|
# <emphasis role="bold">cp -p afs.rc /etc/rc.d/init.d/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
<listitem>
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>AFS server partition on server machine after first</secondary>
|
|
|
|
<tertiary>Linux</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>AFS server partition</primary>
|
|
|
|
<secondary>configuring on server machine after first</secondary>
|
|
|
|
<tertiary>Linux</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on Linux</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>Linux</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
<para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
|
|
server partition you are configuring (there must be at least one). Repeat the command for each partition.
|
|
<programlisting>
|
|
# <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Add a line with the following format to the file systems registry file, <emphasis
|
|
role="bold">/etc/fstab</emphasis>, for each directory just created. The entry maps the directory name to the disk
|
|
partition to be mounted on it. <programlisting>
|
|
/dev/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> ext2 defaults 0 2
|
|
</programlisting></para>
|
|
|
|
<para>The following is an example for the first partition being configured.</para>
|
|
|
|
<programlisting>
|
|
/dev/sda8 /vicepa ext2 defaults 0 2
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create a file system on each partition that is to be mounted at a <emphasis
|
|
role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
|
|
but consult the Linux documentation for more information. <programlisting>
|
|
# <emphasis role="bold">mkfs -v /dev/</emphasis><replaceable>disk</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Mount each partition by issuing either the <emphasis role="bold">mount -a</emphasis> command to mount all
|
|
partitions at once or the <emphasis role="bold">mount</emphasis> command to mount each partition in turn.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
|
|
instructions in <link linkend="HDRWQ44">Enabling AFS Login on Linux Systems</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect3>
|
|
|
|
<sect3 id="HDRWQ107">
|
|
<title>Getting Started on Solaris Systems</title>
|
|
|
|
<para>Begin by running the AFS initialization script to call the <emphasis role="bold">modload</emphasis> program, which
|
|
dynamically loads AFS modifications into the kernel. Then configure partitions and replace the Solaris <emphasis
|
|
role="bold">fsck</emphasis> program with a version that correctly handles AFS volumes. <orderedlist>
|
|
<indexterm>
|
|
<primary>incorporating AFS kernel extensions</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS kernel extensions</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Solaris</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<listitem>
|
|
<para>Unpack the OpenAFS Solaris distribution tarball. The examples
|
|
below assume that you have unpacked the files into the
|
|
<emphasis role="bold">/tmp/afsdist</emphasis> directory. If you
|
|
pick a diferent location, substitute this in all of the following
|
|
exmaples. Once you have unpacked the distribution, change directory
|
|
as indicated.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/sun4x_56/dest/root.client/usr/vice/etc</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the AFS initialization script to the local directory for initialization files (by convention, <emphasis
|
|
role="bold">/etc/init.d</emphasis> on Solaris machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
|
|
extension as you copy the script. <programlisting>
|
|
# <emphasis role="bold">cp -p afs.rc /etc/init.d/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the appropriate AFS kernel library file to the local file <emphasis
|
|
role="bold">/kernel/fs/afs</emphasis>.</para>
|
|
|
|
<para>If the machine is running Solaris 11 on the x86_64 platform:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs64.o /kernel/drv/amd64/afs</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine is running Solaris 10 on the x86_64 platform:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/amd64/afs</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, its kernel supports NFS server
|
|
functionality, and the <emphasis role="bold">nfsd</emphasis> process is running:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs.o /kernel/fs/afs</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine is running Solaris 2.6 or the 32-bit version of Solaris 7, and its kernel does not support NFS
|
|
server functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs.nonfs.o /kernel/fs/afs</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine is running the 64-bit version of Solaris 7, its kernel supports NFS server functionality, and the
|
|
<emphasis role="bold">nfsd</emphasis> process is running:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine is running the 64-bit version of Solaris 7, and its kernel does not support NFS server
|
|
functionality or the <emphasis role="bold">nfsd</emphasis> process is not running:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the AFS initialization script to load AFS modifications into the kernel. You can ignore any error messages
|
|
about the inability to start the BOS Server or the Cache Manager or AFS client. <programlisting>
|
|
# <emphasis role="bold">/etc/init.d/afs start</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>When an entry called <computeroutput>afs</computeroutput> does not already exist in the local <emphasis
|
|
role="bold">/etc/name_to_sysnum</emphasis> file, the script automatically creates it and reboots the machine to start
|
|
using the new version of the file. If this happens, log in again as the superuser <emphasis
|
|
role="bold">root</emphasis> after the reboot and run the initialization script again. This time the required entry
|
|
exists in the <emphasis role="bold">/etc/name_to_sysnum</emphasis> file, and the <emphasis
|
|
role="bold">modload</emphasis> program runs.</para>
|
|
|
|
<programlisting>
|
|
login: <emphasis role="bold">root</emphasis>
|
|
Password: <replaceable>root_password</replaceable>
|
|
# <emphasis role="bold">/etc/init.d/afs start</emphasis>
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>replacing fsck program</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>fsck program</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Solaris</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory to house the AFS-modified <emphasis
|
|
role="bold">fsck</emphasis> program and related files. <programlisting>
|
|
# <emphasis role="bold">mkdir /usr/lib/fs/afs</emphasis>
|
|
# <emphasis role="bold">cd /usr/lib/fs/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the <emphasis role="bold">vfsck</emphasis> binary to the newly created directory, changing the name as you
|
|
do so. <programlisting>
|
|
# <emphasis role="bold">cp /cdrom/sun4x_56/dest/root.server/etc/vfsck fsck</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Working in the <emphasis role="bold">/usr/lib/fs/afs</emphasis> directory, create the following links to Solaris
|
|
libraries: <programlisting>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/clri</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/df</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/edquota</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/ff</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsdb</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/fsirand</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/fstyp</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/labelit</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/lockfs</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/mkfs</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/mount</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/ncheck</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/newfs</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/quot</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/quota</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaoff</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/quotaon</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/repquota</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/tunefs</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsdump</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/ufsrestore</emphasis>
|
|
# <emphasis role="bold">ln -s /usr/lib/fs/ufs/volcopy</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Append the following line to the end of the file <emphasis role="bold">/etc/dfs/fstypes</emphasis>.
|
|
<programlisting>
|
|
afs AFS Utilities
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the <emphasis role="bold">/sbin/mountall</emphasis> file, making two changes. <itemizedlist>
|
|
<listitem>
|
|
<para>Add an entry for AFS to the <computeroutput>case</computeroutput> statement for option 2, so that it reads
|
|
as follows: <programlisting>
|
|
case "$2" in
|
|
ufs) foptions="-o p"
|
|
;;
|
|
afs) foptions="-o p"
|
|
;;
|
|
s5) foptions="-y -t /var/tmp/tmp$$ -D"
|
|
;;
|
|
*) foptions="-y"
|
|
;;
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the file so that all AFS and UFS partitions are checked in parallel. Replace the following section of
|
|
code: <programlisting>
|
|
# For fsck purposes, we make a distinction between ufs and
|
|
# other file systems
|
|
#
|
|
if [ "$fstype" = "ufs" ]; then
|
|
ufs_fscklist="$ufs_fscklist $fsckdev"
|
|
saveentry $fstype "$OPTIONS" $special $mountp
|
|
continue
|
|
fi
|
|
</programlisting></para>
|
|
|
|
<para>with the following section of code:</para>
|
|
|
|
<programlisting>
|
|
# For fsck purposes, we make a distinction between ufs/afs
|
|
# and other file systems.
|
|
#
|
|
if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
|
|
ufs_fscklist="$ufs_fscklist $fsckdev"
|
|
saveentry $fstype "$OPTIONS" $special $mountp
|
|
continue
|
|
fi
|
|
</programlisting>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>AFS server partition on server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS server partition</primary>
|
|
|
|
<secondary>configuring on server machine after first</secondary>
|
|
|
|
<tertiary>Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on Solaris</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Solaris</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create a directory called <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable> for each AFS
|
|
server partition you are configuring (there must be at least one). Repeat the command for each partition.
|
|
<programlisting>
|
|
# <emphasis role="bold">mkdir /vicep</emphasis><replaceable>xx</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Add a line with the following format to the file systems registry file, <emphasis
|
|
role="bold">/etc/vfstab</emphasis>, for each partition to be mounted on a directory created in the previous step. Note
|
|
the value <computeroutput>afs</computeroutput> in the fourth field, which tells Solaris to use the AFS-modified
|
|
<emphasis role="bold">fsck</emphasis> program on this partition. <programlisting>
|
|
/dev/dsk/<replaceable>disk</replaceable> /dev/rdsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> afs <replaceable>boot_order</replaceable> yes
|
|
</programlisting></para>
|
|
|
|
<para>The following is an example for the first partition being configured.</para>
|
|
|
|
<programlisting>
|
|
/dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create a file system on each partition that is to be mounted at a <emphasis
|
|
role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following command is probably appropriate,
|
|
but consult the Solaris documentation for more information. <programlisting>
|
|
# <emphasis role="bold">newfs -v /dev/rdsk/</emphasis><replaceable>disk</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">mountall</emphasis> command to mount all partitions at once.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
|
|
instructions in <link linkend="HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris
|
|
Systems</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>server functionality</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>installing</primary>
|
|
|
|
<secondary>server functionality</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ108">
|
|
<title>Starting Server Programs</title>
|
|
|
|
<para>In this section you initialize the BOS Server, the Update Server, and the <emphasis
|
|
role="bold">fs</emphasis> process. You begin by copying the necessary server files to the local disk. <orderedlist>
|
|
<indexterm>
|
|
<primary>copying</primary>
|
|
|
|
<secondary>server files to local disk</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Binary Distribution</primary>
|
|
|
|
<secondary>copying server files from</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>copying</secondary>
|
|
|
|
<tertiary>server files to local disk</tertiary>
|
|
</indexterm>
|
|
|
|
<listitem>
|
|
<para>Copy file server binaries to the local <emphasis role="bold">/usr/afs/bin</emphasis> directory. <itemizedlist>
|
|
<listitem>
|
|
<para>On a machine of an existing system type, you can either
|
|
copy files from the OpenAFS binary distribution or use a
|
|
remote file transfer protocol to copy files from an existing
|
|
server machine of the same system type. To load from the
|
|
binary distribution, see the instructions just following for
|
|
a machine of a new system type. If using a remote file
|
|
transfer protocol, copy the complete contents of the
|
|
existing server machine's
|
|
<emphasis role="bold">/usr/afs/bin</emphasis>
|
|
directory.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are working from a tarball distribtion, rather
|
|
than one distributed in a packaged format, you must use the
|
|
following instructions to copy files from
|
|
the OpenAFS Binary Distribution.
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Unpack the distribution tarball. The examples
|
|
below assume that you have unpacked the files into the
|
|
<emphasis role="bold">/tmp/afsdist</emphasis>
|
|
directory. If you pick a different location, substitute
|
|
this in all of the following examples.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy files from the distribution to the local <emphasis role="bold">/usr/afs</emphasis> directory.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.server/usr/afs</emphasis>
|
|
# <emphasis role="bold">cp -rp * /usr/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>usr/afs/etc directory</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>/usr/afs/etc directory</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>/usr/afs/etc directory</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>CellServDB file (server)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>UserList file</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>KeyFile file</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>CellServDB file (server)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
|
|
<tertiary>on server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in server CellServDB file</secondary>
|
|
|
|
<tertiary>on server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>ThisCell file (server)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>cell membership, defining</secondary>
|
|
|
|
<tertiary>for server processes</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>setting</primary>
|
|
|
|
<secondary>cell name in server ThisCell file</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>ThisCell file (server)</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the contents of the
|
|
<emphasis role="bold">/usr/afs/etc</emphasis> directory from an
|
|
existing file server machine, using a remote file transfer protocol
|
|
such as <emphasis role="bold">sftp</emphasis> or
|
|
<emphasis role="bold">scp</emphasis>. If you use a system
|
|
control machine, it is best to copy the contents of its
|
|
<emphasis role="bold">/usr/afs/etc</emphasis> directory. If you
|
|
choose not to run a system control machine, copy the directory's
|
|
contents from any existing file server machine.
|
|
<indexterm>
|
|
<primary>BOS Server</primary>
|
|
|
|
<secondary>starting</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>BOS Server</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>BOS Server</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>authorization checking (disabling)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>disabling authorization checking</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>authorization checking (disabling)</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change to the <emphasis role="bold">/usr/afs/bin</emphasis> directory and start the BOS Server (<emphasis
|
|
role="bold">bosserver</emphasis> process). Include the <emphasis role="bold">-noauth</emphasis> flag to prevent the AFS
|
|
processes from performing authorization checking. This is a grave compromise of security; finish the remaining
|
|
instructions in this section in an uninterrupted pass. <programlisting>
|
|
# <emphasis role="bold">cd /usr/afs/bin</emphasis>
|
|
# <emphasis role="bold">./bosserver -noauth</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>BosConfig file</primary>
|
|
|
|
<secondary>adding entries</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>adding</primary>
|
|
|
|
<secondary>entries to BosConfig file</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>Update Server</primary>
|
|
|
|
<secondary>starting client portion</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>upclient process</primary>
|
|
</indexterm> <indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>Update Server client portion</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>Update Server client portion</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ109">
|
|
<para>If you run a system control machine, create the <emphasis
|
|
role="bold">upclientetc</emphasis> process as an instance of the client portion of the Update Server. It accepts updates
|
|
of the common configuration files stored in the system control machine's <emphasis role="bold">/usr/afs/etc</emphasis>
|
|
directory from the <emphasis role="bold">upserver</emphasis> process (server portion of the Update Server) running on
|
|
that machine. The cell's first file server machine was installed as the system control machine in <link
|
|
linkend="HDRWQ61">Starting the Server Portion of the Update Server</link>. (If you do not run a system control machine,
|
|
you must update the contents of the <emphasis role="bold">/usr/afs/etc</emphasis> directory on each file server machine,
|
|
using the appropriate <emphasis role="bold">bos</emphasis> commands.)</para>
|
|
|
|
<para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
|
|
role="bold">-t</emphasis> argument to specify a different number of seconds. For the
|
|
<replaceable>machine name</replaceable> argument, substitute the name of the machine you are installing. The
|
|
command appears on multiple lines here only for legibility reasons.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">upclientetc simple</emphasis> \
|
|
<emphasis role="bold">"/usr/afs/bin/upclient</emphasis> <<replaceable>system control machine</replaceable>> \
|
|
[<emphasis role="bold">-t</emphasis> <<replaceable>time</replaceable>>] <emphasis role="bold">/usr/afs/etc" -cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis
|
|
role="bold">-noauth</emphasis>
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Update Server</primary>
|
|
|
|
<secondary>starting server portion</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>Update Server server portion</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>Update Server server portion</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ110">
|
|
<para>Create an instance of the Update
|
|
Server to handle distribution of the file server binaries
|
|
stored in the <emphasis role="bold">/usr/afs/bin</emphasis>
|
|
directory. If your architecture using a package management system
|
|
such as 'rpm' or 'apt' to maintain its binaries, note that
|
|
distributing binaries via this system may interfere with your local
|
|
package management tools.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>If this is the first file server machine of its AFS system type, create the <emphasis
|
|
role="bold">upserver</emphasis> process as an instance of the server portion of the Update Server. It distributes
|
|
its copy of the file server process binaries to the other file server machines of this system type that you
|
|
install in future. Creating this process makes this machine the binary distribution machine for its type.
|
|
<programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">upserver simple</emphasis> \
|
|
<emphasis role="bold">"/usr/afs/bin/upserver -clear /usr/afs/bin"</emphasis> \
|
|
<emphasis role="bold">-cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis role="bold">-noauth</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If this machine is an existing system type, create the <emphasis role="bold">upclientbin</emphasis> process
|
|
as an instance of the client portion of the Update Server. It accepts updates of the AFS binaries from the
|
|
<emphasis role="bold">upserver</emphasis> process running on the binary distribution machine for its system type.
|
|
For distribution to work properly, the <emphasis role="bold">upserver</emphasis> process must already by running
|
|
on that machine.</para>
|
|
|
|
<para>Use the <emphasis role="bold">-clear</emphasis> argument to specify that the <emphasis
|
|
role="bold">upclientbin</emphasis> process requests unencrypted transfer of the binaries in the <emphasis
|
|
role="bold">/usr/afs/bin</emphasis> directory. Binaries are not sensitive and encrypting them is
|
|
time-consuming.</para>
|
|
|
|
<para>By default, the Update Server performs updates every 300 seconds (five minutes). Use the <emphasis
|
|
role="bold">-t</emphasis> argument to specify an different number of seconds.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">upclientbin simple</emphasis> \
|
|
<emphasis role="bold">"/usr/afs/bin/upclient</emphasis> <<replaceable>binary distribution machine</replaceable>> \
|
|
[<emphasis role="bold">-t</emphasis> <<replaceable>time</replaceable>>] <emphasis role="bold">-clear /usr/afs/bin" -cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis
|
|
role="bold">-noauth</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<indexterm>
|
|
<primary>File Server</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>File Server</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>File Server</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Volume Server</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>Volume Server</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>Volume Server</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>Salvager (salvager process)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>fs process</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>fs process</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fs process</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">bos create</emphasis> command
|
|
to start the <emphasis role="bold">fs</emphasis> process or the
|
|
<emphasis role="bold">dafs</emphasis> process, depending on if you
|
|
want to run the Demand-Attach File Server or not. See <link
|
|
linkend="DAFS">Appendix C, The Demand-Attach File Server</link> for
|
|
more information on whether you want to run it or not.
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
|
|
<para>If you do not want to run the Demand-Attach File Server, start the <emphasis role="bold">fs</emphasis> process, which binds together the File Server, Volume Server, and
|
|
Salvager. <programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">fs fs</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/fileserver /usr/afs/bin/volserver</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/salvager -cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis
|
|
role="bold">-noauth</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>If you want to run the Demand-Attach File Server, start the
|
|
<emphasis role="bold">dafs</emphasis> process, which binds together
|
|
the File Server, Volume Server, Salvage Server, and Salvager.
|
|
<programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">dafs dafs</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/dafileserver /usr/afs/bin/davolserver</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/salvageserver</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/dasalvager -cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis
|
|
role="bold">-noauth</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>installing</primary>
|
|
|
|
<secondary>client functionality</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>client functionality</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ111">
|
|
<title>Installing Client Functionality</title>
|
|
|
|
<para>If you want this machine to be a client as well as a server, follow the instructions in this section. Otherwise, skip to
|
|
<link linkend="HDRWQ112">Completing the Installation</link>.</para>
|
|
|
|
<para>Begin by loading the necessary client files to the local disk. Then create the necessary configuration files and start
|
|
the Cache Manager. For more detailed explanation of the procedures involved, see the corresponding instructions in <link
|
|
linkend="HDRWQ17">Installing the First AFS Machine</link> (in the sections following <link linkend="HDRWQ63">Overview:
|
|
Installing Client Functionality</link>).</para>
|
|
|
|
<para>If another AFS machine of this machine's system type exists, the AFS binaries are probably already accessible in your
|
|
AFS filespace (the conventional location is <emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/usr/afsws</emphasis>). If not, or if this is
|
|
the first AFS machine of its type, copy the AFS binaries for this system type into an AFS volume by following the instructions
|
|
in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link>. Because this machine is not yet an AFS client, you must perform
|
|
the procedure on an existing AFS machine. However, remember to perform the final step (linking the local directory <emphasis
|
|
role="bold">/usr/afsws</emphasis> to the appropriate location in the AFS file tree) on this machine itself. If you also want
|
|
to create AFS volumes to house UNIX system binaries for the new system type, see <link linkend="HDRWQ88">Storing System
|
|
Binaries in AFS</link>. <indexterm>
|
|
<primary>Binary Distribution</primary>
|
|
|
|
<secondary>copying client files from</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>copying</secondary>
|
|
|
|
<tertiary>client files to local disk</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>copying</primary>
|
|
|
|
<secondary>client files to local disk</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <orderedlist>
|
|
<listitem>
|
|
<para>Copy client binaries and files to the local disk. <itemizedlist>
|
|
<listitem>
|
|
<para>On a machine of an existing system type, you can either
|
|
load files from the OpenAFS Binary Distribution or use a
|
|
remote file transfer protocol to copy files from an existing
|
|
server machine of the same system type. To load from the
|
|
binary distribution, see the instructions just following
|
|
for a machine of a new system type. If using a remote file
|
|
transfer protocol, copy the complete contents of the existing
|
|
client machine's
|
|
<emphasis role="bold">/usr/vice/etc</emphasis>
|
|
directory.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On a machine of a new system type, you must use the
|
|
following instructions to copy files from the OpenAFS
|
|
Binary Distribution. If your distribution is provided in
|
|
a packaged format, then simply installing the packages will
|
|
perform the necessary actions.
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Unpack the distribution tarball. The examples
|
|
below assume that you have unpacked the files into the
|
|
<emphasis role="bold">/tmp/afsdist</emphasis>
|
|
directory. If you pick a different location, substitute
|
|
this in all of the following examples.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy files to the local <emphasis role="bold">/usr/vice/etc</emphasis> directory.</para>
|
|
|
|
<para>This step places a copy of the AFS initialization script (and related files, if applicable) into the
|
|
<emphasis role="bold">/usr/vice/etc</emphasis> directory. In the preceding instructions for incorporating
|
|
AFS into the kernel, you copied the script directly to the operating system's conventional location for
|
|
initialization files. When you incorporate AFS into the machine's startup sequence in a later step, you can
|
|
choose to link the two files.</para>
|
|
|
|
<para>On some system types that use a dynamic kernel loader program, you previously copied AFS library files
|
|
into a subdirectory of the <emphasis role="bold">/usr/vice/etc</emphasis> directory. On other system types,
|
|
you copied the appropriate AFS library file directly to the directory where the operating system accesses
|
|
it. The following commands do not copy or recopy the AFS library files into the <emphasis
|
|
role="bold">/usr/vice/etc</emphasis> directory, because on some system types the library files consume a
|
|
large amount of space. If you want to copy them, add the <emphasis role="bold">-r</emphasis> flag to the
|
|
first <emphasis role="bold">cp</emphasis> command and skip the second <emphasis role="bold">cp</emphasis>
|
|
command.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/</emphasis><replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">cp -p * /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">cp -rp C /usr/vice/etc</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>cell name</primary>
|
|
|
|
<secondary>setting in client ThisCell file</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>cell name</primary>
|
|
|
|
<secondary>setting in server ThisCell file</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>setting</primary>
|
|
|
|
<secondary>cell name in client ThisCell file</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>ThisCell file (client)</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>cell membership, defining</secondary>
|
|
|
|
<tertiary>for client processes</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>ThisCell file (client)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change to the <emphasis role="bold">/usr/vice/etc</emphasis> directory and create the <emphasis
|
|
role="bold">ThisCell</emphasis> file as a copy of the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file. You
|
|
must first remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/ThisCell</emphasis> file that the BOS
|
|
Server created automatically in <link linkend="HDRWQ108">Starting Server Programs</link>. <programlisting>
|
|
# <emphasis role="bold">cd /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">rm ThisCell</emphasis>
|
|
# <emphasis role="bold">cp /usr/afs/etc/ThisCell ThisCell</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Remove the symbolic link to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file. <programlisting>
|
|
# <emphasis role="bold">rm CellServDB</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in client CellServDB file</secondary>
|
|
|
|
<tertiary>on server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>CellServDB file (client)</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
|
|
<tertiary>on server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>creating</primary>
|
|
|
|
<secondary>CellServDB file (client)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the
|
|
<emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file.
|
|
Use a network file transfer program such as
|
|
<emphasis role="bold">sftp</emphasis> or
|
|
<emphasis role="bold">scp</emphasis> to copy it from
|
|
one of the following sources, which are listed in
|
|
decreasing order of preference:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Your cell's central <emphasis role="bold">CellServDB</emphasis> source file (the conventional location is
|
|
<emphasis role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/common/etc/CellServDB</emphasis>)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The global <emphasis role="bold">CellServDB</emphasis>
|
|
file maintained at grand.central.org</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>An existing client machine in your cell</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>The <emphasis role="bold">CellServDB.sample</emphasis>
|
|
file included in the
|
|
<replaceable>sysname</replaceable><emphasis role="bold">/root.client/usr/vice/etc</emphasis>
|
|
directory of each OpenAFS distribution; add an entry for the
|
|
local cell by following the instructions in
|
|
<link linkend="HDRWQ66">Creating the Client CellServDB File</link>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
|
|
<indexterm>
|
|
<primary>cache</primary>
|
|
|
|
<secondary>configuring</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>cache</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>setting</primary>
|
|
|
|
<secondary>cache size and location</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>cache size and location</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the <emphasis role="bold">cacheinfo</emphasis> file for either a disk cache or a memory cache. For a
|
|
discussion of the appropriate values to record in the file, see <link linkend="HDRWQ67">Configuring the
|
|
Cache</link>.</para>
|
|
|
|
<para>To configure a disk cache, issue the following commands. If you are devoting a partition exclusively to caching,
|
|
as recommended, you must also configure it, make a file system on it, and mount it at the directory created in this
|
|
step.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">mkdir /usr/vice/cache</emphasis>
|
|
# <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" > cacheinfo</emphasis>
|
|
</programlisting>
|
|
|
|
<para>To configure a memory cache:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">echo "/afs:/usr/vice/cache:</emphasis><replaceable>#blocks</replaceable><emphasis role="bold">" > cacheinfo</emphasis>
|
|
</programlisting>
|
|
|
|
<indexterm>
|
|
<primary>Cache Manager</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>Cache Manager</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>Cache Manager</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>afs (/afs) directory</primary>
|
|
|
|
<secondary>creating</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS initialization script</primary>
|
|
|
|
<secondary>setting afsd parameters</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>afsd command parameters</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the local directory on which to mount the AFS filespace, by convention <emphasis
|
|
role="bold">/afs</emphasis>. If the directory already exists, verify that it is empty. <programlisting>
|
|
# <emphasis role="bold">mkdir /afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On non-packaged Linux systems, copy the <emphasis role="bold">afsd</emphasis> options file from the <emphasis
|
|
role="bold">/usr/vice/etc</emphasis> directory to the <emphasis role="bold">/etc/sysconfig</emphasis> directory,
|
|
removing the <emphasis role="bold">.conf</emphasis> extension as you do so. <programlisting>
|
|
# <emphasis role="bold">cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the machine's AFS initialization script or <emphasis role="bold">afsd</emphasis> options file to set
|
|
appropriate values for <emphasis role="bold">afsd</emphasis> command parameters. The script resides in the indicated
|
|
location on each system type: <itemizedlist>
|
|
<listitem>
|
|
<para>On Fedora and RHEL systems,
|
|
<emphasis role="bold">/etc/sysconfig/openafs</emphasis>.
|
|
Note that this file has a different format from a standard
|
|
afsd options file.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On non-packaged Linux systems, <emphasis role="bold">/etc/sysconfig/afs</emphasis> (the <emphasis
|
|
role="bold">afsd</emphasis> options file)</para>
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
<para>On Solaris systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>Use one of the methods described in <link linkend="HDRWQ70">Configuring the Cache Manager</link> to add the
|
|
following flags to the <emphasis role="bold">afsd</emphasis> command line. If you intend for the machine to remain an
|
|
AFS client, also set any performance-related arguments you wish. <itemizedlist>
|
|
<!-- nosetime is now the default
|
|
<listitem>
|
|
<para>Add the <emphasis role="bold">-nosettime</emphasis> flag, because this is a file server machine that is also
|
|
a client.</para>
|
|
</listitem> -->
|
|
|
|
<listitem>
|
|
<para>Add the <emphasis role="bold">-memcache</emphasis> flag if the machine is to use a memory cache.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Add the <emphasis role="bold">-verbose</emphasis> flag to display a trace of the Cache Manager's
|
|
initialization on the standard output stream.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Add the <emphasis role="bold">--dynroot</emphasis> or
|
|
<emphasis role="bold">--afsdb</emphasis> options if you
|
|
wish to have a synthetic AFS root, as discussed in
|
|
<link linkend="HDRWQ91">Enabling Access to Foreign Cells</link>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If appropriate, follow the instructions in <link linkend="HDRWQ83">Storing AFS Binaries in AFS</link> to copy the
|
|
AFS binaries for this system type into an AFS volume. See the introduction to this section for further
|
|
discussion.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="HDRWQ112">
|
|
<title>Completing the Installation</title>
|
|
|
|
<para>At this point you run the machine's AFS initialization script to verify that it correctly loads AFS modifications into
|
|
the kernel and starts the BOS Server, which starts the other server processes. If you have installed client files, the script
|
|
also starts the Cache Manager. If the script works correctly, perform the steps that incorporate it into the machine's startup
|
|
and shutdown sequence. If there are problems during the initialization, attempt to resolve them. The AFS Product Support group
|
|
can provide assistance if necessary.</para>
|
|
|
|
<para>If the machine is configured as a client using a disk cache, it can take a while for the <emphasis
|
|
role="bold">afsd</emphasis> program to create all of the <emphasis role="bold">V</emphasis><replaceable>n</replaceable> files
|
|
in the cache directory. Messages on the console trace the initialization process. <orderedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">bos shutdown</emphasis> command to shut down the AFS server processes other than
|
|
the BOS Server. Include the <emphasis role="bold">-wait</emphasis> flag to delay return of the command shell prompt
|
|
until all processes shut down completely. <programlisting>
|
|
# <emphasis role="bold">/usr/afs/bin/bos shutdown</emphasis> <<replaceable>machine name</replaceable>> <emphasis
|
|
role="bold">-wait</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">ps</emphasis> command to learn the BOS Server's process ID number (PID), and then
|
|
the <emphasis role="bold">kill</emphasis> command to stop the <emphasis role="bold">bosserver</emphasis> process.
|
|
<programlisting>
|
|
# <emphasis role="bold">ps</emphasis> <replaceable>appropriate_ps_options</replaceable> <emphasis role="bold">| grep bosserver</emphasis>
|
|
# <emphasis role="bold">kill</emphasis> <replaceable>bosserver_PID</replaceable>
|
|
</programlisting> <indexterm>
|
|
<primary>AFS initialization script</primary>
|
|
|
|
<secondary>adding to machine startup sequence</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>AFS initialization script</primary>
|
|
|
|
<secondary>running</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>running AFS init. script</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>installing</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
<indexterm>
|
|
<primary>Linux</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the AFS initialization script by issuing the appropriate commands for this system type.</para>
|
|
|
|
<para><emphasis role="bold">On Fedora or RHEL Linux systems:</emphasis>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /</emphasis>
|
|
# <emphasis role="bold">shutdown -r now</emphasis>
|
|
login: <emphasis role="bold">root</emphasis>
|
|
Password: <replaceable>root_password</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the OpenAFS initialization scripts. <programlisting>
|
|
# <emphasis role="bold">/etc/rc.d/init.d/openafs-client start</emphasis>
|
|
# <emphasis role="bold">/etc/rc.d/init.d/openafs-server start</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">chkconfig</emphasis>
|
|
command to activate the
|
|
<emphasis role="bold">openafs-client</emphasis> and
|
|
<emphasis role="bold">openafs-server</emphasis> configuration
|
|
variables. Based on the instruction in the AFS initialization
|
|
files that begins with the string
|
|
<computeroutput>#chkconfig</computeroutput>, the command
|
|
automatically creates the symbolic links that incorporate the
|
|
script into the Linux startup and shutdown sequence.
|
|
<programlisting>
|
|
# <emphasis role="bold">/sbin/chkconfig --add openafs-client</emphasis>
|
|
# <emphasis role="bold">/sbin/chkconfig --add openafs-server</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</para>
|
|
<para><emphasis role="bold">On Linux systems:</emphasis> <orderedlist>
|
|
<listitem>
|
|
<para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /</emphasis>
|
|
# <emphasis role="bold">shutdown -r now</emphasis>
|
|
login: <emphasis role="bold">root</emphasis>
|
|
Password: <replaceable>root_password</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the OpenAFS initialization script. <programlisting>
|
|
# <emphasis role="bold">/etc/rc.d/init.d/afs start</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
|
|
role="bold">afs</emphasis> configuration variable. Based on the instruction in the AFS initialization file that
|
|
begins with the string <computeroutput>#chkconfig</computeroutput>, the command automatically creates the symbolic
|
|
links that incorporate the script into the Linux startup and shutdown sequence. <programlisting>
|
|
# <emphasis role="bold">/sbin/chkconfig --add afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
|
|
<emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/rc.d/init.d</emphasis> directories,
|
|
and copies of the <emphasis role="bold">afsd</emphasis> options file in both the <emphasis
|
|
role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/sysconfig</emphasis> directories. If you want
|
|
to avoid potential confusion by guaranteeing that the two copies of each file are always the same, create a link
|
|
between them. You can always retrieve the original script or options file from the AFS CD-ROM if necessary.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">rm afs.rc afs.conf</emphasis>
|
|
# <emphasis role="bold">ln -s /etc/rc.d/init.d/afs afs.rc</emphasis>
|
|
# <emphasis role="bold">ln -s /etc/sysconfig/afs afs.conf</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>Solaris</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<para><emphasis role="bold">On Solaris systems:</emphasis> <orderedlist>
|
|
<listitem>
|
|
<para>Reboot the machine and log in again as the local superuser <emphasis role="bold">root</emphasis>.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /</emphasis>
|
|
# <emphasis role="bold">shutdown -i6 -g0 -y</emphasis>
|
|
login: <emphasis role="bold">root</emphasis>
|
|
Password: <replaceable>root_password</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the AFS initialization script. <programlisting>
|
|
# <emphasis role="bold">/etc/init.d/afs start</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change to the <emphasis role="bold">/etc/init.d</emphasis> directory and issue the <emphasis role="bold">ln
|
|
-s</emphasis> command to create symbolic links that incorporate the AFS initialization script into the Solaris
|
|
startup and shutdown sequence. <programlisting>
|
|
# <emphasis role="bold">cd /etc/init.d</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /etc/rc3.d/S99afs</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K66afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> There are now copies of the AFS initialization file in both the
|
|
<emphasis role="bold">/usr/vice/etc</emphasis> and <emphasis role="bold">/etc/init.d</emphasis> directories. If
|
|
you want to avoid potential confusion by guaranteeing that they are always the same, create a link between them.
|
|
You can always retrieve the original script from the OpenAFS Binary Distribution if necessary. <programlisting>
|
|
# <emphasis role="bold">cd /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">rm afs.rc</emphasis>
|
|
# <emphasis role="bold">ln -s /etc/init.d/afs afs.rc</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ113">
|
|
<para>Verify that <emphasis role="bold">/usr/afs</emphasis> and its subdirectories on the new
|
|
file server machine meet the ownership and mode bit requirements outlined in <link linkend="HDRWQ96">Protecting
|
|
Sensitive AFS Directories</link>. If necessary, use the <emphasis role="bold">chmod</emphasis> command to correct the
|
|
mode bits.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To configure this machine as a database server machine, proceed to <link linkend="HDRWQ114">Installing Database
|
|
Server Functionality</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>requirements for installation</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>requirements</primary>
|
|
|
|
<secondary>database server machine</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ114">
|
|
<title>Installing Database Server Functionality</title>
|
|
|
|
<para>This section explains how to install database server functionality. Database server machines have two defining
|
|
characteristics. First, they run the Protection Server, and Volume Location (VL) Server processes. They
|
|
also run the Backup Server if the cell uses the AFS Backup System, as is assumed in these instructions. Second, they appear in
|
|
the <emphasis role="bold">CellServDB</emphasis> file of every machine in the cell (and of client machines in foreign cells, if
|
|
they are to access files in this cell).</para>
|
|
|
|
<para>Note the following requirements for database server machines. <itemizedlist>
|
|
<listitem>
|
|
<para>In the conventional configuration, database server machines also serve as file server machines (run the File Server,
|
|
Volume Server and Salvager processes). If you choose not to run file server functionality on a database server machine,
|
|
then the kernel does not have to incorporate AFS modifications, but the local <emphasis role="bold">/usr/afs</emphasis>
|
|
directory must house most of the standard files and subdirectories. In particular, the <emphasis
|
|
role="bold">/usr/afs/etc/KeyFile</emphasis> file must contain the same keys as all other server machines in the cell. If
|
|
you run a system control machine, run the <emphasis role="bold">upclientetc</emphasis> process on every database server
|
|
machine other than the system control machine; if you do not run a system control machine, use the <emphasis
|
|
role="bold">bos addkey</emphasis> command as instructed in the chapter in the <emphasis>OpenAFS Administration
|
|
Guide</emphasis> about maintaining server encryption keys.</para>
|
|
|
|
<para>The instructions in this section assume that the machine on which you are installing database server functionality
|
|
is already a file server machine. Contact the OpenAFS mailing list to learn how to install database server
|
|
functionality on a non-file server machine.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>During the installation of database server functionality, you must restart all of the database server machines to
|
|
force the election of a new Ubik coordinator (synchronization site) for each database server process. This can cause a
|
|
system outage, which usually lasts less than 5 minutes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Updating the kernel memory list of database server machines on each client machine is generally the most
|
|
time-consuming part of installing a new database server machine. It is, however, crucial for correct functioning in your
|
|
cell. Incorrect knowledge of your cell's database server machines can prevent your users from authenticating, accessing
|
|
files, and issuing AFS commands.</para>
|
|
|
|
<para>You update a client's kernel memory list by changing the <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis>
|
|
file and then either rebooting or issuing the <emphasis role="bold">fs newcell</emphasis> command. For instructions, see
|
|
the chapter in the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines.</para>
|
|
|
|
<para>The point at which you update your clients' knowledge of database server machines depends on which of the database
|
|
server machines has the lowest IP address. The following instructions indicate the appropriate place to update your client
|
|
machines in either case. <itemizedlist>
|
|
<listitem>
|
|
<para>If the new database server machine has a lower IP address than any existing database server machine, update
|
|
the <emphasis role="bold">CellServDB</emphasis> file on every client machine before restarting the database server
|
|
processes. If you do not, users can become unable to update (write to) any of the AFS databases. This is because the
|
|
machine with the lowest IP address is usually elected as the Ubik coordinator, and only the Coordinator accepts
|
|
database writes. On client machines that do not have the new list of database server machines, the Cache Manager
|
|
cannot locate the new coordinator. (Be aware that if clients contact the new coordinator before it is actually in
|
|
service, they experience a timeout before contacting another database server machine. This is a minor, and
|
|
temporary, problem compared to being unable to write to the database.)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the new database server machine does not have the lowest IP address of any database server machine, then it
|
|
is better to update clients after restarting the database server processes. Client machines do not start using the
|
|
new database server machine until you update their kernel memory list, but that does not usually cause timeouts or
|
|
update problems (because the new machine is not likely to become the coordinator).</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>overview</primary>
|
|
|
|
<secondary>installing additional database server machine</secondary>
|
|
</indexterm>
|
|
|
|
<sect2 id="Header_110">
|
|
<title>Summary of Procedures</title>
|
|
|
|
<para>To install a database server machine, perform the following procedures. <orderedlist>
|
|
<listitem>
|
|
<para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Add the new machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing file server
|
|
machines</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
|
|
to foreign cells</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
|
|
list of database server machines</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Start the database server processes (Backup Server, Protection Server, and Volume Location
|
|
Server)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Restart the database server processes on every database server machine</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If required, request that grand.central.org add details of
|
|
your new database server machine to the global CellServDB</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If required, add details of your new database server to the
|
|
AFS database location records in your site's DNS</para>
|
|
</listitem>
|
|
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>installing</secondary>
|
|
|
|
<tertiary>additional</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>instructions</primary>
|
|
|
|
<secondary>database server machine, installing additional</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>installing</primary>
|
|
|
|
<secondary>database server machine</secondary>
|
|
|
|
<tertiary>additional</tertiary>
|
|
</indexterm>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_111">
|
|
<title>Instructions</title>
|
|
|
|
<note>
|
|
<para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
|
|
you possibly need to precede the command names with the appropriate pathname.</para>
|
|
</note>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
|
|
is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines.
|
|
<programlisting>
|
|
% <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
|
|
Password: <replaceable>admin_password</replaceable>
|
|
% <emphasis role="bold">aklog</emphasis>
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are working on a client machine configured in the conventional manner, the <emphasis
|
|
role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
|
|
symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
|
|
helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
|
|
you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
|
|
directory. <programlisting>
|
|
% <emphasis role="bold">cp /usr/afsws/bin/bos /tmp</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>addhost</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos addhost</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in server CellServDB file</secondary>
|
|
|
|
<tertiary>for new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>CellServDB file (server)</primary>
|
|
|
|
<secondary>adding entry for new db-server machine</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>adding</primary>
|
|
|
|
<secondary>new db-server machine to CellServDB files</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ115">
|
|
<para>Issue the <emphasis role="bold">bos addhost</emphasis> command to add the new database server
|
|
machine to the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on existing server machines (as well as the
|
|
new database server machine itself).</para>
|
|
|
|
<para>Substitute the new database server machine's fully-qualified hostname for the <replaceable>host name</replaceable>
|
|
argument. If you run a system control machine, substitute its fully-qualified hostname for the
|
|
<replaceable>machine name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
|
|
role="bold">bos addhost</emphasis> command once for each server machine in your cell (including the new database server
|
|
machine itself), by substituting each one's fully-qualified hostname for the <replaceable>machine name</replaceable>
|
|
argument in turn.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">bos addhost</emphasis> <<replaceable>machine name</replaceable>> <<replaceable>host name</replaceable>>
|
|
</programlisting>
|
|
|
|
<para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
|
|
role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If you are issuing individual <emphasis
|
|
role="bold">bos addhost</emphasis> commands, attempt to issue all of them within five minutes.</para>
|
|
|
|
<note>
|
|
<para>It is best to maintain a one-to-one mapping between hostnames and IP addresses on a multihomed database server
|
|
machine (the conventional configuration for any AFS machine). The BOS Server uses the <emphasis
|
|
role="bold">gethostbyname( )</emphasis> routine to obtain the IP address associated with the <replaceable>host
|
|
name</replaceable> argument. If there is more than one address, the BOS Server records in the <emphasis
|
|
role="bold">CellServDB</emphasis> entry the one that appears first in the list of addresses returned by the routine. The
|
|
routine possibly returns addresses in a different order on different machines, which can create inconsistency.</para>
|
|
</note>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
|
|
server machine to verify that the new database server machine appears in its <emphasis role="bold">CellServDB</emphasis>
|
|
file. <programlisting>
|
|
% <emphasis role="bold">bos listhosts</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ116">
|
|
<para>Add the new database server machine to your cell's central <emphasis
|
|
role="bold">CellServDB</emphasis> source file, if you use one. The standard location is <emphasis
|
|
role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/common/etc/CellServDB</emphasis>.</para>
|
|
|
|
<para>If you are willing to make your cell accessible to users in foreign cells, add the new database server machine to
|
|
the file that lists your cell's database server machines. The conventional location is <emphasis
|
|
role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in client CellServDB file</secondary>
|
|
|
|
<tertiary>for new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>CellServDB file (client)</primary>
|
|
|
|
<secondary>adding entry</secondary>
|
|
|
|
<tertiary>for new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>client machine</primary>
|
|
|
|
<secondary>CellServDB file</secondary>
|
|
|
|
<tertiary>adding entry</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ117">
|
|
<para>If this machine's IP address is lower than any existing database server machine's, update
|
|
every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory list to include
|
|
this machine. (If this machine's IP address is not the lowest, it is acceptable to wait until Step <link
|
|
linkend="LIWQ123">12</link>.)</para>
|
|
|
|
<para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
|
|
detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
|
|
option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>).
|
|
To update the machine's kernel memory list, you can
|
|
either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
|
|
newcell</emphasis> command.
|
|
<indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>starting database server processes</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>BosConfig file</primary>
|
|
|
|
<secondary>adding entries</secondary>
|
|
|
|
<tertiary>database server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>adding</primary>
|
|
|
|
<secondary>entries to BosConfig file</secondary>
|
|
|
|
<tertiary>database server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are running a cell which still relies upon
|
|
<emphasis role="bold">kaserver</emphasis> see
|
|
<link linkend="KAS010">Starting the Authentication Service</link>
|
|
for an additional installation step.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ119">
|
|
<indexterm>
|
|
<primary>Backup Server</primary>
|
|
<secondary>starting</secondary>
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>starting</primary>
|
|
<secondary>Backup Server</secondary>
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<para>Start the Backup Server (the <emphasis role="bold">buserver</emphasis> process). You must
|
|
perform other configuration procedures before actually using the AFS Backup System, as detailed in the <emphasis>OpenAFS
|
|
Administration Guide</emphasis>. <programlisting>
|
|
% <emphasis role="bold">bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">buserver simple /usr/afs/bin/buserver</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>Protection Server</primary>
|
|
|
|
<secondary>starting</secondary>
|
|
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>Protection Server</secondary>
|
|
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ120">
|
|
<para>Start the Protection Server (the <emphasis role="bold">ptserver</emphasis> process).
|
|
<programlisting>
|
|
% <emphasis role="bold">bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">ptserver simple /usr/afs/bin/ptserver</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>VL Server (vlserver process)</primary>
|
|
|
|
<secondary>starting</secondary>
|
|
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>VL Server</secondary>
|
|
|
|
<tertiary>new db-server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ121">
|
|
<para>Start the Volume Location (VL) Server (the <emphasis role="bold">vlserver</emphasis>
|
|
process). <programlisting>
|
|
% <emphasis role="bold">bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">vlserver simple /usr/afs/bin/vlserver</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos restart</secondary>
|
|
|
|
<tertiary>on new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>restart</secondary>
|
|
|
|
<tertiary>on new db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>restarting server process</primary>
|
|
|
|
<secondary>on new db-server machine</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>server process</primary>
|
|
|
|
<secondary>restarting</secondary>
|
|
|
|
<tertiary>on new db-server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ122">
|
|
<para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
|
|
machine in the cell, including the new machine. The command restarts the Authentication, Backup, Protection, and VL
|
|
Servers, which forces an election of a new Ubik coordinator for each process. The new machine votes in the election and is
|
|
considered as a potential new coordinator.</para>
|
|
|
|
<para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
|
|
lasts less than five minutes. Such an outage is particularly likely if you are installing your cell's second database
|
|
server machine. Messages tracing the progress of the election appear on the console.</para>
|
|
|
|
<para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
|
|
the lowest IP address.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">bos restart</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If an error occurs, restart all server processes on the database server machines again by using one of the following
|
|
methods: <itemizedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
|
|
role="bold">-bosserver</emphasis> flag for each database server machine</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
|
|
its console</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ123">
|
|
<para>If you did not update the <emphasis role="bold">CellServDB</emphasis> file on client machines
|
|
in Step <link linkend="LIWQ117">6</link>, do so now.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ124">
|
|
<para>If you wish to participate in the AFS
|
|
global name space, send the new database server machine's name and
|
|
IP address to grand.central.org. Do so, by emailing an updated
|
|
<emphasis role="bold">CellServDB</emphasis> fragment for your cell
|
|
to cellservdb@grand.central.org</para>
|
|
<para>More details on the registration procedures for the
|
|
CellServDB maintained by grand.central.org are available from
|
|
<ulink url="http://grand.central.org/csdb.html">
|
|
http://grand.central.org/csdb.html</ulink></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>removing from service</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>instructions</primary>
|
|
|
|
<secondary>database server machine, removing</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>removing</primary>
|
|
|
|
<secondary>database server machine from service</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>overview</primary>
|
|
|
|
<secondary>removing database server machine</secondary>
|
|
</indexterm>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="HDRWQ125">
|
|
<title>Removing Database Server Functionality</title>
|
|
|
|
<para>Removing database server machine functionality is nearly the reverse of installing it.</para>
|
|
|
|
<sect2 id="Header_113">
|
|
<title>Summary of Procedures</title>
|
|
|
|
<para>To decommission a database server machine, perform the following procedures. <orderedlist>
|
|
<listitem>
|
|
<para>Install the <emphasis role="bold">bos</emphasis> suite of commands locally, as a precaution</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you participate in the global AFS namespace, notify
|
|
grand.central.org that you are decommissioning a database server
|
|
machine</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Update your cell's central <emphasis role="bold">CellServDB</emphasis> source file and the file you make available
|
|
to foreign cells</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file and kernel memory
|
|
list of database server machines</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Remove the machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on file server
|
|
machines</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Stop the database server processes and remove them from the <emphasis
|
|
role="bold">/usr/afs/local/BosConfig</emphasis> file if desired</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Restart the database server processes on the remaining database server machines</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</sect2>
|
|
|
|
<sect2 id="Header_114">
|
|
<title>Instructions</title>
|
|
|
|
<note>
|
|
<para>It is assumed that your PATH environment variable includes the directory that houses the AFS command binaries. If not,
|
|
you possibly need to precede the command names with the appropriate pathname.</para>
|
|
</note>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>You can perform the following instructions on either a server or client machine. Login as an AFS administrator who
|
|
is listed in the <emphasis role="bold">/usr/afs/etc/UserList</emphasis> file on all server machines.
|
|
<programlisting>
|
|
% <emphasis role="bold">kinit</emphasis> <replaceable>admin_user</replaceable>
|
|
Password: <replaceable>admin_password</replaceable>
|
|
% <emphasis role="bold">aklog</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you are working on a client machine configured in the conventional manner, the <emphasis
|
|
role="bold">bos</emphasis> command suite resides in the <emphasis role="bold">/usr/afsws/bin</emphasis> directory, a
|
|
symbolic link to an AFS directory. An error during installation can potentially block access to AFS, in which case it is
|
|
helpful to have a copy of the <emphasis role="bold">bos</emphasis> binary on the local disk. This step is not necessary if
|
|
you are working on a server machine, where the binary resides in the local <emphasis role="bold">/usr/afs/bin</emphasis>
|
|
directory. <programlisting>
|
|
% <emphasis role="bold">cp /usr/afsws/bin/bos /tmp</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ126">
|
|
<para>If your cell is included in the global
|
|
<emphasis role="bold">CellServDB</emphasis>, send the revised list of
|
|
your cell's database server machines to grand.central.org</para>
|
|
|
|
<para>If the administrators in foreign cells do not learn about the change in your cell,
|
|
they cannot update the <emphasis role="bold">CellServDB</emphasis> file on their client machines. Users in foreign cells
|
|
continue to send database requests to the decommissioned machine, which creates needless network traffic and activity on
|
|
the machine. Also, the users experience time-out delays while their request is forwarded to a valid database server
|
|
machine.</para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ127">
|
|
<para>Remove the decommissioned machine from your cell's central <emphasis
|
|
role="bold">CellServDB</emphasis> source file, if you use one. The conventional location is <emphasis
|
|
role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/common/etc/CellServDB</emphasis>.</para>
|
|
|
|
<para>If you maintain a file that users in foreign cells can access to learn about your cell's database server machines,
|
|
update it also. The conventional location is <emphasis
|
|
role="bold">/afs/</emphasis><replaceable>cellname</replaceable><emphasis
|
|
role="bold">/service/etc/CellServDB.local</emphasis>. <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in client CellServDB file</secondary>
|
|
|
|
<tertiary>removing</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>CellServDB file (client)</primary>
|
|
|
|
<secondary>removing entry</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>client machine</primary>
|
|
|
|
<secondary>CellServDB file</secondary>
|
|
|
|
<tertiary>removing entry</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>removing</primary>
|
|
|
|
<secondary>entry from CellServDB file</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ128">
|
|
<para>Update every client machine's <emphasis role="bold">/usr/vice/etc/CellServDB</emphasis> file
|
|
and kernel memory list to exclude this machine. Altering the <emphasis role="bold">CellServDB</emphasis> file and kernel
|
|
memory list before stopping the actual database server processes avoids possible time-out delays that result when users
|
|
send requests to a decommissioned database server machine that is still listed in the file.</para>
|
|
|
|
<para>There are several ways to update the <emphasis role="bold">CellServDB</emphasis> file on client machines, as
|
|
detailed in the chapter of the <emphasis>OpenAFS Administration Guide</emphasis> about administering client machines. One
|
|
option is to copy over the central update source (which you updated in Step <link linkend="LIWQ116">5</link>).
|
|
To update the machine's kernel memory list, you can
|
|
either reboot after changing the <emphasis role="bold">CellServDB</emphasis> file or issue the <emphasis role="bold">fs
|
|
newcell</emphasis> command. <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>removehost</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos removehost</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>CellServDB file (server)</primary>
|
|
|
|
<secondary>removing entry</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>entry in server CellServDB file</secondary>
|
|
|
|
<tertiary>removing</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ129">
|
|
<para>Issue the <emphasis role="bold">bos removehost</emphasis> command to remove the
|
|
decommissioned database server machine from the <emphasis role="bold">/usr/afs/etc/CellServDB</emphasis> file on server
|
|
machines.</para>
|
|
|
|
<para>Substitute the decommissioned database server machine's fully-qualified hostname for the <replaceable>host
|
|
name</replaceable> argument. If you run a system control machine, substitute its fully-qualified hostname for the
|
|
<replaceable>machine name</replaceable> argument. If you do not run a system control machine, repeat the <emphasis
|
|
role="bold">bos removehost</emphasis> command once for each server machine in your cell (including the decommissioned
|
|
database server machine itself), by substituting each one's fully-qualified hostname for the
|
|
<replaceable>machine name</replaceable> argument in turn.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">bos removehost</emphasis> <<replaceable>machine name</replaceable>> <<replaceable>host name</replaceable>>
|
|
</programlisting>
|
|
|
|
<para>If you run a system control machine, wait for the Update Server to distribute the new <emphasis
|
|
role="bold">CellServDB</emphasis> file, which takes up to five minutes by default. If issuing individual <emphasis
|
|
role="bold">bos removehost</emphasis> commands, attempt to issue all of them within five minutes.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos listhosts</emphasis> command on each
|
|
server machine to verify that the decommissioned database server machine no longer appears in its <emphasis
|
|
role="bold">CellServDB</emphasis> file. <programlisting>
|
|
% <emphasis role="bold">bos listhosts</emphasis> <<replaceable>machine name</replaceable>>
|
|
</programlisting> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos stop</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>stop</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>stopping database server processes</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>stopping</primary>
|
|
|
|
<secondary>database server processes</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>Backup Server</primary>
|
|
|
|
<secondary>stopping</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>Protection Server</primary>
|
|
|
|
<secondary>stopping</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>VL Server (vlserver process)</primary>
|
|
|
|
<secondary>stopping</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ130">
|
|
<para>Issue the <emphasis role="bold">bos stop</emphasis> command to stop the database server
|
|
processes on the machine, by substituting its fully-qualified hostname for the
|
|
<replaceable>machine name</replaceable> argument. The command changes each process's status in the <emphasis
|
|
role="bold">/usr/afs/local/BosConfig</emphasis> file to <computeroutput>NotRun</computeroutput>, but does not remove its
|
|
entry from the file. <programlisting>
|
|
% <emphasis role="bold">bos stop</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">kaserver buserver ptserver vlserver</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos delete</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>delete</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>BosConfig file</primary>
|
|
|
|
<secondary>removing entries</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>removing</primary>
|
|
|
|
<secondary>entries from BosConfig File</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>database server machine</primary>
|
|
|
|
<secondary>removing db-server processes from BosConfig file</secondary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ131">
|
|
<para><emphasis role="bold">(Optional)</emphasis> Issue the <emphasis role="bold">bos
|
|
delete</emphasis> command to remove the entries for database server processes from the <emphasis
|
|
role="bold">BosConfig</emphasis> file. This step is unnecessary if you plan to restart the database server functionality
|
|
on this machine in future. <programlisting>
|
|
% <emphasis role="bold">bos delete</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">buserver ptserver vlserver</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>commands</primary>
|
|
|
|
<secondary>bos restart</secondary>
|
|
|
|
<tertiary>on removed db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>bos commands</primary>
|
|
|
|
<secondary>restart</secondary>
|
|
|
|
<tertiary>on removed db-server machine</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>restarting server process</primary>
|
|
|
|
<secondary>on removed db-server machine</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>server process</primary>
|
|
|
|
<secondary>restarting</secondary>
|
|
|
|
<tertiary>on removed db-server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem id="LIWQ132">
|
|
<para>Issue the <emphasis role="bold">bos restart</emphasis> command on every database server
|
|
machine in the cell, to restart the Backup, Protection, and VL Servers. This forces the election of a Ubik
|
|
coordinator for each process, ensuring that the remaining database server processes recognize that the machine is no
|
|
longer a database server.</para>
|
|
|
|
<para>A cell-wide service outage is possible during the election of a new coordinator for the VL Server, but it normally
|
|
lasts less than five minutes. Messages tracing the progress of the election appear on the console.</para>
|
|
|
|
<para>Repeat this command on each of your cell's database server machines in quick succession. Begin with the machine with
|
|
the lowest IP address.</para>
|
|
|
|
<programlisting>
|
|
% <emphasis role="bold">bos restart</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">buserver ptserver vlserver</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If an error occurs, restart all server processes on the database server machines again by using one of the following
|
|
methods: <itemizedlist>
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">bos restart</emphasis> command with the <emphasis
|
|
role="bold">-bosserver</emphasis> flag for each database server machine</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Reboot each database server machine, either using the <emphasis role="bold">bos exec</emphasis> command or at
|
|
its console</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|