ノート:

Oracle OS Management Hubのグループによる大規模なOracle Linuxの管理

イントロダクション

多くのOCIコンピュート・インスタンスのOracle Linux更新を、Oracle OS Management Hubの統合された標準化されたグループとして管理する方法について学習します。グループは、Oracle OS Management Hubサービスを使用してインスタンスのコレクションを管理および監視する方法を提供します。グループを使用して、エラッタの適用、ソフトウェアの更新、および共通コンテンツ管理タスクのジョブをグループのすべてのメンバー・インスタンスにスケジュールできます。

目的

このチュートリアルでは、次の方法を学習します。

前提条件

次のものを使用したOracle Cloud Infrastructureテナンシへのアクセス:

OCIリソースの構成

ノート:テナンシで実行している場合は、linux-virt-labs GitHubプロジェクトREADME.mdを読み、演習環境をデプロイする前に前提条件を完了してください。

  1. Lunaデスクトップでターミナルを開きます。

  2. linux-virt-labs GitHubプロジェクトをクローニングします。

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 作業ディレクトリに移動します。

    cd linux-virt-labs/ol
    
  4. 必要なコレクションをインストールします。

    ansible-galaxy collection install -r requirements.yml
    
  5. Oracle Linuxインスタンス構成を更新します。

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "ol-host-02"
        type: "server"
      2:
        instance_name: "ol-host-03"
        type: "server"
    instance_shape: "VM.Standard.E5.Flex"
    EOF
    
  6. 演習環境をデプロイします。

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    無料の演習環境では、追加変数localhost_python_interpreterが必要です。この変数は、localhostで実行されている再生用にansible_python_interpreterを設定します。この変数は、python3.6モジュールの下にあるOracle Cloud Infrastructure SDK for PythonのRPMパッケージが環境によってインストールされるため必要です。

    デフォルトのデプロイメント・シェイプでは、AMD CPUおよびOracle Linux 8が使用されます。Intel CPUまたはOracle Linux 9を使用するには、デプロイメント・コマンドに-e instance_shape="VM.Standard3.Flex"または-e os_version="9"を追加します。

  7. プレイブックが一時停止タスクに到達するまで待ちます。Enterキーを押したり、ターミナルを閉じたりしないでください。プレイブックは、OS管理ハブで使用するOCIコンピュート・インスタンスを作成します。一時停止タスクが表示されたら、次のステップに進みます。

    重要:演習中は、[Enter]を押したり、ターミナル・ウィンドウを閉じたりしないでください。

OCI Webコンソールの「OS管理ハブ」セクションへのアクセス

  1. Lunaデスクトップの「Luna Lab」アイコンをクリックします。

    OCIのログイン資格証明は、しばらくするとこのページに表示されます。エフェメラル・アカウントのユーザー名とパスワードが表示されたら、次のステップに進みます。

  2. OCIコンソールのクイック・リンクをクリックして、OCIコンソールを開きます。

  3. 一時的なアカウントのユーザー名とパスワードを使用して、OCIコンソールにログインします。

  4. OCIコンソールのランディング・ページのナビゲーション・メニューを使用して「監視および管理」に移動し、「OS管理ハブ」をクリックします。

    osmh_nav1

グループの作成

