migrate-ds.pl - Directory Server Migration script
Directory Server Migration script - migrates Directory Server from older
releases to the current release.
This script will copy instances (data and configuration) from the old server
root directory to their new FHS locations. This script does a copy only - the
data in the old instances will be left untouched. The old instances must be
shutdown first to ensure that the databases are copied safely. During
migration your migrated instances will be started.
A summary of options is included below:
- This message
- Print the version and exit
- Turn on debugging
- The old server root directory to migrate from
- --actualsroot This is the old location of the old
- Use silent setup - no user input
- Use the file 'name' in .inf format to supply the default
- Do not delete the temporary .inf file generated by this
- Log migration messages to this file - otherwise, a temp
file will be used
- By default, all directory server instances will be
migrated. You can use this argument to specify one or more (e.g. -i
slapd-foo -i slapd-bar) if you do not want to migrate all of
- See below.
For all options, you can also use the short name e.g. -h
For the -d
argument, specifying it more than once will increase the
debug level e.g. -ddddd
args: You can supply default .inf data in this format:
- "slapd.Suffix=dc=example, dc=com"
Values passed in this manner will override values in an .inf file given with the
actualsroot: This is used when you must migrate from one machine to another. The
usual case is that you have mounted the old server root on a different root
directory, either via a network mount, or by copying a tarball made using a
relative directory on the source machine to the destination machine and
For example: machineA is a 32bit machine, and you want to migrate your servers
to a new 64bit machine. Lets assume your old server root on machineA was
/opt/myds, and your new machine also wants to use a server root of /opt/myds.
There are a couple of different ways to proceed. Either make a tarball of
opt/myds from machineA using a relative path (i.e. NOT /opt/myds) or use NFS
to mount machineA:/opt/myds on a different mount point (e.g.
If you do this, you should give the old "real" server root (/opt/myds)
as the --actualsroot
argument, and use /migration/opt/myds for the
argument. That is, the oldsroot is the physical location of
the files on disk. The actualsroot is the old value of the server root on the
cross: Also known as crossplatform, or 'c', or 'x'. This is when the source
machine is a different architecture than the destination machine. In this
case, only certain data will be available for migration. Changelog information
will not be migrated, and replicas will need to be reinitialized (if migrating
masters or hubs). This type of migration requires that all of your old
databases have been dumped to LDIF format, and the LDIF file must be in the
default database directory (usually /var/lib/dirsrv/slapd-instance/db), and
the LDIF file must have the same name as the database instance directory, with
a ".ldif". For example, if you have
you must first use db2ldif to export these databases to LDIF e.g.
./db2ldif -n userRoot -a /var/lib/dirsrv/slapd-instance/ldif/userRoot.ldif and
./db2ldif -n NetscapeRoot -a /var/lib/dirsrv/slapd-instance/ldif/NetscapeRoot.ldif
Then you must somehow make your old server root directory available on the
destination machine, either by creating a tar archive on the source and
copying it to the destination, or by network mounting the source directory on
the destination machine.
migrate-ds.pl was written by the 389 Project.
Report bugs to https://pagure.io/389-ds-base/new_issue
Copyright © 2017 Red Hat, Inc.
This manual page was written by Michele Baldessari <firstname.lastname@example.org>,
for the Debian project (but may be used by others).
This is free software. You may redistribute copies of it under the terms of the
Directory Server license found in the LICENSE file of this software
distribution. This license is essentially the GNU General Public License
version 2 with an exception for plug-in distribution.