Re: [lustre-discuss] Lustre client/server versions/compatibility

2019-10-16 Thread Andreas Dilger
On Oct 17, 2019, at 00:34, William D. Colburn 
mailto:wcolb...@nrao.edu>> wrote:

We are moving closer to migrating our lustre 2.5.5 servers to lustre
2.12.2.  But we still have a collection of clients.  We have a vague bit
of folklore, handed down word of mouth from the village elder, that if
we upgrade the server to 2.12.2 that the clients all have to be upgraded
to 2.7.something.  I've tried google, but all the searches I've tried
for compatibility all lead to information on what versions of lustre
run on what versions of linux, and not what versions of clients interact
with what versions of the server.

Is there a compatibility matrix for clients versus servers?

In theory, there is a very long window of compatibility between Lustre versions
between the client and server (much less leeway is allowed between servers).

Since each client is independent (they never communicate with each other, only
with the servers) this also provides a good deal of flexibility, unlike e.g. 
shared
storage filesystem like GPFS or GlusterFS or peer-peer filesystems.

The main reason there is not a large compatibility matrix is that this takes a 
lot
of effort to test various versions.  For releases we always test release N 
against
N-1 and the most recent LTS release (e.g. 2.12.3 is being tested against 2.11.0
and 2.10.8, and 2.13 is tested against 2.12) for both client and server 
versions.
This is already 4 sets of interop tests (new client/old server, old client/new 
server
for both), plus disk format upgrade tests, plus several different distros 
(RHEL7/8,
Ubuntu) and CPU architectures (x86, PPC64, Arm)...

So, for software we release for free we can't do exhaustive testing of all the 
older
release versions as well.  While client and server interop _should_ work between
all versions, there are occasional bugs, so we only report compatibility with 
versions
that we actually tested.  As shown with your list of client versions below 
(2.12.2 clients
with 2.5.5 servers), there is a pretty wide range of compatibility.  Each 
client and
server negotiate protocol compatibility at connection time, so if new features 
are
added they are only active if both systems support them. We are only just 
removing
some Lustre 1.8 and 2.1 and kernel 2.6.32 compatibility code from the 2.13 
release,
which were first released about 8 years ago.

If you wanted, you could create a wiki.lustre.org page 
that included the various
versions that are actually tested, and allow users to fill in the blanks?  I've 
heard
several reports on the list of sites using 2.10.x or 2.12.x clients with 2.5.x 
servers,
but not so much the other way around.

Alternatively, does someone just know what version of the clients we
need to have everywhere for a 2.12.2 server?

Our clients include:
 2.4.3
 2.5.5
 2.10.1
 2.10.2
 2.10.4
 2.10.5
 2.10.6
 2.10.7
 2.10.8
 2.12.2

My recommendation would be to upgrade the 2.4 and 2.5 clients to 2.10.8 and then
you could run 2.12.2 servers.  If you really need to run older clients because 
of old
applications, you could try using 2.7.x on those clients and 2.10.8 servers.  
You might
be able to use 2.7.x clients with 2.12 servers, but that isn't tested for those 
releases.
Alternately, run old apps in VMs/containers and use a newer kernel+Lustre 
underneath.

Cheers, Andreas
--
Andreas Dilger
Principal Lustre Architect
Whamcloud






___
lustre-discuss mailing list
lustre-discuss@lists.lustre.org
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org


[lustre-discuss] Lustre client/server versions/compatibility

2019-10-16 Thread William D. Colburn
We are moving closer to migrating our lustre 2.5.5 servers to lustre
2.12.2.  But we still have a collection of clients.  We have a vague bit
of folklore, handed down word of mouth from the village elder, that if
we upgrade the server to 2.12.2 that the clients all have to be upgraded
to 2.7.something.  I've tried google, but all the searches I've tried
for compatibility all lead to information on what versions of lustre
run on what versions of linux, and not what versions of clients interact
with what versions of the server.

Is there a compatibility matrix for clients versus servers?
Alternatively, does someone just know what version of the clients we
need to have everywhere for a 2.12.2 server?

Our clients include:
  2.4.3
  2.5.5
  2.10.1
  2.10.2
  2.10.4
  2.10.5
  2.10.6
  2.10.7
  2.10.8
  2.12.2


--Schlake
___
lustre-discuss mailing list
lustre-discuss@lists.lustre.org
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org