<?xml version='1.0' encoding='UTF-8'?><chapter xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US" xml:id="installinglustrefromsourcecode">
- <title xml:id="installinglustrefromsourcecode.title">Installing a Lustre* File System from Source
+ <title xml:id="installinglustrefromsourcecode.title">Installing a Lustre File System from Source
Code</title>
- <para>This chapter describes how to create a customized Lustre* server kernel from source code.
+ <para>This chapter describes how to create a customized Lustre server kernel from source code.
Sections included are:</para>
<itemizedlist>
<listitem>
xmlns:xlink="http://www.w3.org/1999/xlink" linkend="installinglustre"/>.</para>
</note>
<section xml:id="dbdoclet.50438210_69313">
- <title>
- <indexterm><primary>installing</primary><secondary>from source</secondary></indexterm>
- Overview and Prerequisites</title>
- <para>To install Lustre from source code, the following are required:</para>
+ <title><indexterm>
+ <primary>installing</primary>
+ <secondary>from source</secondary>
+ <tertiary>prerequisites</tertiary>
+ </indexterm>Overview and Prerequisites</title>
+ <para>To install the Lustre software from source code, the following are required:</para>
<itemizedlist>
<listitem>
<para>A x86_64 machine with a fresh installation of a Linux operating system.</para>
- <note><para>This section of the Manual only describes the specific procedure against building on Red Hat* 6 Linux and derivatives. For a complete set of supported platforms please visit <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="LustreTestMatrixTable"/>.The server kernel should be one of the supported kernel versions but it is not necessary to run a vendor distribution to build the Lustre software.</para></note>
+ <note><para>This section of the Manual only describes the specific procedure against building on Red Hat
+ Enterprise Linux 6 and derivatives. For a complete set of supported platforms please
+ visit <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="LustreTestMatrixTable"
+ />.The server kernel should be one of the supported kernel versions but it is not
+ necessary to run a vendor distribution to build the Lustre software.</para></note>
</listitem>
<listitem>
<para>Access to the Lustre software git repository at <link xl:href="http://git.hpdd.intel.com/">http://git.hpdd.intel.com/</link>.</para>
<para>(Recommended) Access to a recent version of <link xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://fedoraproject.org/wiki/EPEL">EPEL</link> containing the
<literal>quilt</literal> utility used for managing a series of patches. </para>
- <note><para>The use of <literal>quilt</literal> is optional for building Lustre, and is detected at configure time if it is installed. Otherwise the <literal>patch</literal> utility is used to apply <literal>ldiskfs</literal> patches to the kernel source. Quilt is useful if you intend to modify the Lustre kernel patches.</para></note>
+ <note><para>The use of <literal>quilt</literal> is optional for building the Lustre software, and is
+ detected at configure time if it is installed. Otherwise the <literal>patch</literal>
+ utility is used to apply <literal>ldiskfs</literal> patches to the kernel source. Quilt
+ is useful if you intend to modify the Lustre kernel patches.</para></note>
</listitem>
<listitem>
<para><emphasis role="italic">(Recommended)</emphasis> At least 1 GB memory on the machine
<primary>quilt</primary>
</indexterm>Provisioning the Build Machine and Installing Dependencies</title>
<note>
- <para>This example is specific for building a modified Red Hat* Enteprise Linux* 6 kernel for the Lustre file system server. It is assumed that the operating system has been
- freshly installed on a machine with the hostname <literal>rhel6-master</literal>.</para>
+ <para>This example is specific for building a modified Red Hat Enteprise Linux 6 kernel for
+ the Lustre file system server. It is assumed that the operating system has been freshly
+ installed on a machine with the hostname <literal>rhel6-master</literal>.</para>
</note>
<para>To provision the build machine and install dependencies, complete these steps.</para>
<orderedlist>
</para>
<note>
<para>
- <package>newt-devel</package> may not be available for RHEL6. One option is to
- download the <link xmlns:xlink="http://www.w3.org/1999/xlink"
+ <package>newt-devel</package> may not be available for Red Hat Enterprise Linux 6. One
+ option is to download the <link xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://mirror.centos.org/centos/6/os/x86_64/Packages/newt-devel-0.52.11-3.el6.x86_64.rpm"
>newt-devel</link>, <link xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://mirror.centos.org/centos/6/os/x86_64/Packages/slang-devel-2.2.1-1.el6.x86_64.rpm"
>slang-devel</link>, and <link xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://mirror.centos.org/centos/6/os/i386/Packages/asciidoc-8.4.5-4.1.el6.noarch.rpm"
- >asciidoc</link> RPMs from CentOS and install using:</para>
+ >asciidoc</link> RPMs from the CentOS Enterprise Linux Distribution and install
+ using:</para>
<para>
<screen>yum --nogpgcheck localinstall
./newt-devel-0.52.11-3.el6.x86_64.rpm
</listitem>
</orderedlist>
</section>
- <section remap="h3">
+ <section remap="h3" xml:id="PreparingLustreSource">
<title>Preparing the Lustre Source</title>
<para>To prepare the Lustre source, complete these steps.</para>
<orderedlist>
</para>
</listitem>
<listitem>
- <para>Switch to the user called <systemitem>build</systemitem> and change the directory to the users home directory:</para>
+ <para>Switch to the user called <systemitem>build</systemitem> and change the directory to
+ the users home directory:</para>
<para>
<screen># su build
$ cd $HOME
</para>
</listitem>
<listitem>
- <para>Get the MASTER branch of the Lustre software from the Lustre software git repository:</para>
+ <para>Get the MASTER branch of the Lustre software from the Lustre software git
+ repository:</para>
<para>
<screen># git clone git://git.hpdd.intel.com/fs/lustre-release.git
# cd lustre-release
<indexterm>
<primary>installing</primary>
<secondary>from source</secondary>
- <tertiary>packaging</tertiary>
+ <tertiary>installing Lustre RPMs</tertiary>
</indexterm> Building the Lustre RPMs</title>
<para>This section describes how to configure the patched kernel to work with the Lustre
software and how to create and install the Lustre packages (RPMs).</para>
lustre-source-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm
lustre-tests-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm</screen></para>
</section>
- <section>
- <title>Installing the Lustre Kernel</title>
+ <section xml:id="InstallingLustreKernel">
+ <title><indexterm>
+ <primary>installing</primary>
+ <secondary>from source</secondary>
+ <tertiary>installing the Lustre kernel</tertiary>
+ </indexterm>Installing the Lustre Kernel</title>
<para>To install the Lustre kernel, complete these steps.<orderedlist>
<listitem>
<para>As <systemitem>root</systemitem>, install the kernel:</para>
</listitem>
</orderedlist></para>
</section>
+ <section>
+ <title><indexterm>
+ <primary>installing</primary>
+ <secondary>from source</secondary>
+ <tertiary>building Lustre with OFED</tertiary>
+ </indexterm>Building a Lustre File System with a Third-party Network Stack on OFED
+ (Optional)</title>
+ <para>When using third-party network hardware, you must follow a specific process to install
+ and recompile the Lustre software. This section provides an installation example that shows
+ how to build Lustre software release 2.4.x when using the OpenFabrics Enterprise
+ Distribution (OFED*) version 3.5-1 open-source software. The same process can be used for
+ other third-party network stacks by replacing the OFED installation procedure and using the
+ appropriate <literal>--with</literal> option when configuring the Lustre source code.<orderedlist>
+ <listitem>
+ <para>Install the Lustre kernel (see <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+ linkend="InstallingLustreKernel"/>).</para>
+ </listitem>
+ <listitem>
+ <para>Compile and install the OFED stack. As root, enter:</para>
+ <screen># cd /usr/src
+# tar –zxvf OFED-3.5-1.tgz
+# cd OFED-3.5-1
+# ./install.pl</screen>
+ <para>A directory <literal>/usr/src/compat-rdma</literal> is created.</para>
+ </listitem>
+ <listitem>
+ <para>Configure and build Lustre source code:</para>
+ <orderedlist numeration="loweralpha">
+ <listitem>
+ <para>Install the Lustre source. This can be done via RPM or git (see <xref
+ xmlns:xlink="http://www.w3.org/1999/xlink" linkend="PreparingLustreSource"
+ />).</para>
+ </listitem>
+ <listitem>
+ <para>Configure and build the Lustre source code</para>
+ <screen>$ cd ~/lustre-release
+$ sh ./autogen.sh</screen>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </orderedlist></para>
+ <para>The <literal>./configure --help</literal> command shows a list of all the
+ <literal>--with</literal> options. All third-party network stacks are built in this
+ manner.<screen>$ ./configure --with-linux=/usr/src/kernels/$(uname –r) --with-o2ib=/usr/src/compat-rdma
+$ make
+$ make rpms</screen></para>
+ <para>The <literal>make rpms</literal> command output shows the location of the generated
+ RPMs.</para>
+ </section>
</section>
<section xml:id="section_g4d_yby_lk">
- <title>Installing and Testing a Lustre File System</title>
+ <title><indexterm>
+ <primary>installing</primary>
+ <secondary>from source</secondary>
+ <tertiary>testing a Lustre file system</tertiary>
+ </indexterm>Installing and Testing a Lustre File System</title>
<para>This section describes how to install the Lustre RPMs and run the Lustre test
suite.</para>
<section>