[Lustre-discuss] Compiling lustre from tarball independent of distribution

Jorge Ventura jorge.araujo.ventura at gmail.com
Tue Oct 14 09:44:13 PDT 2014


This is to document the procedure that I used to compile Lustre independent
of RedHat or Suse distribution. I succeed to compile but the test with a
real servers is still a work in progress.

We have to accept some restriction to succeed and they are:

1. We have to use ZFS. The lustrefs based on ext4 needs to be patched and
this is exactly what force the dependence to RedHat or Suse. Someone told
me that it's possible to use ext4 without apply any patch but doing that
there is significant performance penalty.

2. The highest Kernel version is 3.14.xx at the time that I wrote this
message. This is not a restriction, is just a limit because some functions
signature changed above that. The other good point is that this version is
long term.

3. I expect you are in a x86_64 machine.

Note: I did all of this in a Debian/Wheezy 7.6

Building lustre
---------------

1. Download and install the kernel tree somewhere in your hard drive.
1.1 In the kernel tree:
$ make defconfig

1.2 Include additional options in the kernel:
1.2.1 In 'Cryptographic APU', include 'Zlib compression algorithm'
1.2.2 In 'Device Drivers', include 'InfiniBand support' and every option
below that.

1.3 Compile the kernel.

2. Prepare the ZFS
2.1 Download and compile spl-0.6.3
$ tar -xvzf spl-0.6.3.tar.gz
$ cd spl-0.6.3
$ ./configure --with-linux=/home/ventura/tmp/Lustre/linux-3.14.21
--with-linux-obj=/home/ventura/tmp/Lustre/linux-3.14.21 --prefix=/tmp/spl
$ make all

2.2 Download and compile zfs-0.6.3
$ tar -xvzf zfs-0.6.3.tar.gz
$ cd zfs-0.6.3.tar.gz
$ ./configure --with-linux=/home/ventura/tmp/Lustre/linux-3.14.21
--with-linux-obj=/home/ventura/tmp/Lustre/linux-3.14.21
--with-spl=/home/ventura/tmp/Lustre/spl-0.6.3
--with-spl-obj=/home/ventura/tmp/Lustre/spl-0.6.3 --prefix=/tmp/zfs
--with-spec=generic
$ make all

3. Compile lustre

3.1 Clone lustre using git. I just use the master branch.
$ git clone git://git.whamcloud.com/fs/lustre-release.git
$ cd lustre-release
$ sh autogen.sh
$ ./configure --with-linux=/home/ventura/tmp/Lustre/linux-3.14.21
--with-linux-obj=/home/ventura/tmp/Lustre/linux-3.14.21
--with-spl=/home/ventura/tmp/Lustre/spl-0.6.3
--with-spl-obj=/home/ventura/tmp/Lustre/spl-0.6.3
--with-zfs=/home/ventura/tmp/Lustre/zfs-0.6.3
--with-zfs-obj=/home/ventura/tmp/Lustre/zfs-0.6.3 --disable-ldiskfs
--prefix=/tmp/lustre
$ make all

And that is it.

I am not explaining how to install, this is another point that I am still
studying how to do. I am building a root file system image and at this time
the installer doesn't support that.

Any comment to improve this document is very welcome.

Ventura
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-discuss-lustre.org/attachments/20141014/081e4897/attachment.htm>


More information about the lustre-discuss mailing list