[Lustre-discuss] Early alpha version of MacOS X Lustre client available

Ken Hornstein kenh at cmf.nrl.navy.mil
Mon Apr 12 11:22:37 PDT 2010


Greetings all.

I am pleased to announce that I have made available an "early alpha" version
of my port of the Lustre client to MacOS X.  By "early alpha", I mean that
it works, for me, and it might work for you.  But it might crash your
system.  Actually, it will probably almost certainly crash your system at
some point.  Don't plan on using this in any sort of production system is
really my main point (I don't expect that it will harm your servers, but,
hey ... it IS an early alpha).

You can download it here:

	ftp://ftp.cmf.nrl.navy.mil/pub/kenh/macosx-lustre-client-alpha1.tar.gz

There is a brief README in there, and some scripts to install and uninstall
the Lustre client.

For those of you going to the LUG I am giving a talk titled "Porting Lustre
to Operating Systems other than Linux" and this client will obviously be
the topic of that talk, so feel free to ask me more about it then.

However, I have answered some likely questions below.  If you ask me something
that I've already answered below, I will feel free to mock you mercilessly.

1) Is this based in userspace via FUSE or something like that?

   Nope  This is a real, honest-to-god port of the Lustre kernel
   extensions to MacOS X.  You get all of the same kernel extensions
   that you know and love from Linux, just ported to the Mac (well, I
   had to write something new to replace llite).  None of the server
   extensions are supported, however.

2) What version of Lustre is this based on?

   It is based on the HEAD as of ... Thursday (4/8/2010).  Specifically,
   commit d354281 is the last commit from master that I have merged into
   my local branch tree for this version.

3) Hey, I noticed that <feature X> doesn't seem to be supported?

   Yes, you are right.  Sadly, I was not able to get <feature X> working
   due to lack of {time, technical ability, understanding} on my part.
   But rest assured ... <feature X> is on the schedule and I plan on
   implementing it, hopefully before {the next few weeks, the next few
   months, next year, the heat death of the universe}.

4) Hey, how come performance ... isn't great?

   Yeah ... sorry about that.

   The short answer is that this client doesn't currently implement any
   caching.  At all.  Obviously that's a major deficiency and one I plan
   on correcting as soon as reasonably possible.  There's also no readahead,
   so that's part of the reason why read peformance is so lousy.  Okay,
   write performance, while better, kinda sucks as well.  I'll be working
   on that as well.

5) It seems like timestamps are messed up?

   Yeah, I haven't quite had a chance to make that work yet.  So any files
   created will this client will have a Unix timestamp of "0", which means
   that their dates will be Jan 1, 1970 UTC.  Also, the setattr call
   will currently return a "not supported" error.

6) Which version of MacOS X does this client work with?

   It currently supports Intel-based Macintoshes runing Snow Leopard
   (Darwin version 10.6).  Specifically, I developed it on systems running
   10.6.2 and 10.6.3.  There are no plans to support Leopard (10.5)
   or PowerPC systems.

7) Does this work with Lustre 1.8/1.6 servers?

   Sadly, no.  Right now it only works with 2.0 servers.  I can't take
   all the blame for that one, though ... from what we've seen here,
   that's a problem with all 2.0-based clients with earlier servers.

8) Is the source code available?

   Not yet.

   I want to release it, my boss wants me to release it ... we just
   need to figure out our long-term plans for this source code, it's
   eventual home, and the mechanics of distributing the source code.

   If you are a kernel hacker, and you REALLY want to hack on it, drop
   me a line and we'll see if we can work something out.

9) Hey, my machine crashed while testing it!  What should I do?

   Send me the kernel panic log, and I'll take a look at it.

10) Something else weird/strange happened while testing it.  What should I do?

    Drop me a line, and I'll see if I can figure out what's going on.

Enjoy!

--Ken



More information about the lustre-discuss mailing list