目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise Serverマニュアル / アップグレードガイド / オンラインでのアップグレード
適用項目 SUSE Linux Enterprise Server 15 SP2

5 オンラインでのアップグレード

SUSEは、動作中のシステムを新しいサービスパックにアップグレードするための直感的なグラフィカルツールとシンプルなコマンドラインツールを提供します。これらのツールは、サービスパックのロールバックなどをサポートしています。この章では、これらのツールを使用してサービスパックのアップグレードを実行する方法を順を追って説明します。

5.1 概念の概要

SUSEは、SUSE Linux Enterpriseファミリ用の新しいサービスパックを定期的にリリースしています。お客様が新しいサービスパックに容易にマイグレートしてダウンタイムを最小限に抑えることができるよう、SUSEはシステム実行中のオンラインマイグレーションをサポートしています。

SLE 12から、YaST WagonはYaSTマイグレーション(GUI)およびZypperマイグレーション(コマンドライン)に置き換えられました。これには以下のような利点があります。

  • 最初のRPMが更新されるまで、システムは常に定義済みの状態

  • 最初のRPMが更新されるまでは、キャンセルが可能.

  • エラーが発生した場合、簡単に回復.

  • システムツールを介してロールバックを実行可能 - バックアップや復元は必要ない

  • アクティブなすべてのリポジトリを使用.

  • サービスパックをスキップ可能

警告
警告: メジャーリリースのオンラインマイグレーションがサポートされていない

オンラインマイグレーションは、サービスパック間のマイグレーションでのみサポートされています。オンラインマイグレーションは、新しいメジャーリリースへのアップグレードではサポートされていません。詳細については、第1章 「アップグレードパスと方法を参照してください。

新しいメジャーリリースにアップグレードする場合は、オフラインマイグレーションを使用します。詳細については、第4章 「オフラインでのアップグレードを参照してください。

重要
重要: SUSE Managerクライアントのアップグレード

アップグレードするシステムがSUSE Managerクライアントの場合は、YaSTオンラインマイグレーション、zypper migrationのいずれでもアップグレードできません。代わりに、「Client Migration」手順を使用してください。『 SUSE Manager Upgrade Guide』で説明されています。

5.2 サービスパックのマイグレーションのワークフロー

サービスパックのマイグレーションは、YaST、zypper、またはAutoYaSTにより実行できます。

サービスパックのマイグレーションを開始する前に、SUSEカスタマーセンターまたはローカルRMTサーバでシステムを登録する必要があります。SUSE Managerも使用できます。

どの方法を使用する場合も、サービスパックのマイグレーションは次の手順で構成されます。

  1. 登録システムで、マイグレーションターゲットの候補を見つけます。

  2. マイグレーションターゲットを1つ選択します。

  3. 新しいリポジトリを要求して有効にします。

  4. マイグレーションを実行します。

マイグレーションターゲットのリストは、インストールおよび登録されている製品に応じて異なります。新しいSPがまだ利用可能になっていない拡張機能がインストールされている場合、マイグレーションターゲットが提供されない可能性があります。

ホストで使用可能なマイグレーションターゲットのリストは、常にSUSEカスタマーセンターから取得され、インストールされている製品または拡張機能に応じて異なります。

5.3 サービスパックのマイグレーションのキャンセル

