table of contents
MIGRATE-DS.PL(8) | System Manager's Manual | MIGRATE-DS.PL(8) |
NAME¶
migrate-ds.pl - Directory Server Migration script
SYNOPSIS¶
migrate-ds.pl [--options] -- [args]
DESCRIPTION¶
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.
OPTIONS¶
A summary of options is included below:
- --help
- This message
- --version
- Print the version and exit
- --debug
- Turn on debugging
- --oldsroot
- The old server root directory to migrate from
- --actualsroot This is the old location of the old server root.
- --silent
- Use silent setup - no user input
- --file=name
- Use the file 'name' in .inf format to supply the default answers
- --keepcache
- Do not delete the temporary .inf file generated by this program
- --logfile
- Log migration messages to this file - otherwise, a temp file will be used
- --instance
- 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 them.
- --cross
- See below.
For all options, you can also use the short name e.g. -h, -d, etc. 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:
- section.param=value
e.g.
- General.FullMachineName=foo.example.com
or
- "slapd.Suffix=dc=example, dc=com"
Values passed in this manner will override values in an .inf file given with the -f argument.
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 untarring it.
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. machineB:/migration/opt/myds).
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 --oldsroot 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 source machine.
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
-
/var/lib/dirsrv/slapd-instance/db/userRoot/ and /var/lib/dirsrv/slapd-instance/db/NetscapeRoot/
you must first use db2ldif to export these databases to LDIF e.g.
-
cd /var/lib/dirsrv/slapd-instance ./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.
AUTHOR¶
migrate-ds.pl was written by the 389 Project.
REPORTING BUGS¶
Report bugs to https://pagure.io/389-ds-base/new_issue
COPYRIGHT¶
Copyright © 2017 Red Hat, Inc.
This manual page was written by Michele Baldessari
<michele@pupazzo.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.
March 31, 2017 |