How to make RHEL5.x x86_64 Lustre client RPMs.
Download and Compile
Working space and variables
tmpdir="/tmp/$$"
extraversion=`uname -r | cut -d"-" -f2`
mkdir $tmpdir ; cd $tmpdir
Download and configure the current Red Hat kernel source RPM
wget ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-`uname -r`.src.rpm
rpm -ivh kernel-*.src.rpm
rpmbuild -bp --target=`uname -i` /usr/src/redhat/SPECS/kernel-2.6.spec
sed -i -e "s/EXTRAVERSION = -prep/EXTRAVERSION = -$extraversion/" /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.`uname -i`/Makefile
\cp /boot/config-`uname -r` /usr/src/redhat/SOURCES/kernel-2.6.18-`uname -i`.config
\cp /boot/config-`uname -r` /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.`uname -i`/.config
cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.`uname -i`
make oldconfig
make include/asm
make include/linux/version.h
make SUBDIRS=scripts
make include/linux/utsrelease.h
Download lustre source to $tmpdir
Connect to
http://wiki.lustre.org/index.php/Download
and select the
download
link
Under
Platform
select
Source
cd $tmpdir
tar xfvz lustre-1.8.5.tar.gz
cd lustre-1.8.5
./configure --disable-server --with-linux=/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.`uname -i`
sed -i -e 's/%{!?lustre_name: %define lustre_name lustre}/%{!?lustre_name: %define lustre_name lustre-client}/' lustre.spec
make rpms
Resulting RPMs are:
/usr/src/redhat/RPMS/`uname -i`/lustre-client-1*
/usr/src/redhat/RPMS/`uname -i`/lustre-client-modules*
Test Lustre
Install Lustre RPMs (a reboot is required for lustre to work)
rpm -Uvh /usr/src/redhat/RPMS/`uname -i`/lustre-client-1* /usr/src/redhat/RPMS/`uname -i`/lustre-client-modules*
reboot
Configure lnet
echo "options lnet networks="o2ib0(ib0),tcp(eth0)" >> /etc/modprobe.conf
Make a test mountpoint
mkdir -p /test
To mount Lustre on the client, run the following command
mount -t lustre
MDS-IP
@
MDS-Interface
:/
filesystem-name
-o user_xattr,flock /
mountpoint
where...
MDS_IP
is the IP or hostname of the MDS
MDS-Interface
is the preferred interface ib0 for Infiniband, tcp0 for ethernet
filesystem-name
is the name of the lustre filesystem given when it was created
mountpoint
is the actual mountpoint on the client
Ethernet example:
mount -t lustre aoc-mds@tcp0:/lustre -o user_xattr,flock /test
Infiniband example
mount -t lustre 192.168.1.10@o2ib:/lustre -o user_xattr,flock /test
Clean Up
cd /
rm -rf $tmpdir
References
http://wiki.lustre.org/index.php/Patchless_Client
--
KScottRowe
- 26 Aug 2010 --
KScottRowe
- 2011-07-11
This topic: HPC
>
WebHome
>
LustreFilesystem
>
LustreClientInstall
Topic revision:
2011-07-14,
KScottRowe
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki?
Send feedback