Jorge Ventura
2014-Oct-14 16:44 UTC
Compiling lustre from tarball independent of distribution
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 _______________________________________________ Lustre-discuss mailing list Lustre-discuss-aLEFhgZF4x6X6Mz3xDxJMA@public.gmane.org http://lists.lustre.org/mailman/listinfo/lustre-discuss