+ All Categories
Home > Documents > RHEL Migrations and Upgrades - Red Hat · RHEL Migrations and Upgrades Revision 1.5 David Cantrell...

RHEL Migrations and Upgrades - Red Hat · RHEL Migrations and Upgrades Revision 1.5 David Cantrell...

Date post: 22-May-2018
Category:
Upload: dokiet
View: 223 times
Download: 0 times
Share this document with a friend
33
RHEL Migrations and Upgrades Revision 1.5 David Cantrell Installer Engineering Team Manager, Red Hat Paul Frields Fedora Engineering Team Manager, Red Hat
Transcript

RHEL Migrations and UpgradesRevision 1.5

David CantrellInstaller Engineering Team Manager, Red Hat

Paul FrieldsFedora Engineering Team Manager, Red Hat

Red Hat Enterprise Linux 6 to 7?Migrating existing Red Hat Enterprise Linux installations to new major versions.

INTRODUCTION

Speakers

•David Cantrell

•Manager of the Installer Engineering Team at Red Hat, responsible for anaconda and related tools. 9+ years working at Red Hat either as a software engineer or manager, all on the installer.

•Paul Frields

•Manager of the Fedora Engineering Team at Red Hat. Development coordinator for RHEL 7. Former Fedora Project Leader.

TARGET AUDIENCE

•System Administrators

•Developers

• IT Architects

• IT Support Personnel

Migration vs. Upgrade

•migration: Moving a set of running services from one installed system to another, including all configuration aspects and data.

•upgrade: Upgrading the installed software to newer revisions. This process may or may not include migration.

I KEEP HEARING ABOUT IN-PLACE UPGRADES

•A new feature in RHEL 7 is functionality that marketing is calling in-place upgrades.

•We are offering a supported path to upgrade a RHEL 6 system to RHEL 7 without having to backup, format, reinstall, and restore.• (NOTE: Must be upgrading from RHEL 6.latest on x86_64...for now.)

•The in-place aspect is meant to emphasize the fact that you do not have to move your data and configuration files off the system.

• In-place DOES NOT mean you avoid a reboot.

But that sounds impossible.

Are there any other options?

Actual Strategies We Have Seen Used

•Wait until you replace hardware to upgrade.

•Buy new server, install latest version, migrate all data from old system.

•yum dist­upgrade and hope for the best.

•One site actually used constantly regenerating yum repos.

•Do nothing.

• In some cases, start using the RHEL Extended Update Support[1] program for critical fixes.

What is EUS?

•Extended Update Support for Red Hat Enterprise Linux

•Allows you to standardize on a specific minor release for an extended period.

•Available for every RHEL 6 minor release.

• Includes critical security fixes and urgent bug fixes for two years.

•Part of your Premium RHEL subscription, or Sales would be happy to discuss if you'd like to add onto a different subscription level.

Example Pain Points

•Desired application requires a newer base level software component (e.g., MySQL, Apache, or PHP) and your chosen model of no-upgrades is not sustainable.

•Sysadmins do not have infinite time.

•New hardware enablement does not last forever eventually, RHEL releases enter Production Phase 3, which is maintenance only.[2]

•Not upgrading leaves you vulnerable to some software security risks.

Goals

•Treat migrating and upgrading as distinct operations.

•Provide tools that are flexible enough to integrate in to site specific workflows.

•Allow for vendors and sites to extend the tools as necessary.

•Encourage contributions back to the tools for future RHEL releases.

Current RHEL Tools

•anaconda: Performs interactive and automated installations.

•ksverdiff: Shows kickstart syntax differences between versions of RHEL and Fedora (part of the pykickstart package).

•ksvalidator: Validates a kickstart file against a specified kickstart revision (part of the pykickstart package).

• lvcreate to create LVM snapshots.

•tar to create backups.

•mt to rewind tape drives.

I know those, what's new?

New RHEL Tools

•preupgrade-assistant

•Assists as you perform the the migration step.

•redhat-upgrade-tool

•Performs the upgrade step.

preupgrade-assistant

•Evaluates a RHEL 6 system for suitability to upgrade to RHEL 7.

•Output is report-like, similar to a tool like setroubleshoot.

•Problems are categorized and explained.

•Solutions to remedy are offered in the explanation text -or- in some cases the solutions can be automatically applied.

•Can be run multiple times to determine if a system “passes”.

•Also produces script output which can be integrated in to other tools as your site requires.

•Can be extended with 3rd party plug-ins.

preupgrade-assistant Results

preupgrade-assistant Results (cont.)

preupgrade-assistant Results (cont.)

redhat-upgrade-tool