グループは、更新の適用やすべてのメンバー・インスタンスのパッケージのインストールなど、OS管理タスクを標準化します。グループのインスタンスには、OCI、オンプレミス、サードパーティのクラウドのいずれであっても、同じOSベンダー、OSバージョン、アーキテクチャおよびロケーションが必要です。

  1. 「OS管理ハブ」ナビゲーション・セクションの「グループ」をクリックします。

  2. 「作成」をクリックします。

    osmh_create_group_1

  3. グループの識別情報を次のように入力します。

    • 名前: Oracle_Linux_8_hosts
    • 説明: (オプション)グループの説明を入力します。
  4. プロファイルのインスタンスの場所をOracle Cloud Infrastructureとして設定します。

  5. 「次へ」をクリックします

  6. 次のようにOSおよびアーキテクチャ情報を選択します。

    • OSベンダー: Oracle
    • OSバージョン: Oracle Linux 8
    • アーキテクチャ: x86_64

    ノート: OSベンダー、バージョンおよびアーキテクチャは、登録するコンピュート・インスタンスと一致する必要があります。

  7. ベンダー・ソフトウェア・ソースが含まれているため、デフォルトのコンパートメント選択を保持します。

  8. グループに割り当てるソフトウェア・ソースを選択します。次の項目を選択します。

    • ol8_baseos_latest-x86_64
    • ol8_appstream-x86_64
    • ol8_addons-x86_64
    • ol8_uekr6-x86_64

    これらのソフトウェア・ソースは、インスタンスがグループに参加すると、インスタンスに自動的にアタッチされます。

  9. 「次」をクリックします。

    osmh_create_group_2

  10. 「次へ」をクリックして、「インスタンスのアタッチ」ステップをスキップします。

    ノート: OS管理ハブに登録されたOCIコンピュート・インスタンスをアタッチし、グループのOSの選択、場所およびコンパートメントをこのステージのグループに一致させることができます。

  11. グループの詳細を確認し、「送信」をクリックしてグループを作成します。

    グループ・ページにOracle_Linux_8_hostsグループが表示されます。

グループ・プロファイルの作成

グループ・プロファイルでは、コンピュート・インスタンスをOS管理ハブに登録し、それらのインスタンスをグループにアタッチできます。

  1. 「OS管理ハブ」ナビゲーション・セクションの「グループ」ページで、Oracle_Linux_8_hostsグループの名前をクリックします。

    グループの詳細ページには、グループ情報と、グループ・メンバー、グループ・マニフェスト、ジョブ、レポートなどのグループ・リソースへのアクセスが含まれます。

  2. プロファイルの作成」をクリックします。

    osmh_group_details

  3. グループ プロファイルの識別情報を次のように入力します。

    • 名前: Oracle_Linux_8_hosts_profile
    • 説明: (オプション)プロファイルの説明を入力します。
  4. 「作成」をクリックします。

    osmh_group_create_profile

    このプロファイルは、OS管理ハブ・ナビゲーション・セクションの「プロファイル」ページに表示できるようになり、コンピュート・インスタンスをOracle_Linux_8_hostsグループに登録するために使用できます。

グループ・プロファイルを使用したグループへのコンピュート・インスタンスの登録

OCIコンピュート・インスタンスをグループにアタッチし、コンピュート・インスタンスをOS管理ハブに登録するには、Oracle Cloud Agent (OCA)プラグインを有効にし、コンピュート・インスタンスの作成時または既存のコンピュート・インスタンスの詳細ページからグループ・プロファイルを設定します。

  1. 「コンピュート」セクションに移動し、メインのOCIナビゲーション・メニューを使用して「インスタンス」を選択します。

    osmh_compute_nav1

既存のコンピュート・インスタンスのグループへの登録

