How to upgrade a SLES 11 SP3 system to SLES 12 - SUSE/machinery GitHub Wiki

Machinery can help you to do a offline migration from one operating system version to another. This example shows an update of a SUSE Linux Enterprise Server 11 Service Pack 3 system to SUSE Linux Enterprise Server 12.

Machinery is used to clone the original system and to validate the the manual migration of the cloned system. This way it is possible to do a migration while keeping the original system for later comparison and validation. It also enables you to redo the migration in case off unexpected problems.

Requirements

  • SLES 11 SP3 system
  • Separate machine, where the new system is set up and tested
  • SLES 12 medium, e.g. a DVD
  • Different system running Machinery

Steps

The instructions will refer to the original system as $host_original and the migrated system as $host_migrated. Replace them by real hostnames used for the migration.

Clone the original SLES 11 SP3 system

  1. Inspect the original system to create a system description which contains all the information needed to replication.
machinery inspect -x $host_original
  1. Export the system description as AutoYaST profile
machinery export-autoyast $host_target --autoyast-dir=/tmp/my_migration/

This generated AutoYaST profile can be adapted to additional requirements (e.g. adding an additional hard disk, network card, or user). This is described in the AutoYaST ducumentation.

  1. Install a new system based on the AutoYaST profile

There are different ways to install a new system via AutoYaST. They are described in the section about Invoking the Auto-Installation Process in the AutoYaST documentation or/and in the parameter description of Linuxrc.

Follow these instructions and install a new system using the AutoYaST profile.

Upgrade the new installed SLES11SP3 system

  1. Boot from DVD (or other source) into the SLES 12 installer
  2. Select 'upgrade system'
  3. Follow the system upgrade dialogues

Now you have a system running SLES 12 on a new machine, which should have the same functionality as the original system.

Validate the result of the migration by comparing parts of it with the original

  1. Inspect the new system:
machinery inspect -x $host_target

This creates a new description, which now can be compared to the original system description.

  1. Compare the os version

Run the comparison and check the parts of the system which are most relevant to you to see the changes that were made to the system by the upgrade.

machinery compare --scope os $host_original $host_target

This will create the following output:

# Operating system

Only in '$host_original':
  Name: SUSE Linux Enterprise Server 11
  Version: 11 SP3
  Architecture: x86_64

Only in '$host_target':
  Name: SUSE Linux Enterprise Server 12
  Version: 12
  Architecture: x86_64

You can see that the version of the operating system was correctly upgraded.

  1. Compare users and groups
machinery compare --scope users,groups $host_original $host_target

This will create an output like this:

# Users

Only in '$host_target':
  * ftpsecure (Secure FTP User, uid: 493, gid: 65534, shell: /bin/false)
  * nscd (User for nscd, uid: 494, gid: 495, shell: /sbin/nologin)
  * openslp (openslp daemon, uid: 492, gid: 2, shell: /sbin/nologin)
  * polkitd (User for polkitd, uid: 499, gid: 498, shell: /sbin/nologin)
  * rpc (user for rpcbind, uid: 497, gid: 65534, shell: /sbin/nologin)
  * rtkit (RealtimeKit, uid: 498, gid: 497, shell: /bin/false)
  * scard (Smart Card Reader, uid: 495, gid: 496, shell: /usr/sbin/nologin)
  * statd (NFS statd daemon, uid: 496, gid: 65534, shell: /sbin/nologin)

# Groups

Only in '$host_original':
  * mail (gid: 12)
  * maildrop (gid: 59)

Only in '$host_target':
  * lock (gid: 54)
  * mail (gid: 12, users: postfix)
  * maildrop (gid: 59, users: postfix)
  * nscd (gid: 495)
  * polkitd (gid: 498)
  * rtkit (gid: 497)
  * scard (gid: 496)
  * systemd-journal (gid: 499)

You can see that all SLES 11 SP3 user accounts are still there. You can also see that there are some new users and groups and that the mail and maildop groups now include the postfix user.

Validate the result of the migration by comparing the full system descriptions

machinery compare --show-all $host_original $host_target

This will list all differences between the system. It creates a list, which for example contains all the packages with their new versions, changed configuration files and files not managed by RPM.

This gives you complete insight in what has changed by the migration and you can check that nothing unintentional happened.