•Based on Fedora's fedup tool.

•Prepares a system to upgrade RPM packages, downloads packages, reconfigures the boot up sequence, then reboots.

•The actual upgrade is performed offline, but during the boot up sequence. (This mode is possible thanks to systemd.)

•KNOWN LIMITATION: In RHEL 7, redhat­upgrade­tool will not be able to get package information or packages from CDN. It can speak to RHN Satellite repos as well as local repos on your network or DVD.

Existing Tools

•ksverdiff: Shows you kickstart syntax differences between versions of RHEL. List versions of kickstart syntax with ksvalidator ­l. With ksverdiff you can see what changed from RHEL 6 to RHEL 7 kickstart.

•ksvalidator: Given a kickstart file, validates the syntax of it against the kickstart version you specify. Useful for migrating kickstart files from older releases.

•Remember to migrate your original system kickstarts if you upgrade a system!

Support

•Tested and supported use case at this point is:

•Upgrading from RHEL 6.5 to RHEL 7.0

•Must be using the Server variant

•Must be x86_64

•Either base or minimal package selection

Example Strategy

Step 1 - Backup

•You do backups, right?

•Take a snapshot of the system using lvcreate. You can boot from install media later and use rescue mode to restore this snapshot should your upgrade fail.

•PROTIP: Make an easily accessible copy of configuration files for reference.

Step 2 – Download preupgrade-assistant

• Install these prerequisite packages:

•yum install openscap pcre­devel mod_wsgi

•These are the packages for preupgrade-assistant for the RHEL 7.0 Beta program:

•preupgrade­assistant­1.0.2­6.el6.x86_64.rpm

•preupgrade­assistant­contents­0.4.4­1.el6.noarch.rpm

•Packages available at the RHEL 7.0 GA release will be different.

•Be sure to download both packages and install with:

•yum localinstall preupgrade­assistant*.rpm

Step 3 – Run preupgrade-assistant

•Download preupgrade-assistant on your RHEL 6 system.

•Beta program: https://access.redhat.com/site/solutions/637583

• Install preupgrade-assistant using yum localinstall.

•Run preupgrade­assistant and evaluate the output. Iterate this process until you are satisfied with the results of preupgrade-assistant.

•PROTIP: Take another snapshot of the system after completing the preupgrade-assistant step.

Step 4 – Download redhat-upgrade-tool

• Install these prerequisite packages:

•preupgrade­assistant and what it requires

•These are the packages for redhat-upgrade-tool for the RHEL 7.0 Beta program:

•redhat­upgrade­tool­0.7.5­1.el6_5.noarch.rpm

•Versions available at the RHEL 7.0 GA release will be different.

•Be sure to download both packages and install with:

•yum localinstall redhat­upgrade­tool*.rpm

Step 5 – Run redhat-upgrade-tool

•Download redhat-upgrade-tool on your RHEL 6 system.

•Beta program: https://access.redhat.com/site/solutions/637583

• Install redhat-upgrade-tool using RPM.

•Run redhat­upgrade­tool pointing at the RHEL-7.0 DVD media you have mounted (or a network-accessible yum repo containing the RHEL-7.0 repo from the DVD).

•Follow the instructions to reboot the system and perform the upgrade.

redhat-upgrade-tool tips

•Do not try to upgrade a 32-bit x86 system to x86_64. This upgrade path is not supported.

•Minimize risk by removing unnecessary 32-bit packages from multiarch systems before upgrading.

•You may need to add additional repo specifications to redhat-upgrade-tool depending on what channels you used to install software.

• --addrepo=REPOID=URL

• --addrepo=REPOID=@MIRRORLIST

Step 6 – Reboot With RHEL 7

•Address NEEDS_INSPECTION items from preupgrade-assistant report.

•Verify your services are running.

•Verify data files are intact and configuration settings have been migrated or are otherwise working.

•PLEASE report successes and failures. These reports are a tremendous help maintaining these tools. Did you have to slightly modify a configuration file? Did you have to move files to a new location? Did the upgrade work flawlessly?

Step 7 – Delete Snapshots

•Once you are satisfied with the RHEL 7 installation, delete the RHEL 6 snapshots.

•There is no way to rollback a system to RHEL 6 once you delete the snapshots.

•NOTE: If you do rollback a system to RHEL 6, you must manually reinstall (and possibly reconfigure) grub. Be sure you are using the grub package from RHEL 6 at that point.

References

• [1] http://www.redhat.com/products/enterprise-linux-add-ons/extended-update-support/

• [2] http://www.redhat.com/rhel/lifecycle

Questions?


Recommended