ol-host-02およびol-host-03という名前の2つのインスタンスをOS管理ハブに登録し、グループ・プロファイルを使用してそれらをグループにアタッチします。

  1. ol-host-03インスタンスの名前をクリックします。

    osmh_register_instance_1

  2. コンピュート・インスタンスの詳細ページで「Oracle Cloud Agent」タブをクリックします。

  3. OS管理ハブ・エージェント・プラグインを有効にし、登録プロファイルをOracle_Linux_8_hosts_profileに設定します。

    osmh_register_instance_2

    状況によっては、有効化後にOS管理ハブ・エージェントが停止と表示されます。この通知を無視して、次のステップに進みます。

  4. 「コンピュート」セクションの「インスタンス」に戻ります。

  5. ol-host-02インスタンスの名前をクリックします。

  6. コンピュート・インスタンスの詳細ページで「Oracle Cloud Agent」タブをクリックします。

  7. OS管理ハブ・エージェント・プラグインを有効にし、登録プロファイルをOracle_Linux_8_hosts_profileに設定します。

    状況によっては、有効化後にOS管理ハブ・エージェントが停止と表示されます。

  8. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

    ノート:インスタンスがグループにアタッチされるまで待ちます。このステップには数分かかる可能性があります。ページをリフレッシュし、2つのインスタンスがグループ・メンバー・リソースに表示されるまで待機します。

    新しいOracle Linuxインスタンスがグループにアタッチされると、サービスは次のようになります。

    • インスタンスのソフトウェア・ソースを、グループ・マニフェストにリストされているソフトウェア・ソースに置き換えます。
    • グループ内のソフトウェアソースから、グループマニフェスト内のパッケージの最新の使用可能なバージョンをインストールします。
    • グループ内のソフトウェアソースからグループマニフェストにモジュールとプロファイルをインストールします。
    • Oracle Linuxインスタンス上の既存のパッケージまたはモジュールは削除しません

グループ・メンバーの管理

グループ・メンバーは、グループに登録されたOCIコンピュート・インスタンスで、「グループ詳細」ページにある「グループ・メンバー」リソースから管理できます。グループ・メンバーはデタッチでき、グループのOS選択に一致する以前に登録された他のインスタンスをグループにアタッチできます。

グループからのインスタンスのデタッチ

  1. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

  2. 「グループ詳細」ページの「リソース」の下の「グループ・メンバー」をクリックします。

    osmh_group_member

  3. ol_host_02チェック・ボックスを選択します。

  4. 「インスタンスのデタッチ」をクリックします。

    osmh_group_detach_instance

  5. ダイアログ・ボックスで「デタッチ」をクリックします。

    このアクションにより、インスタンスがグループから削除され、グループ・メンバー・リソース・リストには含まれなくなります。インスタンスは、グループの一部として管理されず、繰返しグループ・ジョブにも含まれません。

    ノート:インスタンス上のソフトウェアは、インスタンスがグループを離れるときと同じままです。

グループへのインスタンスの追加

  1. 「インスタンスのアタッチ」をクリックします。

  2. デフォルトのコンパートメントの選択を保持します。

  3. ol_host_02を選択し、「アタッチするインスタンスの選択」をクリックします。

    該当する場合は、前述のステップを繰り返して、アタッチする複数のインスタンスを選択します。

    ノート:使用可能なインスタンスは、グループの場所、OSベンダー、バージョンおよびアーキテクチャと一致します。

  4. 選択を確認します。

  5. 「連結」をクリックします。

    osmh_group_attach_instance

    グループに一致する登録済インスタンスは、迅速かつ効率的にグループに対してアタッチおよび削除できます。

グループマニフェストの管理

グループ・マニフェストは、Oracle Linuxインスタンスのグループにインストールするパッケージおよびモジュールのセットを定義します。グループマニフェストには、ソフトウェアソースと最小限必要なパッケージおよびモジュールが一覧表示されます。Oracle OS Management Hubには、グループの現在のメンバーでグループ・マニフェストに加えた変更が反映されます。

