On Срд, 25 чэр 2025, Oron Peled wrote:
Hi,

I've played with LDIF export/import years before IPA, but there's still big 
knowledge gap.
A SOHO installation is not rare and we need a detailed howto for in-place 
migration (with obvious downtime)
This documentation is more critical because upstream (RHEL) doesn't support 
this path.

Example stuff:
    *  Checking used backend (like was provided in this mail thread)
    *  Listing which services should be down (i.e: ldif offline export, or 
online DS with other IPA parts down)
    *  LDIF authentication -- is it just usual kinit? or some DS specific 
parameter/command?
    *  What's the path of the database? (only for DS-offline export if that's 
the recommended path)
    *  Precise commands with parameters and options for export and import
    *  Sanity checks before/after migration

Also:
    *  This howto should be published well before migration
(so it's indexed by search engines before people start searching in amok after 
instances get broken)
    *  Most of this information is very useful for general backup/recovery in 
any SOHO installation
Therefore it's best to prepare it as such and use DB switchover as an example 
use-case
    *  A link to a preliminary draft may be published here, so we can carefully 
try it and provide feedback and improvements.
(e.g: someone on this thread had an issue with finding the instance name...)

Thank you all for the hard work, it's fully understood that such a switchover 
isn't trivial upgrade.

I just migrated my Fedora 42 deployment that was running since 2013 from
bdb to mdb backend by using a single command, as described in the Change
itself:

# systemctl stop dirsrv@INSTANCE-NAME
# dsctl INSTANCE-NAME dblib bdb2mdb
cleanup dbmapdir=/var/lib/dirsrv/slapd-INSTANCE-NAME/db 
dbhome=/dev/shm/slapd-INSTANCE-NAME dblib=bdb
Required space for LDIF files is about 6.7 MB
Required space for DBMAP files is about 109.3 MB
Required number of dbi is 256
Backends exportation 0.000000% (changelog)
ldiffile: /var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-changelog.ldif
Backends exportation 0.205885% (ipaca)
ldiffile: /var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-ipaca.ldif
Exporting changelog 
/var/lib/dirsrv/slapd-INSTANCE-NAME/db/ipaca/replication_changelog.db to 
/var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-ipaca.cl5.dbtxt
Backends exportation 28.257699% (userroot)
ldiffile: /var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-userroot.ldif
Exporting changelog 
/var/lib/dirsrv/slapd-INSTANCE-NAME/db/userRoot/replication_changelog.db to 
/var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-userroot.cl5.dbtxt
Backends exportation 100%
Updating dse.ldif file
Backends importation 0.000000% (changelog)
Backends importation 0.205885% (ipaca)
Importing changelog 
/var/lib/dirsrv/slapd-INSTANCE-NAME/db/ipaca/replication_changelog.db from 
/var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-ipaca.cl5.dbtxt
Backends importation 28.257699% (userroot)
Importing changelog 
/var/lib/dirsrv/slapd-INSTANCE-NAME/db/userRoot/replication_changelog.db from 
/var/lib/dirsrv/slapd-INSTANCE-NAME/ldif/__dblib-userroot.cl5.dbtxt
Backends importation 100%
Migration from Berkeley database to lmdb is done.

# systemctl start dirsrv@INSTANCE-NAME

We cannot really automate it as export of the database will require
enough space to handle it. You can adjust optiosn to bdb2mdb subcommand
to specify a temporary location for that but the command needs to be run
by the administrators manually.


--
/ Alexander Bokovoy
Sr. Principal Software Engineer
Security / Identity Management Engineering
Red Hat Limited, Finland

--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to