[nsd-users] Fwd: Re: error: unable to load the diff file: /var/lib/nsd3/ixfr.db

W.C.A. Wijngaards wouter at nlnetlabs.nl
Tue Jun 3 14:03:10 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi John,

On 06/03/2014 03:43 PM, John wrote:
> Thanks for the quick response.
> 
> On 03/06/14 13:06, W.C.A. Wijngaards wrote:
>>> Secondly is there anyway to check the state of this file.
>> 
>> The cron job is the best way to keep the filesize down.  If your 
>> filesystem simply cannot handle the size of the files then I do
>> not know a nice solution with NSD3.
>> 
>> With NSD4 there is a feature that saves disk space, the NSD4
>> version in development (in code repository), has a feature where
>> you can set database: "" and then it does not use the nsd.db file
>> on disk and this may save you a lot of disk space.  NSD4 would
>> also not make ixfr.db, but store similar contents in
>> /tmp/nsd.<pid>/ , but also delete those files when it has done
>> working with them (which may save only a little disk space).
> I was more wondering if there was a command i could run which
> would enable me to do something like the following.
> 
> if ixfr.db is corrupt if disk full stop nsd rm ixfr.db if  we can
> delete some data delete old data and decrease log rotation start
> nsd fi else stop nsd rm ixfr.db start nsd fi fi
> 
> Obliviously we have disk monitoring in place but there are
> occasions where nodes are not able to reach us but they are still
> operating and serving local regions.  In these cases we want to try
> and heal as many know issues as possible and if we are not able to
> do this then just shut down services.

The command: ./nsd-patch -l -c your-nsd.conf
prints a series of lines that summarizes the ixfr.db, and to do so it
reads through the entire file, and it checks the file structure.  That
may fail if NSD happens to be writing to it at exactly that time.

The errors are the last line, incomplete zone transfer content packet,
or packet seq %d had bad length check bytes, or incomplete
commit/rollback packet or commit packet with bad length check bytes,
or bad part of type %x.

Valid output lines start with '^zone ' and '^   time '.  So this
command could be scriptable, if you really wanted to.

Best regards,
   Wouter

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTjdWeAAoJEJ9vHC1+BF+NneIP/1smI0SElTi2f7OsmhA1X90N
mpcLhCtlwhiwjoEMoKnwsg5g/kvaKvCwZbxy8hDi0aJV48AOqjKu238ixd8OFOCv
bKRQGUT7KZbUG5iuR3eW6ilWotztBXqhO/eNjvlNb1YmcPo9wq1NlUHA/D8Bz0lI
ytnj9p0WmvY9y68RPMtdZ6r3z/eX/On/v7SBOTLRXF0pXcOWPYDSpK31UlKbQE0b
v9yklvXGetxx16Inye87i6oE8dg/cimqt44IbstoHEweC5KYNdXWnIEoc9t5Sq0I
sjxo/0+7SdVK7GdM5pFvqyH4IO8uKudtcnANMRJn3OP9Me8cwheEHkxH89CBDIdD
GwTUOBixbDbGRgLqQIyqaojlGfJmDUHx7Zzk500ogBWlU/YoiSYzH1iKHaEXlR1O
K+Nxhafv4Wxt2ZaYCzkNgBJXR9UbIqUfA7pVLvUWHAFzTNFXJG0TweGgG3eExlla
fiT1qR2X6eC/MzUNzXUz4QYlvYKrGAU5cYAVezgBIfNrjx/34r0jBQ8+fZjnLEPO
w0tyYRWr5Hi5QNQ139WDCIw1YjufVquTbMUbQwsPbu9yvqhZYuLHyQwyees8nEhF
Kxq+oKaZgVkpFvhhqZFNsOtyLUDLd8t7wn1Mb9n39NwXrbz40S3IZk6LmkODOWFH
Zy7RCIltCGvHRa63efKe
=mCk8
-----END PGP SIGNATURE-----



More information about the nsd-users mailing list