mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 23:10:58 +00:00
f521ac0f60
FIXES 60137 commit updates to the docs for obsolete stuff ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== also the appendix file
3699 lines
168 KiB
XML
3699 lines
168 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<chapter id="HDRWQ99">
|
|
<title>Installing Additional Server Machines</title>
|
|
|
|
<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>
|
|
|
|
<para>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></para>
|
|
|
|
<indexterm>
|
|
<primary>requirements</primary>
|
|
|
|
<secondary>file server machine (additional)</secondary>
|
|
</indexterm>
|
|
|
|
<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="HDRWQ101">Getting Started on AIX Systems</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="HDRWQ103">Getting Started on HP-UX Systems</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="HDRWQ104">Getting Started on IRIX Systems</link></para>
|
|
</listitem>
|
|
|
|
<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="HDRWQ101">
|
|
<title>Getting Started on AIX Systems</title>
|
|
|
|
<para>Begin by running the AFS initialization script to call the AIX kernel extension facility, which dynamically loads AFS
|
|
modifications into the kernel. Then configure partitions and replace the AIX <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>AIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS kernel extensions</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>AIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on AIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AIX</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<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. Once you have unpacked the distribution,
|
|
change directory as indicated.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/rs_aix42/root.client/usr/vice/etc</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the AFS kernel library files to the local <emphasis role="bold">/usr/vice/etc/dkload</emphasis> directory,
|
|
and the AFS initialization script to the <emphasis role="bold">/etc</emphasis> directory. <programlisting>
|
|
# <emphasis role="bold">cp -rp dkload /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">cp -p rc.afs /etc/rc.afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the <emphasis role="bold">/etc/rc.afs</emphasis> script, setting the <computeroutput>NFS</computeroutput>
|
|
variable as indicated.</para>
|
|
|
|
<para>If the machine is not to function as an NFS/AFS Translator, set the <computeroutput>NFS</computeroutput>
|
|
variable as follows.</para>
|
|
|
|
<programlisting>
|
|
NFS=$NFS_NONE
|
|
</programlisting>
|
|
|
|
<para>If the machine is to function as an NFS/AFS Translator and is running AIX 4.2.1 or higher, set the
|
|
<computeroutput>NFS</computeroutput> variable as follows. Note that NFS must already be loaded into the kernel, which
|
|
happens automatically on systems running AIX 4.1.1 and later, as long as the file <emphasis
|
|
role="bold">/etc/exports</emphasis> exists.</para>
|
|
|
|
<programlisting>
|
|
NFS=$NFS_IAUTH
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Invoke the <emphasis role="bold">/etc/rc.afs</emphasis> 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/rc.afs</emphasis>
|
|
</programlisting> <indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>AFS server partition on server machine after first</secondary>
|
|
|
|
<tertiary>AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>AFS server partition</primary>
|
|
|
|
<secondary>configuring on server machine after first</secondary>
|
|
|
|
<tertiary>AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>AIX</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm></para>
|
|
</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>Use the <emphasis role="bold">SMIT</emphasis> program to create a journaling file system on each partition to be
|
|
configured as an AFS server partition.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Mount each partition at one of the <emphasis role="bold">/vicep</emphasis><replaceable>xx</replaceable>
|
|
directories. Choose one of the following three methods: <itemizedlist>
|
|
<listitem>
|
|
<para>Use the <emphasis role="bold">SMIT</emphasis> program</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use the <emphasis role="bold">mount -a</emphasis> command to mount all partitions at once</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Use the <emphasis role="bold">mount</emphasis> command on each partition in turn</para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<para>Also configure the partitions so that they are mounted automatically at each reboot. For more information, refer
|
|
to the AIX documentation. <indexterm>
|
|
<primary>replacing fsck program</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>fsck program</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on AIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>AIX</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On systems prior to AIX 5.1, move the AIX
|
|
<emphasis role="bold">fsck</emphasis> program helper to a safe
|
|
location and install the version from the AFS distribution in
|
|
its place. Note that on AIX 5.1, and later, systems this step is
|
|
not required, and the <emphasis role="bold">v3fshelper</emphasis>
|
|
program is not shipped for these systems.</para>
|
|
|
|
<para>The AFS binary distribution must still be available in the
|
|
<emphasis role="bold">/tmp/afsdist</emphasis> directory.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /sbin/helpers</emphasis>
|
|
# <emphasis role="bold">mv v3fshelper v3fshelper.noafs</emphasis>
|
|
# <emphasis role="bold">cp -p /tmp/afsdist/rs_aix42/root.server/etc/v3fshelper v3fshelper</emphasis>
|
|
</programlisting></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="HDRWQ25">Enabling AFS Login on AIX Systems</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</sect3>
|
|
|
|
<sect3 id="HDRWQ103">
|
|
<title>Getting Started on HP-UX Systems</title>
|
|
|
|
<para>Begin by building AFS modifications into the kernel, then configure server partitions and replace the HP-UX <emphasis
|
|
role="bold">fsck</emphasis> program with a version that correctly handles AFS volumes.</para>
|
|
|
|
<para>If the machine's hardware and software configuration exactly matches another HP-UX machine on which AFS is already
|
|
built into the kernel, you can copy the kernel from that machine to this one. In general, however, it is better to build AFS
|
|
modifications into the kernel on each machine according to the following instructions.
|
|
<orderedlist>
|
|
<indexterm>
|
|
<primary>incorporating AFS kernel extensions</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS kernel extensions</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>HP-UX</primary>
|
|
|
|
<secondary>AFS-modified kernel</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<listitem>
|
|
<para>Move the existing kernel-related files to a safe location. <programlisting>
|
|
# <emphasis role="bold">cp /stand/vmunix /stand/vmunix.noafs</emphasis>
|
|
# <emphasis role="bold">cp /stand/system /stand/system.noafs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Unpack the OpenAFS HP-UX 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/hp_ux110/root.client</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the AFS initialization file to the local directory for initialization files (by convention, <emphasis
|
|
role="bold">/sbin/init.d</emphasis> on HP-UX machines). Note the removal of the <emphasis role="bold">.rc</emphasis>
|
|
extension as you copy the file. <programlisting>
|
|
# <emphasis role="bold">cp usr/vice/etc/afs.rc /sbin/init.d/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the file <emphasis role="bold">afs.driver</emphasis> to the local <emphasis
|
|
role="bold">/usr/conf/master.d</emphasis> directory, changing its name to <emphasis role="bold">afs</emphasis> as you
|
|
do. <programlisting>
|
|
# <emphasis role="bold">cp usr/vice/etc/afs.driver /usr/conf/master.d/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the AFS kernel module to the local <emphasis role="bold">/usr/conf/lib</emphasis> directory.</para>
|
|
|
|
<para>If the machine's kernel supports NFS server functionality:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp bin/libafs.a /usr/conf/lib</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine's kernel does not support NFS server functionality, change the file's name as you copy it:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Incorporate the AFS driver into the kernel, either using the <emphasis role="bold">SAM</emphasis> program or a
|
|
series of individual commands. <itemizedlist>
|
|
<listitem>
|
|
<para>To use the <emphasis role="bold">SAM</emphasis> program: <orderedlist>
|
|
<listitem>
|
|
<para>Invoke the <emphasis role="bold">SAM</emphasis> program, specifying the hostname of the local
|
|
machine as <replaceable>local_hostname</replaceable>. The <emphasis role="bold">SAM</emphasis> graphical
|
|
user interface pops up. <programlisting>
|
|
# <emphasis role="bold">sam -display</emphasis> <replaceable>local_hostname</replaceable><emphasis role="bold">:0</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Choose the <emphasis role="bold">Kernel Configuration</emphasis> icon, then the <emphasis
|
|
role="bold">Drivers</emphasis> icon. From the list of drivers, select <emphasis
|
|
role="bold">afs</emphasis>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Open the pull-down <emphasis role="bold">Actions</emphasis> menu and choose the <emphasis
|
|
role="bold">Add Driver to Kernel</emphasis> option.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Open the <emphasis role="bold">Actions</emphasis> menu again and choose the <emphasis
|
|
role="bold">Create a New Kernel</emphasis> option.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Confirm your choices by choosing <emphasis role="bold">Yes</emphasis> and <emphasis
|
|
role="bold">OK</emphasis> when prompted by subsequent pop-up windows. The <emphasis
|
|
role="bold">SAM</emphasis> program builds the kernel and reboots the system.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Login again as the superuser <emphasis role="bold">root</emphasis>. <programlisting>
|
|
login: <emphasis role="bold">root</emphasis>
|
|
Password: <replaceable>root_password</replaceable>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>To use individual commands: <orderedlist>
|
|
<listitem>
|
|
<para>Edit the file <emphasis role="bold">/stand/system</emphasis>, adding an entry for <emphasis
|
|
role="bold">afs</emphasis> to the <computeroutput>Subsystems</computeroutput> section.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change to the <emphasis role="bold">/stand/build</emphasis> directory and issue the <emphasis
|
|
role="bold">mk_kernel</emphasis> command to build the kernel. <programlisting>
|
|
# <emphasis role="bold">cd /stand/build</emphasis>
|
|
# <emphasis role="bold">mk_kernel</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Move the new kernel to the standard location (<emphasis role="bold">/stand/vmunix</emphasis>),
|
|
reboot the machine to start using it, and login again as the superuser <emphasis
|
|
role="bold">root</emphasis>. <programlisting>
|
|
# <emphasis role="bold">mv /stand/build/vmunix_test /stand/vmunix</emphasis>
|
|
# <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>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>AFS server partition on server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS server partition</primary>
|
|
|
|
<secondary>configuring on server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on HP-UX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>HP-UX</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>Use the <emphasis role="bold">SAM</emphasis> program to create a file system on each partition. For
|
|
instructions, consult the HP-UX documentation.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On some HP-UX systems that use logical volumes, the <emphasis role="bold">SAM</emphasis> program automatically
|
|
mounts the partitions. If it has not, 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. <indexterm>
|
|
<primary>replacing fsck program</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>fsck program</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>HP-UX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on HP-UX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>HP-UX</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create the command configuration file <emphasis role="bold">/sbin/lib/mfsconfig.d/afs</emphasis>. Use a text
|
|
editor to place the indicated two lines in it: <programlisting>
|
|
format_revision 1
|
|
fsck 0 m,P,p,d,f,b:c:y,n,Y,N,q,
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create and change directory to an AFS-specific command directory called <emphasis
|
|
role="bold">/sbin/fs/afs</emphasis>. <programlisting>
|
|
# <emphasis role="bold">mkdir /sbin/fs/afs</emphasis>
|
|
# <emphasis role="bold">cd /sbin/fs/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the AFS-modified version of the <emphasis role="bold">fsck</emphasis> program (the <emphasis
|
|
role="bold">vfsck</emphasis> binary) and related files from the distribution directory to the new AFS-specific command
|
|
directory. <programlisting>
|
|
# <emphasis role="bold">cp -p /tmp/afsdist/hp_ux110/root.server/etc/* .</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change the <emphasis role="bold">vfsck</emphasis> binary's name to <emphasis role="bold">fsck</emphasis> and set
|
|
the mode bits appropriately on all of the files in the <emphasis role="bold">/sbin/fs/afs</emphasis> directory.
|
|
<programlisting>
|
|
# <emphasis role="bold">mv vfsck fsck</emphasis>
|
|
# <emphasis role="bold">chmod 755 *</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the <emphasis role="bold">/etc/fstab</emphasis> file, changing the file system type for each AFS server
|
|
partition from <computeroutput>hfs</computeroutput> to <computeroutput>afs</computeroutput>. This ensures that the
|
|
AFS-modified <emphasis role="bold">fsck</emphasis> program runs on the appropriate partitions.</para>
|
|
|
|
<para>The sixth line in the following example of an edited file shows an AFS server partition, <emphasis
|
|
role="bold">/vicepa</emphasis>.</para>
|
|
|
|
<programlisting>
|
|
/dev/vg00/lvol1 / hfs defaults 0 1
|
|
/dev/vg00/lvol4 /opt hfs defaults 0 2
|
|
/dev/vg00/lvol5 /tmp hfs defaults 0 2
|
|
/dev/vg00/lvol6 /usr hfs defaults 0 2
|
|
/dev/vg00/lvol8 /var hfs defaults 0 2
|
|
/dev/vg00/lvol9 /vicepa afs defaults 0 2
|
|
/dev/vg00/lvol7 /usr/vice/cache hfs defaults 0 2
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If the machine is to remain an AFS client, incorporate AFS into its authentication system, following the
|
|
instructions in <link linkend="HDRWQ35">Enabling AFS Login on HP-UX Systems</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</sect3>
|
|
|
|
<sect3 id="HDRWQ104">
|
|
<title>Getting Started on IRIX Systems</title>
|
|
|
|
<para>Begin by incorporating AFS modifications into the kernel. Either use the <emphasis role="bold">ml</emphasis> dynamic
|
|
loader program, or build a static kernel. Then configure partitions to house AFS volumes. AFS supports use of both EFS and
|
|
XFS partitions for housing AFS volumes. SGI encourages use of XFS partitions. <indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>fsck program</secondary>
|
|
|
|
<tertiary>on IRIX</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>fsck program</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>IRIX</tertiary>
|
|
</indexterm></para>
|
|
|
|
<para>You do not need to replace IRIX <emphasis role="bold">fsck</emphasis> program, because the version that SGI
|
|
distributes handles AFS volumes properly. <orderedlist>
|
|
<indexterm>
|
|
<primary>incorporating AFS kernel extensions</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
|
|
<tertiary>IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS kernel extensions</primary>
|
|
|
|
<secondary>on server machine after first</secondary>
|
|
|
|
<tertiary>IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<listitem>
|
|
<para>Prepare for incorporating AFS into the kernel by performing the following procedures. <orderedlist>
|
|
<listitem>
|
|
<para>Unpack the OpenAFS IRIX 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, substitue this
|
|
in all of the following examples. Once you have unpacked
|
|
the distribution, change directory as indicated.
|
|
<programlisting>
|
|
# <emphasis role="bold">cd /tmp/afsdist/sgi_65/root.client</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 IRIX machines). Note the removal of the <emphasis
|
|
role="bold">.rc</emphasis> extension as you copy the script. <programlisting>
|
|
# <emphasis role="bold">cp -p usr/vice/etc/afs.rc /etc/init.d/afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">uname -m</emphasis> command to determine the machine's CPU board type. The
|
|
<emphasis role="bold">IP</emphasis><replaceable>xx</replaceable> value in the output must match one of the
|
|
supported CPU board types listed in the <emphasis>OpenAFS Release Notes</emphasis> for the current version of
|
|
AFS. <programlisting>
|
|
# <emphasis role="bold">uname -m</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Incorporate AFS into the kernel, either using the <emphasis role="bold">ml</emphasis> program or by building AFS
|
|
modifications into a static kernel. <itemizedlist>
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>AFS kernel extensions</secondary>
|
|
|
|
<tertiary>on server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<listitem>
|
|
<para>To use the <emphasis role="bold">ml</emphasis> program: <indexterm>
|
|
<primary>afsml variable (IRIX)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>variables</primary>
|
|
|
|
<secondary>afsml (IRIX)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>afsml variable</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>afsxnfs variable (IRIX)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm> <indexterm>
|
|
<primary>variables</primary>
|
|
|
|
<secondary>afsxnfs (IRIX)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>afsxnfs variable</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm> <orderedlist>
|
|
<listitem>
|
|
<para>Create the local <emphasis role="bold">/usr/vice/etc/sgiload</emphasis> directory to house the AFS
|
|
kernel library file. <programlisting>
|
|
# <emphasis role="bold">mkdir /usr/vice/etc/sgiload</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the appropriate AFS kernel library file to the <emphasis
|
|
role="bold">/usr/vice/etc/sgiload</emphasis> directory. The <emphasis
|
|
role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must match the
|
|
value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
|
|
appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for
|
|
the machine to act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library
|
|
file.</para>
|
|
|
|
<para>(You can choose to copy all of the kernel library files into the <emphasis
|
|
role="bold">/usr/vice/etc/sgiload</emphasis> directory, but they require a significant amount of
|
|
space.)</para>
|
|
|
|
<para>If the machine's kernel supports NFS server functionality:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.o /usr/vice/etc/sgiload</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine's kernel does not support NFS server functionality:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p usr/vice/etc/sgiload/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.o</emphasis> \
|
|
<emphasis role="bold">/usr/vice/etc/sgiload</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
|
|
role="bold">afsml</emphasis> configuration variable. <programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsml on</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server
|
|
functionality, activate the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Run the <emphasis role="bold">/etc/init.d/afs</emphasis> script to load AFS extensions into the
|
|
kernel. The script invokes the <emphasis role="bold">ml</emphasis> command, automatically determining
|
|
which kernel library file to use based on this machine's CPU type and the activation state of the
|
|
<emphasis role="bold">afsxnfs</emphasis> variable.</para>
|
|
|
|
<para>You can ignore any error messages about the inability to start the BOS Server or the Cache Manager
|
|
or AFS client.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">/etc/init.d/afs start</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to Step <link linkend="LIWQ105">3</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>AFS-modified kernel</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>If you prefer to build a kernel, and the machine's hardware and software configuration exactly matches
|
|
another IRIX machine on which AFS is already built into the kernel, you can copy the kernel from that machine to
|
|
this one. In general, however, it is better to build AFS modifications into the kernel on each machine according
|
|
to the following instructions. <orderedlist>
|
|
<listitem>
|
|
<para>Copy the kernel initialization file <emphasis role="bold">afs.sm</emphasis> to the local <emphasis
|
|
role="bold">/var/sysgen/system</emphasis> directory, and the kernel master file <emphasis
|
|
role="bold">afs</emphasis> to the local <emphasis role="bold">/var/sysgen/master.d</emphasis> directory.
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p bin/afs.sm /var/sysgen/system</emphasis>
|
|
# <emphasis role="bold">cp -p bin/afs /var/sysgen/master.d</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the appropriate AFS kernel library file to the local file <emphasis
|
|
role="bold">/var/sysgen/boot/afs.a</emphasis>; the <emphasis
|
|
role="bold">IP</emphasis><replaceable>xx</replaceable> portion of the library file name must match the
|
|
value previously returned by the <emphasis role="bold">uname -m</emphasis> command. Also choose the file
|
|
appropriate to whether the machine's kernel supports NFS server functionality (NFS must be supported for
|
|
the machine to act as an NFS/AFS Translator). Single- and multiprocessor machines use the same library
|
|
file.</para>
|
|
|
|
<para>If the machine's kernel supports NFS server functionality:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.a /var/sysgen/boot/afs.a</emphasis>
|
|
</programlisting>
|
|
|
|
<para>If the machine's kernel does not support NFS server functionality:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">cp -p bin/libafs.IP</emphasis><replaceable>xx</replaceable><emphasis role="bold">.nonfs.a /var/sysgen/boot/afs.a</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Issue the <emphasis role="bold">chkconfig</emphasis> command to deactivate the <emphasis
|
|
role="bold">afsml</emphasis> configuration variable. <programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsml off</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>If the machine is to function as an NFS/AFS Translator and the kernel supports NFS server
|
|
functionality, activate the <emphasis role="bold">afsxnfs</emphasis> variable.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsxnfs on</emphasis>
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Copy the existing kernel file, <emphasis role="bold">/unix</emphasis>, to a safe location. Compile
|
|
the new kernel, which is created in the file <emphasis role="bold">/unix.install</emphasis>. It overwrites
|
|
the existing <emphasis role="bold">/unix</emphasis> file when the machine reboots in the next step.
|
|
<programlisting>
|
|
# <emphasis role="bold">cp /unix /unix_noafs</emphasis>
|
|
# <emphasis role="bold">autoconfig</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Reboot the machine to start using the new kernel, and login again as the 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>
|
|
</orderedlist></para>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>configuring</primary>
|
|
|
|
<secondary>AFS server partition on server machine after first</secondary>
|
|
|
|
<tertiary>IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>AFS server partition</primary>
|
|
|
|
<secondary>configuring on server machine after first</secondary>
|
|
|
|
<tertiary>IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on IRIX</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>AFS server partition</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><anchor id="LIWQ105" />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 partition (or logical volume created with the XLV volume manager) to be
|
|
mounted on one of the directories created in the previous step.</para>
|
|
|
|
<para>For an XFS partition or logical volume:</para>
|
|
|
|
<programlisting>
|
|
/dev/dsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> xfs rw,raw=/dev/rdsk/<replaceable>disk</replaceable> 0 0
|
|
</programlisting>
|
|
|
|
<para>For an EFS partition:</para>
|
|
|
|
<programlisting>
|
|
/dev/dsk/<replaceable>disk</replaceable> /vicep<replaceable>xx</replaceable> efs rw,raw=/dev/rdsk/<replaceable>disk</replaceable> 0 0
|
|
</programlisting>
|
|
|
|
<para>The following are examples of an entry for each file system type:</para>
|
|
|
|
<programlisting>
|
|
/dev/dsk/dks0d2s6 /vicepa xfs rw,raw=/dev/rdsk/dks0d2s6 0 0
|
|
/dev/dsk/dks0d3s1 /vicepb efs rw,raw=/dev/rdsk/dks0d3s1 0 0
|
|
</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Create a file system on each partition that is to be mounted on a <emphasis
|
|
role="bold">/vicep</emphasis><replaceable>xx</replaceable> directory. The following commands are probably appropriate,
|
|
but consult the IRIX documentation for more information. In both cases, <replaceable>raw_device</replaceable> is a raw
|
|
device name like <emphasis role="bold">/dev/rdsk/dks0d0s0</emphasis> for a single disk partition or <emphasis
|
|
role="bold">/dev/rxlv/xlv0</emphasis> for a logical volume.</para>
|
|
|
|
<para>For XFS file systems, include the indicated options to configure the partition or logical volume with inodes
|
|
large enough to accommodate AFS-specific information:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">mkfs -t xfs -i size=512 -l size=4000b</emphasis> <replaceable>raw_device</replaceable>
|
|
</programlisting>
|
|
|
|
<para>For EFS file systems:</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">mkfs -t efs</emphasis> <replaceable>raw_device</replaceable>
|
|
</programlisting>
|
|
</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><emphasis role="bold">(Optional)</emphasis> If you have configured partitions or logical volumes to use XFS,
|
|
issue the following command to verify that the inodes are configured properly (are large enough to accommodate
|
|
AFS-specific information). If the configuration is correct, the command returns no output. Otherwise, it specifies the
|
|
command to run in order to configure each partition or logical volume properly. <programlisting>
|
|
# <emphasis role="bold">/usr/afs/bin/xfs_size_check</emphasis>
|
|
</programlisting></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="HDRWQ40">Enabling AFS Login on IRIX Systems</link>.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to <link linkend="HDRWQ108">Starting Server Programs</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
</sect3>
|
|
|
|
<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/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/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 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/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, the controller process for NTPD, 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>
|
|
<para><anchor id="LIWQ109" />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>
|
|
<para><anchor id="LIWQ110" />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>runntp process</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>starting</primary>
|
|
|
|
<secondary>runntp process</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>file server machine, additional</primary>
|
|
|
|
<secondary>runntp process</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>NTPD</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<note>
|
|
<para>Historically, AFS provided its own version of the
|
|
Network Time Protocol Daemon. Whilst this is still provided for
|
|
existing sites, we recommend that you configure and run your
|
|
own timeservice independently of AFS. The instructions below are
|
|
provided for those sites still reliant upon OpenAFS's ntp system.
|
|
</para>
|
|
</note>
|
|
|
|
<para>Start the <emphasis role="bold">runntp</emphasis> process, which configures the Network Time Protocol Daemon
|
|
(NTPD) to choose a database server machine chosen randomly from the local <emphasis
|
|
role="bold">/usr/afs/etc/CellServDB</emphasis> file as its time source. In the standard configuration, the first
|
|
database server machine installed in your cell refers to a time source outside the cell, and serves as the basis for
|
|
clock synchronization on all server machines. <programlisting>
|
|
# <emphasis role="bold">./bos create</emphasis> <<replaceable>machine name</replaceable>> <emphasis role="bold">runntp simple</emphasis> \
|
|
<emphasis role="bold">/usr/afs/bin/runntp -cell</emphasis> <<replaceable>cell name</replaceable>> <emphasis
|
|
role="bold">-noauth</emphasis>
|
|
</programlisting></para>
|
|
|
|
<note>
|
|
<para>Do not run the <emphasis role="bold">runntp</emphasis> process if NTPD or another time synchronization protocol
|
|
is already running on the machine. Some versions of some operating systems run a time synchronization program by
|
|
default, as detailed in the <emphasis>OpenAFS Release Notes</emphasis>.</para>
|
|
|
|
<para>Attempting to run multiple instances of the NTPD causes an error. Running NTPD together with another time
|
|
synchronization protocol is unnecessary and can cause instability in the clock setting.</para>
|
|
</note>
|
|
|
|
<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>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>
|
|
</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 AIX systems, add the following line to the <emphasis role="bold">/etc/vfs</emphasis> file. It enables AIX to
|
|
unmount AFS correctly during shutdown. <programlisting>
|
|
afs 4 none none
|
|
</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 AIX systems, <emphasis role="bold">/etc/rc.afs</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On HP-UX systems, <emphasis role="bold">/sbin/init.d/afs</emphasis></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>On IRIX systems, <emphasis role="bold">/etc/init.d/afs</emphasis></para>
|
|
</listitem>
|
|
|
|
<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>AIX</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 AIX 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 AFS initialization script. <programlisting>
|
|
# <emphasis role="bold">/etc/rc.afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Edit the AIX initialization file, <emphasis role="bold">/etc/inittab</emphasis>, adding the following line
|
|
to invoke the AFS initialization script. Place it just after the line that starts NFS daemons. <programlisting>
|
|
rcafs:2:wait:/etc/rc.afs > /dev/console 2>&1 # Start AFS services
|
|
</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</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 AFS CD-ROM if necessary. <programlisting>
|
|
# <emphasis role="bold">cd /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">rm rc.afs</emphasis>
|
|
# <emphasis role="bold">ln -s /etc/rc.afs</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>HP-UX</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<para><emphasis role="bold">On HP-UX systems:</emphasis> <orderedlist>
|
|
<listitem>
|
|
<para>Run the AFS initialization script. <programlisting>
|
|
# <emphasis role="bold">/sbin/init.d/afs start</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Change to the <emphasis role="bold">/sbin/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 HP-UX
|
|
startup and shutdown sequence. <programlisting>
|
|
# <emphasis role="bold">cd /sbin/init.d</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/S460afs</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /sbin/rc2.d/K800afs</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">/sbin/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 AFS CD-ROM if necessary. <programlisting>
|
|
# <emphasis role="bold">cd /usr/vice/etc</emphasis>
|
|
# <emphasis role="bold">rm afs.rc</emphasis>
|
|
# <emphasis role="bold">ln -s /sbin/init.d/afs afs.rc</emphasis>
|
|
</programlisting></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>afsclient variable (IRIX)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>variables</primary>
|
|
|
|
<secondary>afsclient (IRIX)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>afsclient variable</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>afsserver variable (IRIX)</primary>
|
|
|
|
<secondary>server machine after first</secondary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>variables</primary>
|
|
|
|
<secondary>afsserver (IRIX)</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<indexterm>
|
|
<primary>IRIX</primary>
|
|
|
|
<secondary>afsserver variable</secondary>
|
|
|
|
<tertiary>server machine after first</tertiary>
|
|
</indexterm>
|
|
|
|
<para><emphasis role="bold">On IRIX systems:</emphasis> <orderedlist>
|
|
<listitem>
|
|
<para>If you have configured the machine to use the <emphasis role="bold">ml</emphasis> dynamic loader program,
|
|
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>Issue the <emphasis role="bold">chkconfig</emphasis> command to activate the <emphasis
|
|
role="bold">afsserver</emphasis> configuration variable. <programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsserver on</emphasis>
|
|
</programlisting></para>
|
|
|
|
<para>If you have configured this machine as an AFS client and want to it remain one, also issue the <emphasis
|
|
role="bold">chkconfig</emphasis> command to activate the <emphasis role="bold">afsclient</emphasis> configuration
|
|
variable.</para>
|
|
|
|
<programlisting>
|
|
# <emphasis role="bold">/etc/chkconfig -f afsclient on</emphasis>
|
|
</programlisting>
|
|
</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 IRIX
|
|
startup and shutdown sequence. <programlisting>
|
|
# <emphasis role="bold">cd /etc/init.d</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /etc/rc2.d/S35afs</emphasis>
|
|
# <emphasis role="bold">ln -s ../init.d/afs /etc/rc0.d/K35afs</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 AFS CD-ROM 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>
|
|
|
|
<listitem>
|
|
<para>Proceed to Step <link linkend="LIWQ113">4</link>.</para>
|
|
</listitem>
|
|
</orderedlist></para>
|
|
|
|
<indexterm>
|
|
<primary>Linux</primary>
|
|
|
|
<secondary>AFS initialization script</secondary>
|
|
|
|
<tertiary>on add'l server machine</tertiary>
|
|
</indexterm>
|
|
|
|
<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>
|
|
<para><anchor id="LIWQ113" />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>
|
|
<para><anchor id="LIWQ115" />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>
|
|
<para><anchor id="LIWQ116" />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>
|
|
<para><anchor id="LIWQ117" />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>), with or
|
|
without using the <emphasis role="bold">package</emphasis> program. 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>
|
|
<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><anchor id="LIWQ119" />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>
|
|
<para><anchor id="LIWQ120" />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>
|
|
<para><anchor id="LIWQ121" />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>
|
|
<para><anchor id="LIWQ122" />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>
|
|
<para><anchor id="LIWQ123" />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>
|
|
<para><anchor id="LIWQ124" />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>
|
|
<para><anchor id="LIWQ126" />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>
|
|
<para><anchor id="LIWQ127" />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>
|
|
<para><anchor id="LIWQ128" />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>), with or
|
|
without using the <emphasis role="bold">package</emphasis> program. 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>
|
|
<para><anchor id="LIWQ129" />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>
|
|
<para><anchor id="LIWQ130" />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>
|
|
<para><anchor id="LIWQ131" /><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>
|
|
<para><anchor id="LIWQ132" />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>
|