Whamcloud - gitweb
LUDOC-253 lnet: Update and correct routerstat info
[doc/manual.git] / InstallingLustreFromSourceCode.xml
index f4208dc..ca12194 100644 (file)
@@ -1,7 +1,7 @@
 <?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
@@ -88,8 +97,9 @@ required if a new kernel is needed for a Lustre server.</para>
           <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>
@@ -131,14 +141,15 @@ required if a new kernel is needed for a Lustre server.</para>
           </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
@@ -150,7 +161,7 @@ required if a new kernel is needed for a Lustre server.</para>
         </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>
@@ -163,7 +174,8 @@ required if a new kernel is needed for a Lustre server.</para>
           </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
@@ -171,7 +183,8 @@ $ 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
@@ -317,7 +330,7 @@ Now at patch  patches/jbd2-jcberr-2.6-rhel6.patch</screen>
       <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>
@@ -414,8 +427,12 @@ lustre-modules-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm
 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>
@@ -445,9 +462,62 @@ client-10login:
           </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>