グループマニフェストへの Oracle Linuxコンテンツの追加

  1. Oracle_Linux_8_hostsグループの詳細ページの「リソース」の下の「グループ・マニフェスト」をクリックします。

    このページは、ソフトウェア・ソース、パッケージおよびモジュールをグループに追加または削除できる場所です。

  2. Group Packages」タブをクリックします。

  3. 「パッケージの追加」をクリックします

  4. 次のジョブ詳細を入力します。

    • Name: ジョブのデフォルト名を保持します。
    • 説明: (オプション)説明を入力します。
  5. tmuxパッケージを検索して選択します。

    検索ツールは、パッケージ表の右上隅にあります。

    ノート:パッケージを選択すると、選択したとおりに保存されます。表に「1 selected」と表示されます。

  6. dtraceパッケージを検索して選択します。

    前のパッケージ検索を削除し、dtraceを検索します。表から選択してください。表に「2 selected」と表示されます。

  7. 「最新のみ」選択を使用します。

    デフォルトでは、リストには最新のパッケージバージョンのみが表示されます。

  8. ジョブを「即時実行」にスケジュールします。

  9. 「追加」をクリックします。

    osmh_group_add_package

    「グループ・パッケージ」タブには、2つのパッケージがリストされます。

  10. 「ジョブ」リソースをクリックし、「進行中のジョブ」タブを選択して、「Oracle_Linux_8_Hostsへのパッケージのインストール」ジョブ・ステータスを表示します。

    osmh_group_install_packages

    続行する前に、この更新ジョブが完了するまで待機し、「完了ジョブ」タブに移動します。このステップには数分かかる可能性があります。

グループマニフェストからのコンテンツの削除

  1. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

  2. 「リソース」の下の「グループ・マニフェスト」をクリックします。

  3. Group Packages」タブをクリックします。

  4. dtraceパッケージを選択し、「パッケージの削除」をクリックします。

  5. 次のジョブ詳細を入力します。

    • Name: ジョブのデフォルト名を保持します。
    • 説明: (オプション)説明を入力します。
  6. ジョブを「即時実行」にスケジュールします。

  7. 「削除」をクリックします。

    osmh_group_remove_pkg_1

    この手順では、「グループパッケージ」タブからパッケージを削除します。

  8. 「ジョブ」リソースをクリックし、「進行中のジョブ」タブを選択して、「Oracle_Linux_8_Hostsからdtraceを削除」ジョブ・ステータスを表示します。

    osmh_group_remove_pkg_2

    続行する前に、この更新ジョブが完了するまで待機し、「完了ジョブ」タブに移動します。このステップには数分かかる可能性があります。

    ソフトウェア・ソース、パッケージ、モジュールの追加や削除など、グループ・マニフェストに加えた変更は、グループの現在のメンバーに反映されます。

個々のグループ・メンバー・インスタンスの更新

グループメンバーは、添付されたソフトウェアソースをグループマニフェストで指定されているものから変更できません。グループは、メンバーが使用できる一連のソフトウェア・ソースを定義します。

ただし、グループメンバーは、個々のパッケージおよびモジュールをマニフェストから独立してインストールおよび削除できます。

個々のグループ・メンバー・インスタンスへの個々のパッケージおよびモジュールのインストール

Updatesリソースを介したインスタンスへの個別更新のインストールは、アドバイザにリストされている関連更新にのみ適用されます。

  1. 「OS管理ハブ」ナビゲーション・セクションの「インスタンス」をクリックします。

  2. グループ内のインスタンスの名前を選択して、インスタンスの詳細ページに移動します。

  3. リソースの下にリストされている「パッケージ」をクリックし、「使用可能なパッケージ」タブをクリックします。

  4. x86_64アーキテクチャの最新のzshパッケージを検索して選択します。

    検索ツールは、パッケージ表の右上隅にあります。

  5. 「インストール」をクリックします

  6. 次のように識別情報を入力します。

    • Name: デフォルトのジョブ名を保持します。
    • 説明: (オプション)説明を入力します。
  7. ジョブを「即時実行」にスケジュールします。

  8. 「インストール」をクリックします

個々のグループ メンバー インスタンス ジョブの表示

個々のグループ・メンバー・インスタンスで取得されたジョブは、個々のインスタンスの詳細ページの「ジョブ」リソースからのみ表示されます。

