An overview of Lustre I wrote up to give a presentation to a sister
group within NACS to the one I work in: CCS Lustre presentation
To totally start over from scratch - IE wipe out all data and start
over again, follow this procedure
Do this on esmfsn01 and esmfsn03 (the
OSS's, or "Object Storage Servers"). Make sure that the filesystems
lustre is going to format are not mounted.
lconf --force --cleanup /etc/lustre/config.xml
lconf --reformat /etc/lustre/config.xml
Then do the same thing again, only this time on the MDS (metadata
server). This will take quite some time:
lconf --force --cleanup /etc/lustre/config.xml
lconf --reformat /etc/lustre/config.xml
Then mount lustre on the client, esmft2:
/etc/init.d/lustre start
Then start up NFS on the lustre client/NFS server, esmft2:
/etc/init.d/nfs start
Then NFS mount lustre onto esmf04d
mount esmft2:/mnt/lustre /mnt/lustre
Verify that it's working, as root:
cd /mnt/lustre
df .
touch foo
rm foo
To reset the lustre system completely, (ideally) without loss of
data:
Reboot the lustre OSS's, esmfsn01 and esmfsn03, and the lustre
MDS, esmfsn05.
esmfsn01 and esmfsn03 should run lustre startup scripts
automatically.
esmfsn05, the MDS, will require you to:
cd /etc/rc5.d
./old.S99lustre
Then mount lustre on the client, esmft2:
/etc/init.d/lustre start
Note that this step hangs sometimes. Sometimes if you kill
the hanging mount process and try again, lustre will mount onto
the client though. Nic of ClusterFS regarded killing and trying
again to be best avoided though.
Then start up NFS on the lustre client/NFS server, esmft2:
/etc/init.d/nfs start
Then NFS mount lustre onto esmf04d
mount esmft2:/mnt/lustre /mnt/lustre
Verify that it's working, as root:
cd /mnt/lustre
df .
touch foo
rm foo
Generating /etc/lustre/config.xml
Apparently strange problems can ensue, if you take a working
lustre filesystem, rearrange the order in which the nodes are added
to the config.xml from the config.sh, and then tell the nodes to use
the new config.xml - because lmc wants to internally number the
nodes, and it numbers them in the order it sees them.
This is the Lustre script that Duncan, Nate and I developed during
the Lustre training:
Please note that it's very important that the strip_sz is a
multiple of the largest page size you are likely to encounter - a
good sized power of two is a good bet. The lustre doc claims that
their tools check for this, but they don't (Tue Sep 14 15:34:48
PDT 2004).
Here's the analogous script that ClusterFS used to create our test
config early on:
"I expect to include this
feature in a production release in 2005, but the precise date or release
has not been decided."
3Ware RAID tuning on RHEL (not
really related to Lustre that much, but we happen to be combining the
two) Note that Lustre does not use the VM system (which is probably
how it gets by the 16 terrabyte limit common in linux filesystems),
so it's likely that these tweaks don't help Lustre any.
Expanding Lustre to include a new pair of OSS's
Nic's instructions:
Here are the 'upgrade' instruction for getting esmfsn06 and esmfsn04
online when they are ready.
Install the RPMs in esmft2:/usr/local/src/current. There are kernel and
Lustre RPMs there.
Uncomment the lines in esmft2:/root/config.sh that correspond to the
host being brought up.
run 'sh config.sh' on esmft2. This will update the XML file with the new
system.
copy the new esmft2:/root/config.xml to all of the nodes
'/etc/lustre/config.xml'
go to the new OSS to be added and run 'lconf --refomat
/etc/lustre/config.xml'
---> this will take quite a while
Shutdown the Lustre Client and MDS - the MDS and client *must* be
shutdown cleanly for the next step. If need be, you can reboot the
machines and have the lustre init script not start to get to a clean state.
Update the configuration on the MDS:
esmfsn05: lconf --write_conf /etc/lustre/config.xml
Now you can start the MDS and client:
/etc/init.d/lustre start
You should now see the expanded disk space on the client.
Nic