<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">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.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">We have to accept some restriction to succeed and they are:<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">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. <br><br></div><div class="gmail_default" style="font-family:courier new,monospace">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.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">3. I expect you are in a x86_64 machine.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Note: I did all of this in a Debian/Wheezy 7.6<br></div><div class="gmail_default" style="font-family:courier new,monospace"><br></div><div class="gmail_default" style="font-family:courier new,monospace">Building lustre<br>---------------<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">1. Download and install the kernel tree somewhere in your hard drive.<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px">1.1 In the kernel tree:<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">$ make defconfig<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px"><br>1.2 Include additional options in the kernel:<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">1.2.1 In 'Cryptographic APU', include 'Zlib compression algorithm'<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">1.2.2 In 'Device Drivers', include 'InfiniBand support' and every option below that.<br></div><div class="gmail_default" style="font-family:courier new,monospace"><div style="margin-left:40px"><br>1.3 Compile the kernel.<br></div><br></div><div class="gmail_default" style="font-family:courier new,monospace">2. Prepare the ZFS<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px">2.1 Download and compile spl-0.6.3<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">$ tar -xvzf spl-0.6.3.tar.gz<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">$ cd spl-0.6.3<br>$ ./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<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:80px">$ make all<br><br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px">2.2 Download and compile zfs-0.6.3<br></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px"><div style="margin-left:40px">$ tar -xvzf zfs-0.6.3.tar.gz<br></div></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px"><div style="margin-left:40px">$ cd zfs-0.6.3.tar.gz<br>$ ./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<br></div></div><div class="gmail_default" style="font-family:courier new,monospace;margin-left:40px"><div style="margin-left:40px">$ make all<br><br></div></div><div class="gmail_default" style="font-family:courier new,monospace">3. Compile lustre<br><br><div style="margin-left:40px">3.1 Clone lustre using git. I just use the master branch.<br></div><div style="margin-left:40px"><div style="margin-left:40px">$ git clone git://<a href="http://git.whamcloud.com/fs/lustre-release.git">git.whamcloud.com/fs/lustre-release.git</a><br></div></div><div style="margin-left:40px"><div style="margin-left:40px">$ cd lustre-release<br></div></div><div style="margin-left:40px"><div style="margin-left:40px">$ sh autogen.sh<br></div></div><div style="margin-left:40px"><div style="margin-left:40px">$ ./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<br></div></div><div style="margin-left:40px"><div style="margin-left:40px">$ make all<br></div></div><br></div><div class="gmail_default" style="font-family:courier new,monospace">And that is it.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">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.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Any comment to improve this document is very welcome.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Ventura<br></div><div class="gmail_default" style="font-family:courier new,monospace"><br> <br></div></div>