Over the years I have seen a number of strange integrity
problems when using Samba servers, and
I sometime wonder how Samba is stress tested.
As long as a Samba server is used as a normal file
server, we very seldom se any problems, but if
heavily used, flat file databases are used, some versions of
Samba are more stable then others.
Even with oplocks disabled and strict locking
enabled, we could not always stop the corruption of
files.
A number of years ago I wrote a DOS program designed to run on
multiple client hosts, stress and integrity testing
a shared file on a Windows NT 3.51 file servers. In
principal the program continuously locks a random part of the
testfile
(on the server), reads the data and test
the data for errors, then writes a new testpattern and removes the
lock.
Lately I have tried it on different
Samba servers with very different results.
When I tried to test a Samba 2.2.5 server (SuSE 8.0
Kernel 2.4.19, oplocks disabled, AMD XP1900+, 256MB) with two Win98
clients, the clients could never run more
then maybe 6 hours before one of the clients completely lost contact
with the Samba server and had to be rebooted. Two bytes in the 250MB testfile was corrupted. If
only one client was run, the
client still lost contact to the server and had to be
rebooted.
When the same test was run on a Samba 2.2.6
server (SuSE 8.1 Kernel 2.4.19, oplocks disabled, AMD XP1900+, 256MB,
and
the same Win98 clients), the clients never
lost contact to the server, but I have not yet been able to run the test
more the maybe 48
hours without a corruption of the
testfile.
The reason I'm looking into this problem is that I have 3 users (clients
here are two W2K, and one Win98) that run an old DOS
shared flatfile database that we have moved from a Win98 machine
to Linux, and it has really been a nightmare. First we
moved it to the Samba 2.2.5 server, but it did not take more then a
couple of hours before the database was corrupted. Then
we moved to the 2.2.6 server and things started to look a lot better, but
the corruption did not stop, it just took maybe one or two
days before we saw corruption. The application has run for more
the 4 years on the Win98 machine, and data has never been
corrupted.
I'm not yet sure, but errors happens even if only one user using the
database. I think the database is based on Paradox.
I'm thinking of reviewing my old DOS program (if I can find the source
code) and see what happens if it's recompiled with a
new compiler. I Think the program was compiled with Borland C
3.0.
Any suggestions (besides moving back to Win98).
Thanks in advance Bo Jacobsen |
- Re: [Samba] How is the Samba people stress testing Samba. Bo Jacobsen