Using the lmdb database backend

From SambaWiki
Revision as of 02:06, 1 April 2020 by Gary (talk | contribs) (→‎Notes)

LMDB back end

Samba can use an LMDB back end instead of the default TDB back end. The LMDB back end permits database sizes greater than 4Gb.

Enabling LMDB

The LMDB backend can be enabled when provisioning or joining a domain using the --backend-store=mdb option. The maximum size of the database files defaults to 8Gb, this can be changed with the --backend-store-size

Notes

High virtual memory allocation

LMDB uses memory mapped files so if using the default database size of 8Gb the virtual memory reported by htop for Samba processes is typically 40Gb or 80Gb. This is normal and is not normally a concern, see the following article on lmdb memory utilisation and file sizes.

Database file sizes

Identifying an LMDB file

All Samba LMDB data files have an associated lock file with the extension .ldb-lock and the data file has a .ldb extension.

Calculating space used

As discussed in the article lmdb memory utilisation and file sizes, the size of the database on disk does not reflect the actual space used. To calculate space used.

Run: mdb_stat -ne file