サービスパックのマイグレーションは、マイグレーションプロセスの特定の段階でのみキャンセルできます。

  1. パッケージのアップグレードが開始されるまで、システムには、サービスやリポジトリなどの最小限の変更しか加えられません。以前の状態に戻すには、/etc/zypp/repos.d/*を復元します。

  2. パッケージのアップグレードが開始された後は、Snapperスナップショットを使用して以前の状態に戻すことができます(第7章 「Snapperを使用したシステムの回復とスナップショット管理を参照してください)。

  3. マイグレーションターゲットが選択された後、SUSEカスタマーセンターによってリポジトリデータが変更されます。この状態を手動で元に戻すには、SUSEConnect --rollbackを使用します。

5.4 オンラインマイグレーションツール(YaST)を使用したアップグレード

YaSTを使用してサービスパックのマイグレーションを実行するには、Online Migration (オンラインマイグレーション)ツールを使用します。デフォルトでは、YaSTはサードパーティリポジトリからパッケージをインストールしません。パッケージがサードパーティリポジトリからインストールされている場合、YaSTは、SUSEから提供されている同じパッケージによってパッケージが置き換えられるのを防ぎます。

注記
注記: インストールサイズの削減

サービスパックのマイグレーションの実行時に、YaSTは推奨パッケージをすべてインストールします。特にカスタム最小インストールの場合、これによってシステムのインストールサイズが大幅に増加することがあります。

このデフォルトの動作を変更し、必要なパッケージのみを許可するには、/etc/zypp/zypp.confで、solver.onlyRequiresオプションを調整します。

solver.onlyRequires = true

また、ファイル/etc/zypp/zypper.confを編集して、installRecommendsオプションを変更します。

installRecommends=false

これにより、パッチや新しいパッケージのインストールなど、すべてのパッケージ操作の動作が変更されます。1回の起動に対してのみZypperの動作を変更するには、パラメータ--no-recommendsをコマンドラインに追加します。

サービスパックのマイグレーションを開始するには、次の手順を実行します。

  1. 登録サーバ上の未使用の拡張機能をすべて無効にして、将来、依存関係の競合が発生が発生するのを防ぎます。拡張機能を覚えていなくても、後でYaSTによって未使用の拡張機能リポジトリが検出され、無効にされます。

  2. 更新するマシンで実行されているGNOMEセッションにログインしている場合は、テキストコンソールに切り替えます。GNOMEセッション内からアップデートを実行することはお勧めしません。これは、リモートマシンからログインしている場合には該当しません(ただし、GNOMEでVNCセッションを実行している場合を除きます)。

  3. LTSSの加入者である場合は、LTSS拡張機能リポジトリがアクティブであることを確認します。

  4. YaSTオンラインアップデートを実行して、システム用の最新のパッケージのアップデートを取得します。

  5. パッケージ yast2-migration およびその依存関係をインストールします(YaSTの ソフトウェア ›  ソフトウェア管理 )。

  6. YaSTを再起動します。再起動しないと、新しくインストールしたモジュールがコントロールセンターに表示されません。

  7. YaSTで、Online Migration (オンラインマイグレーション)を選択します(アップグレードするSUSE Linux Enterprise Serverのバージョンによって、このモジュールはシステムまたはソフトウェアの下にあります)。可能性のあるマイグレーションターゲットと概要がYaSTによって表示されます。システムで使用可能なマイグレーションターゲットが複数ある場合は、リストから1つを選択します。

  8. リストからマイグレーションターゲットを1つ選択し、次へで続行します。

  9. マイグレーションツールによってアップデートリポジトリが提供される場合は、はいで続行することをお勧めします。

  10. [Online Migration (オンラインマイグレーション)]ツールにより、DVDまたはローカルサーバから提供されている古いリポジトリが検出される場合は、それらを無効にすることを強くお勧めします。古いリポジトリは以前のSPのものです。SUSEカスタマーセンターまたはRMTからの古いリポジトリは、すべて自動的に削除されます。

  11. 概要を確認し、次へをクリックしてマイグレーションを続行します。更新開始を選択して確認します。

  12. マイグレーションが正常に完了したら、システムを再起動します。

5.5 Zypperによるアップグレード

Zypperを使用してサービスパックのマイグレーションを実行するには、コマンドラインツールzypper migrationをパッケージ zypper-migration-pluginから使用します。

注記
注記: インストールサイズの削減

サービスパックのマイグレーションの実行時に、YaSTは推奨パッケージをすべてインストールします。特にカスタム最小インストールの場合、これによってシステムのインストールサイズが大幅に増加することがあります。

このデフォルトの動作を変更し、必要なパッケージのみを許可するには、/etc/zypp/zypp.confで、solver.onlyRequiresオプションを調整します。

solver.onlyRequires = true

また、ファイル/etc/zypp/zypper.confを編集して、installRecommendsオプションを変更します。

installRecommends=false

これにより、パッチや新しいパッケージのインストールなど、すべてのパッケージ操作の動作が変更されます。1回の起動に対してのみZypperの動作を変更するには、パラメータ--no-recommendsをコマンドラインに追加します。

サービスパックのマイグレーションを開始するには、次の手順を実行します。

  1. 更新するマシンで実行されているGNOMEセッションにログインしている場合は、テキストコンソールに切り替えます。GNOMEセッション内からアップデートを実行することはお勧めしません。これは、リモートマシンからログインしている場合には該当しません(ただし、GNOMEでVNCセッションを実行している場合を除きます)。

  2. SUSE Linux Enterpriseマシンをまだ登録していない場合は登録します。

    tux > sudo SUSEConnect --regcode YOUR_REGISTRATION_CODE
  3. LTSSの加入者である場合は、LTSS拡張機能リポジトリがアクティブであることを確認します。

  4. zypper migrationを実行します。

    tux > sudo zypper migration
    
    Executing 'zypper patch-check --updatestack-only'
    
    Refreshing service 'Basesystem_Module_15_x86_64'.
    Refreshing service 'Desktop_Applications_Module_15_x86_64'.
    Refreshing service 'SUSE_Linux_Enterprise_Server_15_x86_64'.
    Refreshing service 'Server_Applications_Module_15_x86_64'.
    Loading repository data...
    Reading installed packages...
    
    0 patches needed (0 security patches)
    
    Executing 'zypper  refresh'
    
    Repository 'SLE-Module-Basesystem15-Pool' is up to date.                        
    Repository 'SLE-Module-Basesystem15-Updates' is up to date.                     
    Repository 'SLE-Module-Desktop-Applications15-Pool' is up to date.              
    Repository 'SLE-Module-Desktop-Applications15-Updates' is up to date.           
    Repository 'SLE-Product-SLES15-Pool' is up to date.                             
    Repository 'SLE-Product-SLES15-Updates' is up to date.                          
    Repository 'SLE-Module-Server-Applications15-Pool' is up to date.               
    Repository 'SLE-Module-Server-Applications15-Updates' is up to date.            
    All repositories have been refreshed.
    Available migrations:
    
        1 | SUSE Linux Enterprise Server 15 SP2 x86_64
            Basesystem Module 15 SP2 x86_64
            Desktop Applications Module 15 SP2 x86_64
            Python 2 Module 15 SP2 x86_64
            Server Applications Module 15 SP2 x86_64
           
        2 | SUSE Linux Enterprise Server 15 SP1 x86_64
            Basesystem Module 15 SP1 x86_64
            Desktop Applications Module 15 SP1 x86_64
            Python 2 Module 15 SP1 x86_64
            Server Applications Module 15 SP1 x86_64       
    
    [num/q]:

    マイグレーションプロセスに関する注記

    • システムで使用可能なマイグレーションターゲットが複数ある場合は、Zypperでリストから1つを選択できます。これはSPを1つまたは複数スキップするのと同じことです。基本製品(SLES、SLED)のオンラインマイグレーションを使用できるのは、メジャーバージョンのSP間のみであることに注意してください。

    • デフォルトでは、Zypperは、zypper dupに渡されるオプション--no-allow-vendor-changeを使用します。パッケージがサードパーティリポジトリからインストールされている場合、このオプションにより、SUSEから提供されている同じパッケージによって該当するパッケージが置き換えられるのを防ぎます。

    • Zypperにより、DVDまたはローカルサーバから提供されている古いリポジトリが検出される場合は、それらを無効にすることを強くお勧めします。SUSEカスタマーセンターまたはRMTからの古いリポジトリは自動的に削除されます。

  5. すべての変更内容を確認します。特に、削除されるパッケージに注意してください。「y」と入力して続行します(アップグレードするパッケージの正確な数はシステムによって異なる可能性があります)。

    266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch.
    Overall download size: 285.1 MiB. Already cached: 0 B  After the operation, additional 139.8 MiB will be used.
    Continue? [y/n/? shows all options] (y):

    シェルをスクロールするには、ShiftPage ↑ またはShiftPage ↓ キーを使用します。

  6. マイグレーションが正常に完了したら、システムを再起動します。

5.6 プレーンZypperによるアップグレード

インターネットや登録サーバにアクセスできないため、システムが登録されていない場合、YaSTマイグレーションまたはzypper migrationを使用して新しいサービスパックに移行することはできません。この場合でも、プレーンZypperやいくつかの手動での対話操作により新しいサービスパックに移行することができます。

重要
重要: 未登録システムの場合のみ

新しいサービスパックへのこのマイグレーションパスは、インターネットや登録サーバにアクセスできない未登録システムに「のみ」サポートされています。たとえば、特別に保護されたネットワーク内のマシンの場合などです。システムが登録済みである場合は、YaSTまたはZypperマイグレーションを使用してください。

重要
重要: インストールソース

このマイグレーションパスでは、移行するマシンによってアクセス可能な場所に新しいサービスパックのインストールソースを提供する必要があります。これは、たとえば、RMTサーバやSLPサーバをセットアップすることによって実現できます。

システムがインストール済みの製品バージョンの最新のアップデートリポジトリにアクセスできる必要もあります。

  1. 移行するマシンで実行されているグラフィカルセッションにログインしている場合は、そのセッションをログアウトして、テキストコンソールに切り替えます。グラフィカルセッション内からアップデートを実行することはお勧めしません。これは、リモートマシンからログインしている場合には該当しません(ただし、XでVNCセッションを実行している場合を除きます)。

  2. SUSE Linux Enterpriseの古いリポジトリを使用してパッケージ管理ツールを更新します。

    tux > sudo zypper patch --updatestack-only
  3. 現在リポジトリが割り当てられていないパッケージ(孤立したパッケージ)のリストを取得します。これらのパッケージは移行されず、マイグレーション後に動作する保証はありません(依存する他のパッケージは互換性がなくなったため変更されている可能性があるため)。リストを取得するには、次のコマンドを実行します

    tux > sudo zypper packages --orphaned

    リストを注意深く確認して、必要なくなったすべての孤立パッケージを削除します。残りのすべての孤立パッケージをメモしてください。後で比較用に必要となります。

  4. 次のコマンドを実行して、システムが現在サブスクライブしているすべてのリポジトリのリストを取得します。

    tux > sudo zypper repos -u

    以下では、リポジトリURLを書き換えて、新しいサービスパックの各リポジトリを指すようにする必要があります(SLE-15SLE-15-SP1に置き換える必要があります)。リポジトリのURLが次のようになっている場合:

    http://rmt.example.com/repo/SUSE/Products/SLE-15-Product-SLES/x86_64/product/

    以下に変更する必要があります

    http://rmt.example.com/repo/SUSE/Products/SLE-15-SP1-Product-SLES/x86_64/product/

    これは、有効になっているすべてのリポジトリで実行される必要があります。また、後でアクティブ化するときにシステム内に間違ったインストールソースが存在しないように、現在無効になっているリポジトリに対してもこの操作を行うことを検討してください。

    リポジトリURLを変更するには、次のオプションがあります。

    1. YaST › ソフトウェア › ソフトウェアリポジトリの使用。リポジトリを選択して、編集をクリックして必要な変更を行います。すべてのリポジトリに対してこれを繰り返します。

    2. Zypperの使用. 新しいリポジトリを追加し、後で対応する古いリポジトリを削除します。

      tux > sudo zypper addrepo -f URL NAME-15-SP1
      tux > sudo zypper removerepo  NAME
    3. /etc/zypp/repos.dでリポジトリ設定ファイルを編集する。各リポジトリは1つの設定ファイルで表されます。各ファイルで、baseurlパラメータの値を変更する必要があります。

  5. zypper repos -uを実行して変更を確認し、次のコマンドを実行してリポジトリをアップデートします。

    tux > sudo zypper refresh -f -s

    リポジトリのアップデートに失敗した場合は、間違ったURLを入力していないか再確認します。問題が修正できない場合は、失敗したリポジトリを無効にすることをお勧めします。

    すべてのリポジトリが正常に設定された場合は、次のコマンドを再度実行して、

    tux > sudo zypper refresh -f -s

    「すべて」のリポジトリが最新であることを確認します。

  6. マイグレーションを開始する前に、まずテストランを実行することをお勧めします。

    tux > sudo zypper dup -D --no-allow-vendor-change --no-recommends

    パラメータ-Dは、実際にシステムを変更せずにマイグレーションをシミュレートする、ドライランを実行します。問題が発生する場合は、修正してから続行してください。テストランが成功した場合は、次のコマンドを実行して実際のマイグレーションを実行します

    tux > sudo zypper dup --no-allow-vendor-change --no-recommends

    -no-allow-vendor-changeは、サードパーティRPMが基本システムからRPMを上書きしないようにします。--no-recommendsオプションは、初期インストール時に選択解除したパッケージが再び追加されないようにします。

  7. マイグレーションが終了して、システムが新しいサービスパックバージョンで起動したら、孤立パッケージのチェックを再度実行します。

    tux > sudo zypper packages --orphaned

    新しいリストとマイグレーションを開始する前に生成されたリストを比較します。リストに新しいパッケージが表示された場合は、新しいサービスパックの別のモジュールに移動されたことが原因である可能性があります。以前のインストールにそのモジュールがなかった場合、パッケージはアップデートされませんでした。

    https://scc.suse.com/packagesでパッケージが属するモジュールを確認できます。zypper addrepoまたはYaSTソフトウェアリポジトリモジュールを使用して、不足しているモジュールを追加し、次のコマンドを実行して後で孤立パッケージをアップデートします。

    tux > sudo zypper install --no-recommends LIST OF PACKAGES
  8. 新しいサービスパックに正常に移行しました。

5.7 サービスパックのロールバック

サービスパックの有効性が認められない場合は、SUSE Linux Enterpriseシステムをサービスパックのマイグレーションが開始される前の状態に戻すことができます。このためには、スナップショットが有効なBtrfsルートパーティションであることが前提条件です(これはSLES 12以降のデフォルトです)。詳細については、第7章 「Snapperを使用したシステムの回復とスナップショット管理を参照してください。

  1. すべてのSnapperスナップショットのリストを取得します。

    tux > sudo snapper list

    出力を確認して、サービスパックのマイグレーションの開始直前に作成されたスナップショットを見つけます。列Descriptionには対応するステートメントが含まれており、スナップショットには列Userdataimportantというマークが付いています。列#のスナップショット番号と、列Dateの日付を覚えます。

  2. システムを再起動します。ブートメニューからStart boot loader from a read-only snapshot (読み込み専用スナップショットからブートローダを起動)を選択して、前の手順で覚えた日付と番号が付いたスナップショットを選択します。2番目のブートメニュー(スナップショットのブートメニュー)がロードされます。SLES 15 SP2で始まるエントリを選択して起動します。

  3. システムが以前の状態で起動し、システムパーティションは読み込み専用でマウントされます。rootとしてログインし、正しいスナップショットを選択しているかどうかを確認します。また、すべてが正常に機能することも確認します。ルートファイルシステムは読み込み専用でマウントされるため、機能の制限が適用される場合があることに注意してください。

    問題がある場合、または間違ったスナップショットをブートした場合は、再起動して、ブート元として別のスナップショットを選択します。この時点では、恒久的な変更は加えられていません。スナップショットが正しく、正常に機能する場合、次のコマンドを実行して変更を確定します。

    tux > sudo snapper rollback

    続いて再起動を行います。ブート画面で、デフォルトのブートエントリを選択して、復元されたシステムで再起動します。

  4. リポジトリの設定が適切にリセットされているかどうかを確認します。さらに、すべての製品が適切に登録されているかどうかも確認します。いずれかが間違っていると、後でシステムを更新しようとしてもできなかったり、間違ったパッケージリポジトリを使用してシステムが更新されたりすることがあります。

    次の手順を開始する前に、システムがインターネットにアクセスできることを確認してください。

    1. 次のコマンドを実行して、サービスとリポジトリを更新します。

      tux > sudo zypper ref -fs
    2. 次のコマンドを実行して、アクティブなリポジトリのリストを取得します。

      tux > sudo zypper lr

      このコマンドの出力を入念に確認します。更新対象として追加したサービスとリポジトリが一覧にされていてはなりません。たとえば、SLES15 SP1からSLES15へのマイグレーションをロールバックする場合、SLES15-SP1リポジトリではなく、SLES15のリポジトリが含まれている必要があります。

      間違ったリポジトリが一覧にされている場合は削除し、必要に応じて、製品またはサービスパックのバージョンに一致するバージョンに置き換えます。サポートされるマイグレーションパスのリポジトリのリストについては、2.3項 「モジュールの依存関係とライフサイクル」を参照してください。(リポジトリは自動的に更新されるため、手動での操作は必要ありませんが、確認して必要な修正を行うことがベストプラクティスです。)

    3. 最後に、次のコマンドを実行して、インストールされているすべての製品の登録状態を確認します。

      tux > sudo SUSEConnect --status

      すべての製品が「登録されています」とレポートされる必要があります。そうなっていない場合は、次のコマンドを実行して登録を修復します。

      tux > sudo SUSEConnect --rollback

以上で、システムは正常にサービスパックのマイグレーション開始直前にキャプチャされた状態に戻りました。

5.8 SUSE Managerを使用したアップグレード

SUSE Managerは、SUSE Linux Enterpriseクライアントに対するアップデート、パッチ、およびセキュリティ修正を提供するためのサーバソリューションです。これには、一連のツールと、管理タスク用のWebベースのユーザインタフェースが付属しています。SUSE Managerの詳細については、https://www.suse.com/products/suse-manager/を参照してください。

マイグレーションにより、1つのメジャーバージョン内で特定のサービスパック(SP)を別のSPにマイグレートできます(たとえば、SLES 15 GAからSLES 15 SP1)。

マシンがSUSE Managerによって管理されている場合は、SUSE Managerドキュメントの説明に従ってアップデートしてください。「Client Migration」の手順については、https://documentation.suse.com/suma/で入手可能な『SUSE Manager Upgrade Guide』を参照してください。

5.9 openSUSE LeapからSUSE Linux Enterprise Serverへのアップグレード

openSUSEインストール環境をSUSE Linux Enterprise Serverにオンラインでアップグレードすることができます。手順は5.5項 「Zypperによるアップグレード」と似ていますが、いくつかの追加の手順が必要です。運用システムでこの手順を実行する前に、運用環境のセットアップを複製するテストシステムでまず実行することをお勧めします。

どのopenSUSE Leapバージョンでマイグレーションがサポートされているかを確認するには、1.1項 「SLES 15 SP2へのサポートされているアップグレードパス」を参照してください。

警告
警告: 一部のopenSUSEパッケージをマイグレートできない

openSUSEリポジトリは、SUSE Linux Enterprise Serverリポジトリよりも多くのパッケージを提供しています。これらのパッケージをインストールしても、マイグレーション後にアップデートを受信することはできません。これらのパッケージは、以下の手順を実行する際に削除されます。

システムを動作させるために必要なすべてのパッケージが、SUSE Linux Enterprise Serverリポジトリで使用可能であることを確認してください。SUSE Package Hubリポジトリで使用可能かどうかも確認できます。詳細については、20.3項 「SUSE Package Hub」を参照してください。

openSUSE Leapからマイグレートするには、次の手順を実行します。

  1. たとえば、CtrlAltF1を押して、TTYに切り替えます。rootとしてログインします。

  2. SUSEConnectを インストールします

    root # zypper in SUSEConnect
  3. SCCで登録して、SUSE Linux Enterprise Serverリポジトリを取得します。

    root # SUSEConnect -r REGISTRATION_CODE -p SLES/15.1/x86_64
  4. システムのすべてのopenSUSEリポジトリを一覧表示して無効にします。

    root # zypper lr
    root # zypper mr -d REPO_IDS

    REPO_IDSをすべての有効なopenSUSEリポジトリのスペース文字区切りリストで置き換えます。

  5. ここでインストールに必要なモジュールを追加します。

    root # SUSEConnect --list-extensions
    [...]
    root # SUSEConnect -p sle-module-basesystem/15.1/x86_64

    ほとんどのLeapパッケージを置き換えるには、Basesystem、デスクトップアプリケーション、サーバアプリケーション、およびレガシーモジュールを有効にすることをお勧めします。また、SUSE Package Hubを有効にすることをお勧めします。

  6. インストールされたパッケージをSUSE Linux Enterprise Serverリポジトリにマイグレートします。

    root # zypper dup --force-resolution
  7. 孤立したパッケージを削除します。

    root # zypper rm $(zypper --no-refresh packages --orphaned | gawk '{print $5}' | tail -n +5)
  8. 最後にシステムを再起動します。