インスタンスの詳細ページの「ジョブ」リソースは、スケジュール済ジョブ、グループ・スケジュール済ジョブ、進行中ジョブまたは完了ジョブによってジョブを分離します。

  1. 「ジョブ」リソースをクリックし、「進行中ジョブ」タブを選択して、インストール・ジョブのステータスを表示します。

    更新が完了すると、ジョブは「完了ジョブ」タブに移動します。

    ノート:コンソールでは、更新ジョブが「進行中ジョブ」タブに表示されるまでに数分かかる場合があり、ジョブの完了には数分かかります。ジョブが表示されない場合は、ページをリフレッシュします。

  2. ol-host-02および ol-host-03Packagesリソースのパッケージ数を比較して、差異を表示します。

    個々のインスタンスには、グループマニフェストにリストされていないパッケージが含まれます。これらには次が含まれます:

    • インスタンスがグループに参加する前にインストールされたパッケージ。
    • 個々のインスタンスにインストールされたパッケージ。
    • サービスの外部にインストールされたパッケージ(たとえば、dnf installを使用)。

    次の場合に、インスタンス上にないパッケージがグループ・マニフェストに存在する場合があります。

    • パッケージが個々のインスタンスから削除されました。
    • パッケージはサービスの外部で削除されました(たとえば、dnf removeを使用)。

OSレポートの表示およびグループのインスタンス・アクティビティのモニター

レポート・リソースには、グループに関連付けられたインスタンスのセキュリティ更新、バグ更新およびインスタンス・アクティビティのリアルタイム・サマリーが表示されます。

脆弱性とアドバイザリのレポートを確認すると、グループの更新ジョブとして実行される使用可能な拡張機能、セキュリティ更新およびバグ更新を識別するのに役立ちます。

グループ・レポート・リソースの表示

グループの詳細ページの「レポート」リソースには、次のリソースが表示されます:

  1. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

  2. Oracle_Linux_8_hostsグループの詳細ページの「リソース」の下の「レポート」をクリックします。

    osmh_group_reports_1

  3. 「セキュリティ更新レポート」をクリックして、「セキュリティ更新レポート」リソースに移動します。

    osmh_group_reports_2

    この詳細ページには、グループのすべてのメンバー・インスタンスのセキュリティ更新ステータスの詳細が含まれます。セキュリティ更新レポート・リソースにリストされているアドバイザまたは更新に注意してください。更新ジョブを実行して、チュートリアルの後半でこれらに対処します。

  4. バグ更新レポート・リソースをクリックします。

    osmh_group_reports_3

    この詳細ページには、グループ内のすべてのメンバー・インスタンスのバグ更新が表示されます。バグ・レポート・リソースにリストされているアドバイザまたは更新に注意してください。更新ジョブを実行して、チュートリアルの後半でこれらに対処します。

  5. 「インスタンス・アクティビティ・レポート」リソースをクリックします。

    この詳細ページには、すべてのメンバー・インスタンスの接続ステータスが表示されます。2つのメンバー・インスタンスには、アクティブ・ステータスが表示されます。

グループのジョブの更新およびジョブのモニターの実行

レポートを確認し、グループのアドバイザおよび使用可能な更新を特定したので、ジョブを実行してグループを最新のパッチおよびコンテンツに更新します。

ジョブは、更新のインストールなど、OS管理ハブが1つ以上のインスタンスに対して実行するアクションです。ジョブが実行されると、ジョブの実行に必要な作業が実行され、作業がインスタンスにディスパッチされて、結果がサービスにレポートされます。

更新ジョブをすぐに実行することも、別の時間にスケジュールすることもできます。更新ジョブをスケジュールするときに、頻度が設定された繰返しイベントとして設定することもできます。更新ジョブは、適用してサービスに表示するのに時間がかかる場合があります。

グループの更新ジョブの作成

