From a2060869a7515e40d358fe366f5b32cf7cb794aa Mon Sep 17 00:00:00 2001 From: Richard Henwood Date: Wed, 16 Dec 2015 10:32:31 -0600 Subject: [PATCH] LUDOC-224 build: remove redundant build instructions. Building Lustre is much better dealt with by external resources. Remove the redundant, out-of-date build instructions from the operations manual. Change-Id: I00171bc73874570d08c72a4378694fa6c8945d84 Signed-off-by: Richard Henwood Reviewed-on: http://review.whamcloud.com/9259 Tested-by: Jenkins --- InstallingLustre.xml | 5 +- InstallingLustreFromSourceCode.xml | 625 ------------------------------------- SettingUpLustreSystem.xml | 16 +- VI_Reference.xml | 6 - 4 files changed, 12 insertions(+), 640 deletions(-) delete mode 100644 InstallingLustreFromSourceCode.xml diff --git a/InstallingLustre.xml b/InstallingLustre.xml index d2a0955..87fb1c6 100644 --- a/InstallingLustre.xml +++ b/InstallingLustre.xml @@ -28,9 +28,8 @@ xml:id="installinglustre"> Preparing to Install the Lustre Software You can install the Lustre software from downloaded packages (RPMs) or directly from the source code. This chapter describes how to install the - Lustre RPM packages. For information about installing from source code, see - - . + Lustre RPM packages. Instructions to install from source code are beyond + the scope of this document, and can be found elsewhere online. The Lustre RPM packages have been tested on the Linux distributions listed in the table below. diff --git a/InstallingLustreFromSourceCode.xml b/InstallingLustreFromSourceCode.xml deleted file mode 100644 index ca12194..0000000 --- a/InstallingLustreFromSourceCode.xml +++ /dev/null @@ -1,625 +0,0 @@ - - Installing a Lustre File System from Source - Code - This chapter describes how to create a customized Lustre server kernel from source code. - Sections included are: - - - - - - - - - - - - - - - - It is recommended that you install from prebuild RPMs of the Lustre software unless you - need to customize the Lustre server kernel or will be using an Linux kernel that has not been - tested with the Lustre software. Instructions on installing pre-built RPMs are in - For a list of supported Linux distributions and architectures, see . Prebuild RPMs - are available in the Lustre Releases - repository. For information about installing Lustre RPMs, see . - -
- <indexterm> - <primary>installing</primary> - <secondary>from source</secondary> - <tertiary>prerequisites</tertiary> - </indexterm>Overview and Prerequisites - To install the Lustre software from source code, the following are required: - - - A x86_64 machine with a fresh installation of a Linux operating system. - 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 .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. - - - Access to the Lustre software git repository at http://git.hpdd.intel.com/. - - - (Recommended) Access to a recent version of EPEL containing the - quilt utility used for managing a series of patches. - The use of quilt is optional for building the Lustre software, and is - detected at configure time if it is installed. Otherwise the patch - utility is used to apply ldiskfs patches to the kernel source. Quilt - is useful if you intend to modify the Lustre kernel patches. - - - (Recommended) At least 1 GB memory on the machine - used for the build. - - - (Recommended) At least 20 GB hard disk space on the - machine used for the build. - - - Security-Enhanced Linux (SELinux) disabled on all - Lustre servers and clients. The Lustre software does not support SELinux. - - - The installation procedure includes several steps: - - - Patching the core kernel. - - - Building Lustre RPMs. - - - Installing and testing the Lustre file system. - - - These steps are described in the following sections. -
-
- <indexterm><primary>installing</primary><secondary>from source</secondary><tertiary>patching the kernel</tertiary></indexterm>Patching the Kernel - This section first describes how to prepare your machine to serve as a development - environment, including build tools, the Lustre source, and the Linux kernel source. It then - describes how to apply Lustre patches to the Linux kernel. - - A patched Linux kernel is NOT required in order to build the -Lustre client code. The steps below for building the Linux kernel are only -required if a new kernel is needed for a Lustre server. - -
- <indexterm> - <primary>quilt</primary> - </indexterm>Provisioning the Build Machine and Installing Dependencies - - 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 rhel6-master. - - To provision the build machine and install dependencies, complete these steps. - - - Log in as root. - - - Install the kernel development tools: - - # yum -y groupinstall "Development Tools" - - - If the Development Tools group is not available, you will need to satisfy the dependencies for the build manually. - - - - Install additional dependencies: - - # yum -y install xmlto asciidoc elfutils-libelf-devel - zlib-devel binutils-devel newt-devel python-devel hmaccalc - perl-ExtUtils-Embed - - - - (Optional) Install EPEL: - - # wget - http://download.fedoraproject.org/pub/epel/6/x86_64/ - epel-release-6-8.noarch.rpm -# rpm -ivh ./epel-release-5-4.noarch.rpm - - - - - (Optional) Install quilt: - - # yum -y install quilt - - - - - newt-devel may not be available for Red Hat Enterprise Linux 6. One - option is to download the newt-devel, slang-devel, and asciidoc RPMs from the CentOS Enterprise Linux Distribution and install - using: - - yum --nogpgcheck localinstall - ./newt-devel-0.52.11-3.el6.x86_64.rpm - ./slang-devel-2.2.1-1.el6.x86_64.rpm - ./asciidoc-8.4.5-4.1.el6.noarch.rpm - - - - - -
-
- Preparing the Lustre Source - To prepare the Lustre source, complete these steps. - - - Create a user called build with a home directory - /home/build: - - # useradd -m build - - - - - Switch to the user called build and change the directory to - the users home directory: - - # su build -$ cd $HOME - - - - - Get the MASTER branch of the Lustre software from the Lustre software git - repository: - - # git clone git://git.hpdd.intel.com/fs/lustre-release.git -# cd lustre-release - - - - - Run: - - sh ./autogen.sh - - - - - Resolve any outstanding dependencies. - # sh ./autogen.shWhen autogen.sh completes - successfully, a response similar to the following is displayed: - - Checking for a complete tree... -checking forautomake-1.9>= 1.9... found 1.9.6 -... -... -configure.ac:10: installing `./config.sub' -configure.ac:12: installing `./install-sh' -configure.ac:12: installing `./missing' -Running autoconf - - - -
-
- Preparing the Kernel Source - To build the kernel using rpmbuild (a tool specific to RPM-based - distributions), complete these steps. - - - Get the kernel source: - - # cd $HOME -# mkdir -p kernel/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} -# cd kernel -# echo '%_topdir %(echo $HOME)/kernel/rpmbuild'> ~/.rpmmacros - - - - - Install the kernel source (enter on one line): - - # rpm -ivh http://ftp.redhat.com/pub/redhat/linux/enterprise/ - 6Server/en/os/SRPMS/kernel-2.6.32-358.14.1.el6.src.rpm - 2>&1 | grep -v mockb - - - It is intended that the Lustre software master branch be kept up-to-date with the - most recent kernel distributions. However, a delay may occur between a periodic update - to a kernel distribution and a corresponding update of the master branch. The most - recent supported kernel in the master branch can be found in the source directory in - lustre/kernel_patches/which_patch. If the master branch is - not current with the latest distribution, download the most recent kernel RPMs from - the vendor's download site. - - - - Prepare the source using rpmbuild: - - # cd ~/kernel/rpmbuild -# rpmbuild -bp --target=`uname -m` ./SPECS/kernel.spec - - - The text displayed ends with the following: - - ... -gpg: Total number processed: 1 -gpg: imported: 1 -+ gpg --homedir . --export --keyring ./kernel.pub Red -gpg: WARNING: unsafe permissions on homedir `.' -+ gcc -o scripts/bin2c scripts/bin2c.c -+ scripts/bin2c ksign_def_public_key __initdata -+ cd .. -+ exit 0 - - - - The kernel source with the Red Hat Enterprise Linux patches applied is now residing in - the directory - /home/build/kernel/rpmbuild/BUILD/kernel-2.6.32-358.14.1.el6.x86_64/ -
-
- Patching the Kernel Source with the Lustre Code - To patch the kernel source with the Lustre code, complete these steps. - - - Go to the directory containing the kernel source: - - #cd ~/kernel/rpmbuild/BUILD/kernel-2.6.32-358.14.1.el6/ - linux-2.6.32-358.14.1.el6.x86_64/ - - - - Edit the Makefile file in this directory to add a unique build - id to be able to ascertain that the kernel is booted. Modify line 4 as shown - below: - - EXTRAVERSION = -358.14.1.el6_lustre.x86_64 - - - - Overwrite the .config file in this directory with the Lustre - .config file: - - # cp ~/lustre-release/lustre/kernel_patches/kernel_configs/ - kernel-2.6.32-2.6-rhel6-x86_64.config ./.config - - - - Link the Lustre series and patches: - - # ln -s ~/lustre-release/lustre/kernel_patches/series/ - 2.6-rhel6.series series -# ln -s ~/lustre-release/lustre/kernel_patches/patches patches - - - - Apply the patches to the kernel source using quilt: - - # quilt push -av - - The following is displayed: - ... -... -patching file fs/jbd2/transaction.c -Hunk #3succeeded at 1222(offset 3lines). -Hunk #4succeeded at 1357(offset 3lines). -Now at patch patches/jbd2-jcberr-2.6-rhel6.patch - If quilt is not installed, the following steps would be equivalent: -for PATCH in $(cat series); do patch -p1 < patches/$PATCH; done - - -
-
-
- - <indexterm> - <primary>installing</primary> - <secondary>from source</secondary> - <tertiary>installing Lustre RPMs</tertiary> - </indexterm> Building the Lustre RPMs - 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). -
- Building a New Kernel - To build a new kernel as an RPM, complete these steps. - - - In the kernel source directory, build a kernel rpm: - # cd ~/kernel/rpmbuild/BUILD/kernel-2.6.32-131.2.1.el6/ - linux-2.6.32-131.2.1.el6.x86_64/ -# make oldconfig || make menuconfig -# make include/asm -# make include/linux/version.h -# make SUBDIRS=scripts -# make include/linux/utsrelease.h -# make rpm - A successful build returns text similar to the following: - ... -... -Wrote: /home/build/kernel/rpmbuild/SRPMS/ - kernel-2.6.32-358.14.1.el6_lustre.x86_64-1.src.rpm -Wrote: /home/build/kernel/rpmbuild/RPMS/x86_64/ - kernel-2.6.32-358.14.1.el6_lustre.x86_64-1.x86_64.rpm -Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.f73m1V -+ umask 022+ cd /home/build/kernel/rpmbuild/BUILD -+ cd kernel-2.6.32-358.14.1.el6_lustre.x86_64 -+ rm -rf /home/build/kernel/rpmbuild/BUILDROOT/ - kernel-2.6.32-358.14.1.el6_lustre.x86_64-1.x86_64 -+ exit 0 -rm ../kernel-2.6.3-358.14.1.el6_lustre.x86_64.tar.gz - - If a request to generate more entropy appears, some disk or keyboard I/O needs to - be generated. You can generate entropy by entering the following on another - terminal:# grep -Ri 'any_text' /usr - - - - A fresh kernel RPM can now be found at - ~/kernel/rpmbuild/RPMS/x86_64/kernel-2.6.32-358.14.1.el6_lustre.x86_64-1.x86_64.rpm. -
-
- Configuring and Building Lustre RPMs - To configure and build a set of Lustre RPMs, complete these steps. - - Configure the Lustre source: - - # cd ~/lustre-release/ -# ./configure --with-linux=/home/build/kernel/rpmbuild/BUILD/ - kernel-2.6.32-358.14.1.el6_lustre.x86_64/ - - Text similar to the following is displayed: - - ... -... -LLCPPFLAGS: -D__arch_lib__ -D_LARGEFILE64_SOURCE=1 -CFLAGS: -g -O2 -Werror -EXTRA_KCFLAGS: -include /home/build/lustre-release/config.h -g - -I/home/build/lustre-release -/libcfs/include -I/home/build/lustre-release/lnet/include - -I/home/build/lustre-release/ -lustre/include -LLCFLAGS: -g -Wall -fPIC -D_GNU_SOURCE -Type 'make' to build Lustre. - - - - Create the RPMs: - - # make rpms - - Text similar to the following is displayed: - - ... -... -Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.TsLWpD -+ umask 022 -+ cd /home/build/kernel/rpmbuild/BUILD -+ cd lustre-2.0.61 -+ rm -rf /home/build/kernel/rpmbuild/BUILDROOT/ - lustre-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64 -+ exit 0 -make[1]: Leaving directory `/home/build/lustre-release' - - - - The resulting RPMs are in - ~build/kernel/rpmbuild/RPMS/x86_64/.kernel-2.6.3-358.14.1.el6_lustre.x86_64-1.x86_64.rpm -lustre-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm -lustre-debuginfo-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm -lustre-ldiskfs-3.3.0-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm -lustre-ldiskfs-debuginfo-3.3.0-2.6.32-358.14.1.el6_lustre.x86_64_g0533e7b.x86_64.rpm -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 -
-
- <indexterm> - <primary>installing</primary> - <secondary>from source</secondary> - <tertiary>installing the Lustre kernel</tertiary> - </indexterm>Installing the Lustre Kernel - To install the Lustre kernel, complete these steps. - - As root, install the kernel: - - # rpm -ivh ~build/kernel/rpmbuild/RPMS/x86_64/ - kernel-2.6.32-358.14.1.el6_lustre.x86_64-1.x86_64.rpm - - - - Create initrd using dracut: - - # /sbin/new-kernel-pkg --package kernel --mkinitrd --dracut - --depmod --install 2.6.32-358.14.1.el6_lustre.x86_64 - - - - Reboot the system: - - reboot - - A login prompt such as that shown below indicates - success:Red Hat Enterprise Linux Server release 6.0(Santiago) -Kernel 2.6.3-358.14.1.el6_lustre.x86_64 on an x86_64 - -client-10login: - - - -
-
- <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) - 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 --with option when configuring the Lustre source code. - - Install the Lustre kernel (see ). - - - Compile and install the OFED stack. As root, enter: - # cd /usr/src -# tar –zxvf OFED-3.5-1.tgz -# cd OFED-3.5-1 -# ./install.pl - A directory /usr/src/compat-rdma is created. - - - Configure and build Lustre source code: - - - Install the Lustre source. This can be done via RPM or git (see ). - - - Configure and build the Lustre source code - $ cd ~/lustre-release -$ sh ./autogen.sh - - - - - The ./configure --help command shows a list of all the - --with options. All third-party network stacks are built in this - manner.$ ./configure --with-linux=/usr/src/kernels/$(uname –r) --with-o2ib=/usr/src/compat-rdma -$ make -$ make rpms - The make rpms command output shows the location of the generated - RPMs. -
-
-
- <indexterm> - <primary>installing</primary> - <secondary>from source</secondary> - <tertiary>testing a Lustre file system</tertiary> - </indexterm>Installing and Testing a Lustre File System - This section describes how to install the Lustre RPMs and run the Lustre test - suite. -
- Installing <package>e2fsprogs</package> - The e2fsprogs package is required on all Lustre file system server nodes. To download - and install e2fsprogs, complete these steps. - - Download e2fsprogs from the Lustre - Releases repository. - - - Install the e2fsprogs package: - - # rpm -Uvh - ./e2fsprogs-1.42.7.wc2-7.el6.x86_64.rpm - ./e2fsprogs-libs-1.42.7.wc2-7.el6.x86_64.rpm - - - - - -
-
- Installing the Lustre RPMs - To install the Lustre RPMs, complete these steps as root: - - Make the directory containing the Lustre RPMs your current directory: - - # cd /home/build/kernel/rpmbuild/RPMS/x86_64/ - - - - - Install the RPMs: - - # rpm -ivh lustre-ldiskfs-3.3.0-2.6.32-358.14.1.el6_lustre.x86_64* -# rpm -ivh lustre-modules-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64* -# rpm -ivh lustre-2.0.61-2.6.32-358.14.1.el6_lustre.x86_64_* -# rpm -ivh lustre-tests-* - - - -
-
- Running the Test Suite - To test a single node Lustre file system installation, complete these steps. - - Mount the Lustre file system. - - # /usr/lib64/lustre/tests/llmount.sh - - Text similar to the following will be - displayed:Loading modules from /usr/lib64/lustre/tests/.. -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -gss/krb5 is not supported -Formatting mgs, mds, osts -Format mds1: /tmp/lustre-mdt1 -Format ost1: /tmp/lustre-ost1 -Format ost2: /tmp/lustre-ost2 -Checking servers environments -Checking clients rhel6-master environments -Loading modules from /usr/lib64/lustre/tests/.. -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -gss/krb5 is not supported -Setup mgs, mdt, osts -Starting mds1: -o loop,user_xattr,acl -/tmp/lustre-mdt1 /mnt/mds1 -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -debug_mb=10 -Started lustre-MDT0000 -Starting ost1: -o loop /tmp/lustre-ost1 /mnt/ost1 -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -debug_mb=10 -Started lustre-OST0000 -Starting ost2: -o loop /tmp/lustre-ost2 /mnt/ost2 -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -debug_mb=10 -Started lustre-OST0001 -Starting client: rhel5-build: -o user_xattr,acl,flock -rhel6-master@tcp:/lustre /mnt/lustre -debug=0x33f0404 -subsystem_debug=0xffb7e3ff -debug_mb=10 -Using TIMEOUT=20 -disable quota as required - The Lustre file system is now available at - /mnt/lustre. - The Lustre file system available at /mnt/lustre is a test file system built from small loopback devices in /tmp and not for production use. - - If you see the error below, associate the IP address of a non-loopback interface - with the name of your machine in the file - /etc/hosts.mkfs.lustre: Can't parse NID 'rhel6-master@tcp' - - - -
-
-
diff --git a/SettingUpLustreSystem.xml b/SettingUpLustreSystem.xml index 9e64b6c..6053a21 100644 --- a/SettingUpLustreSystem.xml +++ b/SettingUpLustreSystem.xml @@ -360,12 +360,16 @@ large_xattr ea_inode File and File System Limits - describes file and file system size limits. - These limits are imposed by either the Lustre architecture or the Linux virtual file system - (VFS) and virtual memory subsystems. In a few cases, a limit is defined within the code and - can be changed by re-compiling the Lustre software (see ). In these cases, the indicated limit was used - for testing of the Lustre software. + + describes + file and file system size limits. These limits are imposed by either + the Lustre architecture or the Linux virtual file system (VFS) and + virtual memory subsystems. In a few cases, a limit is defined within + the code and can be changed by re-compiling the Lustre software. + Instructions to install from source code are beyond the scope of this + document, and can be found elsewhere online. In these cases, the + indicated limit was used for testing of the Lustre software. + File and file system limits diff --git a/VI_Reference.xml b/VI_Reference.xml index 92d68d9..8302a28 100644 --- a/VI_Reference.xml +++ b/VI_Reference.xml @@ -9,11 +9,6 @@ - - - - - @@ -50,7 +45,6 @@ - -- 1.8.3.1