1 <?xml version='1.0' encoding='utf-8'?>
2 <chapter xmlns="http://docbook.org/ns/docbook"
3 xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US"
4 xml:id="installinglustre">
5 <title xml:id="installinglustre.title">Installing the Lustre Software</title>
6 <para>This chapter describes how to install the Lustre software from RPM
7 packages. It includes:</para>
11 <xref linkend="dbdoclet.50438261_99193" />
16 <xref linkend="dbdoclet.50438261_41900" />
20 <para>For hardware and system requirements and hardware configuration
22 <xref linkend="settinguplustresystem" />.</para>
23 <section xml:id="dbdoclet.50438261_99193">
26 <primary>installing</primary>
27 <secondary>preparation</secondary>
28 </indexterm>Preparing to Install the Lustre Software</title>
29 <para>You can install the Lustre software from downloaded packages (RPMs)
30 or directly from the source code. This chapter describes how to install the
31 Lustre RPM packages. Instructions to install from source code are beyond
32 the scope of this document, and can be found elsewhere online.</para>
33 <para>The Lustre RPM packages have been tested on the Linux distributions
34 listed in the table below.</para>
36 <table frame="all" xml:id="LustreTestMatrixTable">
37 <title>Lustre Test Matrix</title>
39 <colspec colname="c1" colnum="1" colwidth="1*" />
40 <colspec colname="c2" colnum="2" colwidth="1.1*" />
41 <colspec colname="c3" colnum="3" colwidth="1.46*" />
44 <entry>Lustre Release</entry>
46 <superscript>1</superscript></entry>
47 <entry>Clients Tested</entry>
56 <para>RHEL 5, CentOS 5</para>
59 <para>RHEL 5, CentOS 5, SLES 11 SP0</para>
67 <para>RHEL 5, CentOS 5, RHEL 6, CentOS 6</para>
70 <para>RHEL 5, CentOS 5, RHEL 6, CentOS 6, SLES 11 SP1</para>
78 <para>RHEL 6, CentOS 6</para>
81 <para>RHEL 5, CentOS 5, RHEL 6, CentOS 6, SLES 11 SP1</para>
89 <para>RHEL 6.3, CentOS 6.3</para>
92 <para>RHEL 6.3, CentOS 6.3, RHEL 5.8, CentOS 5.8, SLES 11
99 <para>RHEL 6.4, CentOS 6.4</para>
102 <para>RHEL 6.4, CentOS 6.4, SLES 11 SP2, FC18</para>
110 <superscript>1</superscript>Red Hat Enterprise Edition (RHEL), CentOS
111 Enterprise Linux Distribution (CentOS), SUSE Linux Enterprise Server
113 <superscript>*</superscript>F18 Linux kernel (FC18).</para>
114 <section xml:id="section_rqs_tjw_3k">
115 <title>Software Requirements</title>
116 <para>To install the Lustre software from RPMs, the following are
121 <emphasis role="bold">
122 <emphasis role="italic">Lustre server packages</emphasis>
123 </emphasis>. The required packages for Lustre servers are listed in
124 the table below, where
125 <replaceable>ver</replaceable> refers to the Linux kernel distribution
126 (e.g., 2.6.32-358.6.2.el6) and
127 <replaceable>arch</replaceable> refers to the processor architecture
128 (e.g., x86_64). These packages are available in the
129 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
130 Lustre Releases</link>repository.</para>
132 <table frame="all" xml:id="table_cnh_5m3_gk">
133 <title>Packages Installed on Lustre Servers</title>
135 <colspec colname="c1" colnum="1" colwidth="1.18*" />
136 <colspec colname="c2" colnum="2" colwidth="1*" />
139 <entry>Package Name</entry>
140 <entry>Description</entry>
147 <replaceable>ver</replaceable>
148 <code>_lustre.</code>
149 <replaceable>arch</replaceable>
151 <entry>Linux kernel with Lustre software patches (often
152 referred to as "patched kernel")</entry>
157 <replaceable>ver</replaceable>
158 <code>_lustre.</code>
159 <replaceable>arch</replaceable>
161 <entry>Lustre software command line tools</entry>
165 <code>lustre-modules-</code>
166 <replaceable>ver</replaceable>
167 <code>_lustre.</code>
168 <replaceable>arch</replaceable>
170 <entry>Lustre-patched kernel modules</entry>
174 <code>lustre-osd-ldiskfs-</code>
175 <replaceable>ver</replaceable>
176 <code>_lustre.</code>
177 <replaceable>arch</replaceable>
179 <entry>Lustre back-end file system tools</entry>
183 <code>lustre-zfs-ldiskfs-</code>
184 <replaceable>ver</replaceable>
185 <code>_lustre.</code>
186 <replaceable>arch</replaceable>
188 <entry>Lustre back-end file system tools for ZFS. This is
190 <literal>lustre-osd-ldiskfs</literal></entry>
194 <code>e2fsprogs</code>
196 <entry>Utility to maintain Lustre back-end file
201 <code>lustre-tests-</code>
202 <replaceable>ver</replaceable>
203 <code>_lustre.</code>
204 <replaceable>arch</replaceable>
206 <entry>Lustre I/O Kit benchmarking tools
207 <emphasis role="italic">(Included in Lustre software as of
208 release 2.2)</emphasis></entry>
217 <emphasis role="bold">
218 <emphasis role="italic">Lustre client packages</emphasis>
219 </emphasis>. The required packages for Lustre clients are listed in
220 the table below, where
221 <replaceable>ver</replaceable> refers to the Linux distribution (e.g.,
222 2.6.18-348.1.1.el5). These packages are available in the
223 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
224 Lustre Releases</link>repository.</para>
226 <table frame="all" xml:id="table_j3r_ym3_gk">
227 <title>Packages Installed on Lustre Clients</title>
229 <colspec colname="c1" colnum="1" colwidth="1*" />
230 <colspec colname="c2" colnum="2" colwidth="1.02*" />
233 <entry>Package Name</entry>
234 <entry>Description</entry>
240 <code>lustre-client-modules-</code>
241 <replaceable>ver</replaceable>
243 <entry>Patchless kernel modules for client</entry>
247 <code>lustre-client-</code>
248 <replaceable>ver</replaceable>
251 <entry>Client command line tools</entry>
255 <code>lustre-client-tests-</code>
256 <replaceable>ver</replaceable>
258 <entry>Lustre I/O Kit
259 <emphasis role="italic">(Included in Lustre software as of
260 release 2.2)</emphasis></entry>
267 <para>The version of the kernel running on a Lustre client must be
268 the same as the version of the
269 <code>lustre-client-modules-</code>
270 <replaceable>ver</replaceable> package being installed. If the
271 kernel running on the client is not compatible, a kernel that is
272 compatible must be installed on the client before the Lustre file
273 system software is installed.</para>
278 <emphasis role="bold">
279 <emphasis role="italic">Lustre LNET network driver (LND)</emphasis>
280 </emphasis>. The Lustre LNDs provided with the Lustre software are
281 listed in the table below. For more information about Lustre LNET,
283 <xref xmlns:xlink="http://www.w3.org/1999/xlink"
284 linkend="understandinglustrenetworking" />.</para>
285 <table frame="all" xml:id="table_bkx_dn3_gk">
286 <title>Network Types Supported by Lustre LNDs</title>
288 <colspec colname="c1" colnum="1" colwidth="1*" />
289 <colspec colname="newCol2" colnum="2" colwidth="1.95*" />
292 <entry>Supported Network Types</entry>
299 <entry>Any network carrying TCP traffic, including GigE,
300 10GigE, and IPoIB</entry>
303 <entry>InfiniBand network</entry>
304 <entry>OpenFabrics OFED (o2ib)</entry>
308 <entry>Gemini (Cray)</entry>
311 <entry>Seastar</entry>
316 <entry>Myrinet network</entry>
321 <superscript>*</superscript>interconnect</entry>
325 <entry>Quadrics</entry>
331 </itemizedlist></para>
334 <para>The InfiniBand and TCP Lustre LNDs are routinely tested during
335 release cycles. The other LNDs are maintained by their respective
341 <emphasis role="bold">
342 <emphasis role="italic">High availability software</emphasis>
343 </emphasis>. If needed, install third party high-availability
344 software. For more information, see
345 <xref linkend="dbdoclet.50438188_92688" />.</para>
349 <emphasis role="bold">
350 <emphasis role="italic">Optional packages.</emphasis>
351 </emphasis>Optional packages provided in the
352 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
353 Lustre Releases</link>repository may include the following
354 (depending on the operating system and platform):
358 <code>kernel-debuginfo</code>,
359 <code>kernel-debuginfo-common</code>,
360 <code>lustre-debuginfo</code>,
361 <code>lustre-osd-ldiskfs-debuginfo</code>- Versions of required
362 packages with debugging symbols and other debugging options
363 enabled for use in troubleshooting.</para>
367 <code>kernel-devel</code>, - Portions of the kernel tree needed
368 to compile third party modules, such as network drivers.</para>
372 <code>kernel-firmware</code>- Standard Red Hat Enterprise Linux
373 distribution that has been recompiled to work with the Lustre
378 <code>kernel-headers</code>- Header files installed under
379 /user/include and used when compiling user-space,
380 kernel-related code.</para>
384 <code>lustre-source</code>- Lustre software source code.</para>
388 <emphasis role="italic">(Recommended)</emphasis>
390 <code>perf-debuginfo</code>,
391 <code>python-perf</code>,
392 <code>python-perf-debuginfo</code>- Linux performance analysis
393 tools that have been compiled to match the Lustre kernel
396 </itemizedlist></para>
401 <section xml:id="section_rh2_d4w_gk">
402 <title>Environmental Requirements</title>
403 <para>Before installing the Lustre software, make sure the following
404 environmental requirements are met.
408 <emphasis role="italic">(Required)</emphasis>
409 <emphasis role="italic">
410 <emphasis role="bold">Disable Security-Enhanced Linux
411 <superscript>*</superscript>(SELinux) on all Lustre servers and
413 </emphasis>The Lustre software does not support SELinux. Therefore,
414 the SELinux system extension must be disabled on all Lustre nodes.
415 Also, make sure other security extensions (such as the Novell
417 <superscript>*</superscript>security system) and network packet
418 filtering tools (such as iptables) do not interfere with the Lustre
423 <emphasis role="italic">(Required)</emphasis>
424 <emphasis role="italic">
425 <emphasis role="bold">Use the same user IDs (UID) and group IDs
426 (GID) on all clients.</emphasis>
427 </emphasis>If use of supplemental groups is required, see
428 <xref linkend="dbdoclet.50438291_32926" />for information about
429 supplementary user and group cache upcall (
430 <code>identity_upcall</code>).</para>
434 <emphasis role="italic">(Recommended)</emphasis>
435 <emphasis role="italic">
436 <emphasis role="bold">Provide remote shell access to
438 </emphasis>It is recommended that all cluster nodes have remote shell
439 client access to facilitate the use of Lustre configuration and
440 monitoring scripts. Parallel Distributed SHell (pdsh) is preferable,
441 although Secure SHell (SSH) is acceptable.</para>
445 <emphasis role="italic">(Recommended)</emphasis>
446 <emphasis role="italic">
447 <emphasis role="bold">Ensure client clocks are
448 synchronized.</emphasis>
449 </emphasis>The Lustre file system uses client clocks for timestamps.
450 If clocks are out of sync between clients, files will appear with
451 different time stamps when accessed by different clients. Drifting
452 clocks can also cause problems by, for example, making it difficult
453 to debug multi-node issues or correlate logs, which depend on
454 timestamps. We recommend that you use Network Time Protocol (NTP) to
455 keep client and server clocks in sync with each other. For more
456 information about NTP, see:
457 <link xl:href="http://www.ntp.org/">http://www.ntp.org</link>.</para>
459 </itemizedlist></para>
462 <section xml:id="dbdoclet.50438261_41900">
463 <title>Lustre Software Installation Procedure</title>
465 <para>Before installing the Lustre software, back up ALL data. The Lustre
466 software contains kernel modifications that interact with storage devices
467 and may introduce security issues and data loss if not installed,
468 configured, or administered properly.</para>
470 <para>To install the Lustre software from RPMs, complete the steps
474 <para>Verify that all Lustre installation requirements have been
478 <para>For hardware requirements, see
479 <xref linkend="settinguplustresystem" />.</para>
482 <para>For software and environmental requirements, see the section
483 <xref xmlns:xlink="http://www.w3.org/1999/xlink"
484 linkend="dbdoclet.50438261_99193" />above.</para>
490 <literal>e2fsprogs</literal> RPMs for your platform from the
491 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
492 Lustre Releases</link>repository.</para>
495 <para>Download the Lustre server RPMs for your platform from the
496 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
497 Lustre Releases</link>repository. See
498 <xref xmlns:xlink="http://www.w3.org/1999/xlink"
499 linkend="table_cnh_5m3_gk" />for a list of required packages.</para>
501 <listitem xml:id="dbdoclet.50438261_88296">
502 <para>Install the Lustre server and
503 <literal>e2fsprogs</literal> packages on all Lustre servers (MGS, MDSs,
505 <orderedlist numeration="loweralpha">
507 <para>Log onto a Lustre server as the
508 <literal>root</literal> user</para>
512 <literal>yum</literal> command to install the packages:</para>
515 # yum --nogpgcheck install pkg1.rpm pkg2.rpm ...
520 <para>Verify the packages are installed correctly:</para>
523 rpm -qa|egrep "lustre|wc"|sort
528 <para>Reboot the server.</para>
531 <para>Repeat these steps on each Lustre server.</para>
533 </orderedlist></para>
536 <para>Download the Lustre client RPMs for your platform from the
537 <link xl:href="https://wiki.hpdd.intel.com/display/PUB/Lustre+Releases">
538 Lustre Releases</link>repository. See
539 <xref xmlns:xlink="http://www.w3.org/1999/xlink"
540 linkend="table_j3r_ym3_gk" />for a list of required packages.</para>
543 <para>Install the Lustre client packages on all Lustre clients.
545 <para>The version of the kernel running on a Lustre client must be
546 the same as the version of the
547 <literal>lustre-client-modules-</literal>
548 <replaceable>ver</replaceable> package being installed. If not, a
549 compatible kernel must be installed on the client before the Lustre
550 client packages are installed.</para>
552 <orderedlist numeration="loweralpha">
554 <para>Log onto a Lustre client as the root user.</para>
558 <literal>yum</literal> command to install the packages:</para>
561 # yum --nogpgcheck install pkg1.rpm pkg2.rpm ...
566 <para>Verify the packages were installed correctly:</para>
569 # rpm -qa|egrep "lustre|kernel"|sort
574 <para>Reboot the client.</para>
577 <para>Repeat these steps on each Lustre client.</para>
582 <para>To configure LNET, go to
583 <xref linkend="configuringlnet" />. If default settings will be used for
585 <xref linkend="configuringlustre" />.</para>