セキュリティ、バグ修正、拡張など、すべての更新タイプまたは特定の更新タイプと一致するインスタンスにすべての更新を適用するには、更新ジョブを作成します。

  1. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

  2. 「更新ジョブの作成」をクリックします。

  3. 次のジョブ詳細を入力します。

    • Name: ジョブのデフォルト名を保持します。
    • 説明: (オプション)説明を入力します。
  4. 「適用する更新」オプションから「すべて」を選択します。

  5. ジョブを「即時実行」にスケジュールします。

  6. 「発行」をクリックします。

    osmh_group_update_job_all_1

グループのジョブのモニター

ジョブ・リソースを使用すると、グループ・メンバーに対する作業が完了したときにジョブのステータスをモニターできます。

  1. 「ジョブ」リソースをクリックし、「進行中のジョブ」タブを選択して、更新ジョブ・ステータスを表示します。

    osmh_group_update_job_all_2

    ノート:更新ジョブの完了には数分かかり、コンソールの「進行中ジョブ」タブに数分かかる場合があります。ジョブが表示されない場合は、ページをリフレッシュします。

  2. 「進行中のジョブ」タブで、「更新をOracle_Linux_8_hostsに適用」ジョブをクリックします。

    「ジョブ作業詳細」ページには、ジョブが完了するすべての作業に関する情報が表示されます。「関連作業」リソースには、各グループ・メンバーで実行される小さいタスクがリストされます。複数のインスタンスに影響するジョブの場合、ジョブ内のどの関連作業が成功したか、失敗したかを簡単に判断できます。

    osmh_group_update_job_all_3

  3. グループの詳細ページおよび「ジョブ」リソースに戻り、「完了ジョブ」タブをクリックして、完了したすべてのジョブを表示します。

    前のチュートリアル・ステップのソフトウェア・ソースの割当てジョブやインストール・パッケージ・ジョブなどの他のジョブが表示されます。ジョブとは、グループおよびグループ・メンバーに対してOS管理ハブが実行するアクションです。

グループの繰返し更新ジョブのスケジュール

グループの繰返し更新ジョブをスケジュールでき、それらの繰返しジョブを作成したら、「ジョブ」リソースの「スケジュール済ジョブ」タブから管理および変更できます。

  1. OS管理ハブのナビゲーション・セクションで「グループ」をクリックし、Oracle_Linux_8_hostsをクリックします。

  2. 「更新ジョブの作成」をクリックします。

  3. 次のジョブ詳細を入力します。

    • Name: ジョブのデフォルト名を保持します。
    • 説明: (オプション)説明を入力します。
  4. 「適用する更新」オプションから「すべて」を選択します。

  5. 「スケジュール」を選択します。

  6. カレンダ・アイコンをクリックし、今日の日付を選択して、ジョブを現在から30分間スケジュールします。

  7. 頻度として「週」を選択します。

  8. 「間隔(週)」1に設定します。

    このステップでは、繰返し更新ジョブが毎週平日にスケジュールされ、スケジュール選択から設定された時間にスケジュールされます。

  9. 自動再試行を有効にしたままにします。

    ジョブの初期実行が失敗した場合、サービスはジョブを最大3回再試行します。各再試行は5分間隔です。

  10. 「発行」をクリックします。

    osmh_group_recurring_schedule

  11. OS管理ハブ・セクションの「ジョブ」ページの「スケジュール済ジョブ」タブで、更新ジョブのステータスを表示します。

    スケジュールされたジョブが表示されない場合は、しばらく待ってからページをリフレッシュします。

このスケジュール済更新ジョブにより、すべてのグループ・メンバーが、グループ・マニフェストで定義された最新バージョンのコンテンツに定期的に更新されます。

次のステップ

このチュートリアルを完了することで、OS管理ハブでグループを使用してOracle Linux OSコンテンツの管理、Oracle Linux OS更新のスケジュールと実行、更新ジョブのモニターを行うことを学習しました。グループは、必要な更新を迅速かつ効率的にすべてのグループ・メンバーに適用することで、大規模なOracle Linuxデプロイメントのメンテナンスを簡素化できます。

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。