[LINUX] [Revision] Der OS Management Service wurde für Oracle Cloud Infrastructure veröffentlicht.

2020/02/11 Kompatibel mit der Region Tokio </ font>

Ich habe Artikel von OS Management Service am 2019/12 geschrieben, aber die Einstellung wurde aufgrund fehlender Beschreibung im Handbuch nicht abgeschlossen. Es war. Da das Handbuch danach stark erweitert wurde und der ursprüngliche Artikel experimentelle Operationen enthielt, beschloss ich, es mit neuen Ergänzungen und Korrekturen zu schreiben.

1. OS Management Service freigegeben!

** OS Management Service ** wurde veröffentlicht. Diese Funktion wurde bereits in OOW 2019 und im Oracle Linux im Oracle Cloud Infrastructure Blog eingeführt.

Zu diesem Zeitpunkt (2020/02) sind jedoch zwei Punkte zu beachten.

** 1. Punkt: ** Es werden nur die folgenden Regionen bereitgestellt. Unterstützt die Region Tokio und die Region Seoul am 02/11/2020

OS Management Service is currently generally available in the following Oracle Cloud Infrastructure regions: US East (Ashburn), US West (Phoenix), Canada Southeast (Toronto), UK South (London), Germany Central (Frankfurt),, Japan East (Tokyo), South Korea Central (Seoul), Brazil East (Sao Paulo), and Australia East (Sydney).

** Zweiter Punkt: ** Das Ziel des Dienstes ist Oracle Linux 6/7/8, und Oracle Autonomous Linux ist nicht enthalten. </ font> Die folgenden Blogs scheinen auch Oracle Autonomous Linux zu behandeln, aber zumindest derzeit nicht.

This service is included by default with Oracle Autonomous Linux images provided by Oracle Cloud Infrastructure, and you don’t need to install any special software to enable OS Management Service.

Anfangs dachte ich, es sei auf Oracle Autonomous Linux ausgerichtet, also schrieb ich es mit dem folgenden Anfang. Hallo!

Ich interessierte mich für Linux-Liebhaber ** Oracle Autonomous Linux </ font> **. Ich glaube, ich habe den frühesten und detailliertesten Artikel der Welt geschrieben.

Endlich wurde der lang erwartete OS Management Service veröffentlicht.

2. Sehen Sie sich das Handbuch an

Werfen wir einen kurzen Blick auf das Handbuch "Übersicht über die Betriebssystemverwaltung".

The Oracle Cloud Infrastructure OS Management service provides tools for common operating system management tasks for Compute instances, focusing initially on managing software packages for Oracle Linux instances.

** OS Management Service ist ein Betriebssystemverwaltungstool für Compute-Instanzen, das zunächst Paketverwaltungsfunktionen für Linux-Instanzen bereitstellt. ** </ font>

Im Folgenden sind einige der Orte aufgeführt, an denen Sie interessiert sind.

  • Der OS Management Agent muss installiert sein, um Compute-Instanzen mit dem OS Management Service verwalten zu können
  • Wenn der OS Management Service aktiviert ist, können Pakete für Compute-Instanzen referenziert / hinzugefügt / aktualisiert / gelöscht werden.
  • Im OS Management Service registrierte Recheninstanzen können einzeln oder in Gruppen gepatcht verwaltet werden.
  • Die Verwaltung von Recheninstanzpaketen kann sofort ausgeführt oder (einmal in regelmäßigen Abständen) als Job geplant werden.
  • Zielbetriebssystem ist Oracle Linux 6/7/8
  • Für Compute-Instanzen, die beim OS Management Service registriert sind, werden vorhandene Yum-Repository-Einstellungen ungültig.
  • Beim OS Management Service registrierte Recheninstanzen beziehen sich auf die Yum-Repository-Informationen mit dem Namen "Software Source" im Stammfach.
  • Wenn der Mandant den OS Management Service zum ersten Mal verwendet, dauert es 60 bis 90 Minuten, bis die Compute-Instanz registriert ist.

Eines der wichtigsten Dinge hier ist, dass ** "Zielbetriebssystem Oracle Linux 6/7/8" ** ist. Oracle Autonomous Linux ist nicht enthalten.

Wenn Sie ruhig denken, sind beide Richtlinien genau das Gegenteil.

  • ** Oracle Autonomous Linux: ** Täglich automatisch gepatcht. Der Administrator ist nicht an der Patch-Verwaltung beteiligt.
  • ** OS Management Service: ** Der Administrator verwaltet das Patchen. Effiziente Implementierung für mehrere Instanzen manuell oder automatisch (Zeitplan im Voraus).

Oracle Autonomous Linux wird möglicherweise auch in Zukunft unterstützt, ist jedoch derzeit aufgrund unterschiedlicher Verwaltungsrichtlinien weniger erforderlich.

3. Architektur des OS Management Service

Vor dem eigentlichen Einstellen werden der Mechanismus des OS Management Service und die Hauptkomponenten erläutert. Die folgende Abbildung ist ein Architekturdiagramm, das aus der Beschreibung im Handbuch und der tatsächlichen Forschung abgeleitet wurde.

osms-arch00.PNG

OS Management Service
Die Entität, die die Funktionen der Betriebssystemverwaltung bereitstellt. Es bietet nicht nur Informationen zu verwalteten Instanzen, sondern installiert und aktualisiert auch Pakete für Instanzen. Entspricht der OMS + Repository-Datenbank in Oracle Enterprise Manager
OS Management Agent
Agent (osms-agent), der auf einer verwalteten Instanz ausgeführt wird. Installation nach dem Erstellen einer Instanz
Verwaltete Instanz
Bei der Betriebssystemverwaltung registrierte Recheninstanz. osms-agent wird ausgeführt und verschiedene Vorgänge können über den OS Management Service ausgeführt werden. Außerdem werden die Repository-Informationen (/etc/yum.repos.d/*repo) der registrierten Instanz ungültig gemacht
Softwarequellen
Yum-Repository-Informationen, die zentral auf der Serverseite verwaltet werden. Die Standardsoftwarequelle befindet sich im Stammfach Ihres Mandanten, aber die Entität besteht aus Yum-Repository-Informationen (entspricht einer Repo-Datei), die in der Verwaltungsinformationsdatenbank gespeichert sind
Oracle Linux Yum Repository
Das Yum-Repository von Oracle Linux enthält das "Public Yum-Repository", auf das von überall zugegriffen werden kann, und das "Yum-Repository, das für jede OCI-Region vorbereitet wurde", auf das nur über OCI zugegriffen werden kann.

Von diesen sind ** Softwarequellen ** besonders schwer zu verstehen. Im Moment gibt es jedoch kein Problem mit dem Verständnis von "demjenigen, der Yum-Repository-Informationen auf der Serverseite zentral verwaltet und bereitstellt". Es ist so kompliziert wie es ist, so dass Sie es möglicherweise nicht wissen, es sei denn, Sie lesen das Handbuch und bedienen es tatsächlich.

4. Einrichten des OS Management Service

Erläutert das Einrichten des OS Management Service. Die Hauptaufgaben sind "Erteilen von Berechtigungen" und "Installieren von Agenten". Mit dieser Einstellung können die Mindestfunktionen verwendet werden.

Hündinnenmodus. Das offizielle Handbuch der ursprünglichen Version wurde schlecht erstellt, und die für die Einstellung erforderlichen Mindestinformationen wurden weggelassen. Es wurde überarbeitet und erfüllt, aber es ist immer noch schwierig. Es ist stressig!

4-1. Voraussetzungen für die Verwendung des OS Management Service

Die folgenden Bedingungen müssen erfüllt sein, um die Betriebssystemverwaltung verwenden zu können.

  • Muss die Zielregion des OS Management Service sein
  • Sie müssen ** "Instanzen mit Oracle Cloud Agent verwalten" ** aktiviert haben, wenn Sie eine Compute-Instanz erstellen.
  • Service Gateway oder NAT Gateway können im privaten Subnetz verwendet werden
  • Internet Gateway in öffentlichen Subnetzen verfügbar
  • Zielbetriebssystem ist Oracle Linux 6/7/8

4-2. Einrichtungsverfahren

Das Verfahren zum Einrichten der Betriebssystemverwaltung ist wie folgt. Zusätzlich zum Erteilen von Richtlinien (Berechtigungen) an den Administrator der Betriebssystemverwaltung muss der Instanzprinzipal so konfiguriert werden, dass verwaltete Instanzen die Betriebssystemverwaltung verwenden können.

** 1. Richtlinieneinstellungen für den Administrator der Betriebssystemverwaltung **

  • Weisen Sie Benutzern Benutzer zu, die die Betriebssystemverwaltung über Konsole, CLI oder REST betreiben

** 2. Einrichten eines Instanzprinzips ** --Erstellen einer dynamischen Gruppe

  • Richtlinienzuweisung zu dynamischen Gruppen

** 3. Installieren Sie den OS Management Agent auf einer verwalteten Instanz **

Dies ist das Ende der Mindestarbeit. Zum Zeitpunkt der Erstregistrierung ist es 60 bis 90 Minuten nach Ausführung von 3 verfügbar.

4-3. Bestätigung des Ausgangszustands

Überprüfen Sie den Status vor dem Einstellen. Melden Sie sich bei der Administrationskonsole an, um Instanzdetails anzuzeigen. Klicken Sie unten links auf ** [Betriebssystemverwaltung] **, um Folgendes anzuzeigen. Das Menü ** [OS Management] ** wird in nicht konformen Regionen wie der Region Tokio nicht angezeigt.

osmanage01.PNG

Wie in den Voraussetzungen erläutert, muss ** [Oracle Cloud Agent zum Verwalten dieser Instanz verwenden] ** beim Erstellen der Instanz aktiviert sein. Es ist standardmäßig in neuen Instanzen aktiviert, daher ist es eine gute Idee, eine neue zu erstellen.

Diese Option wird angezeigt, indem Sie auf der Instanziierungsseite auf ** Erweiterte Optionen anzeigen ** klicken.

autonomous11.PNG

4-4. Richtlinieneinstellung für den Administrator der Betriebssystemverwaltung

Weisen Sie Benutzern Richtlinien zu, die die Betriebssystemverwaltung über die Konsole, die CLI oder REST betreiben. Da es nicht direkt dem Benutzer zugewiesen werden kann, geben Sie die Gruppe an, zu der der Benutzer gehört.

  1. Wählen Sie in der Verwaltungskonsole ** [Identität] - [Richtlinien] ** aus.
  2. Erstellen Sie eine Richtlinie mit den folgenden Inhalten.
Artikel Wert
NAME OsmsAdmin_policy
DESCRIPTION for OS Management Admin Group
Policy Statements ERLAUBEN Sie der Gruppe , Osmmen zu verwalten-Familie im Abteil
ERLAUBEN Sie der Gruppe <Gruppenname>, Osmmen zu verwalten-Familie im Abteil <Abteilname>

Es ist kein Problem, wenn es sich um eine von Ihnen erstellte Instanz handelt, Sie benötigen jedoch die READ-Berechtigung für die verwaltete Instanz.

4-5 Einrichten des Instanzprinzips

Der OS Management Service erfordert nicht nur die Steuerung über die Verwaltungskonsole, sondern auch die umgekehrte Steuerung über die verwaltete Instanz. Erstellen Sie daher dynamische Gruppen und Richtlinien, um Instanzprinzipien zu konfigurieren.

4-5-1. Erstellen einer dynamischen Gruppe

  1. Wählen Sie in der Verwaltungskonsole ** [Identität] - [Dynamische Gruppen] ** aus.
  2. Erstellen Sie eine dynamische Gruppe mit den folgenden Inhalten.
Artikel Wert
NAME OsmsManagedInstance_dgrp
DESCRIPTION for OS Management Service
Matching Rules ANY {instance.compartment.id = ''}

Regelbeispiel


ANY {instance.compartment.id = 'ocidv1:compartment:oc1:phx:samplecompartmentocid6q6igvfauxmima74jv', instance.compartment.id = 'ocidv1:compartment:oc1:phx:samplecompartmentocidythksk89ekslsoelu2'}

4-5-2. Richtlinienzuweisung

  1. Wählen Sie in der Verwaltungskonsole ** [Identität] - [Richtlinien] ** aus.
  2. Erstellen Sie eine Richtlinie mit den folgenden Inhalten.
Artikel Wert
NAME OsmsInstancePrincipal_policy
DESCRIPTION for OS Management Service
Policy Statements1 Allow dynamic-group <dynamic group name> to use osms-managed-instances in tenancy
Policy Statements2 ALLOW dynamic-group <dynamic group name> to read instance-family in tenancy
Policy Statements3 ALLOW service osms to read instances in tenancy

Richtlinienbeispiel


Allow dynamic-group OsmsManagedInstance_dgrp to use osms-managed-instances in tenancy
ALLOW dynamic-group OsmsManagedInstance_dgrp to read instance-family in tenancy 
ALLOW service osms to read instances in tenancy

4-6. Installation des OS Management Agent

Installieren Sie den OS Management Agent (osms-agent) auf der verwalteten Instanz.

  1. Melden Sie sich mit ssh bei der Instanz an.

  2. Stellen Sie sicher, dass das Repository mit osms-agent aktiviert ist. Es ist in Ordnung, wenn oci_yum_included oder ol7_ociyum_configm aktiviert ist. Weitere Informationen zum Repository finden Sie unter diesem Eintrag.

# yum repolist enabled
Loaded plugins: langpacks, ulninfo
repo id                         repo name                                              status
ol7_UEKR5/x86_64                Latest Unbreakable Enterprise Kernel Release 5 for Ora   193
ol7_addons/x86_64               Oracle Linux 7Server Add ons (x86_64)                    387
★ weggelassen
ol7_oci_included/x86_64 Oracle Software für OCI-Benutzer unter Oracle Linux 7Server 117 ★ Dies
ol7_optional_latest/x86_64      Oracle Linux 7Server Optional Latest (x86_64)          11778
ol7_software_collections/x86_64 Software Collection Library release 3.0 packages for O 14300
repolist: 77122
  1. Installieren Sie osms-agent. Der osms-agent ist nach 2020/1/28 auf Oracle Linux-Images vorinstalliert.
# yum install osms-agent -y
★ weggelassen
Running transaction
  Installing : osms-agent-0.0.1-444.el7.x86_64                                  1/1
  Verifying  : osms-agent-0.0.1-444.el7.x86_64                                  1/1

Installed:
  osms-agent.x86_64 0:0.0.1-444.el7

Complete!
  1. Sie können sehen, dass der osms-agent-Dienst ausgeführt wird.
# systemctl is-active osms-agent
active
  1. Die Ersteinrichtung dauert einige Zeit. Lassen Sie sie daher für alle Fälle mindestens 2 Stunden lang. Wenn die Einstellung abgeschlossen ist, ändert sich die Anzeige der Verwaltungskonsole wie folgt.

osms-con04.PNG

Die Registrierung für die zweite und die nachfolgenden Einheiten wird sofort nach Abschluss der Ersteinrichtung abgeschlossen.

** Fehlerbehebung ** </ font> Wenn sich der Bildschirm nach 2 Stunden oder länger nicht ändert und die folgenden Dateien weiterhin alle paar Minuten Fehler anzeigen, starten Sie Postfix. Dann lassen Sie es für 2 Stunden.

/var/log/messages /var/log/osms-agent/agent.log

Starten Sie Postfix


# systemctl start postfix

Ich habe verschiedene Dinge gleichzeitig getan, daher habe ich die Grundursache nicht gefunden. .. .. .. Bitte unterrichte mich.

** Tipps ** </ font> Das Syslog von osms-agent kann mit dem folgenden Befehl einfach extrahiert werden. </ font>

# journalctl -u osms-agent

5. Überprüfen Sie den Status nach dem Einstellen

Lassen Sie uns nach der Konfiguration einen Blick in die Verwaltungskonsole und die verwaltete Instanz werfen.

5-1. Überprüfen der Verwaltungskonsole

  1. Zeigen Sie Details zur Recheninstanz an. osms-con04.PNG

  2. Klicken Sie rechts auf ** "..." **, um ein Popup anzuzeigen. Es gibt drei Menüs: Details zur Betriebssystemverwaltung anzeigen, Sicherheitsupdates installieren und Alle Upadates installieren. osms-con05.PNG

  3. Klicken Sie auf ** "OS Management Details anzeigen" **, um die nächste Seite anzuzeigen. osms-con06.PNG

  4. Wählen Sie als Nächstes ** [Compute] - [OS Management] ** aus dem Menü der Verwaltungskonsole. Hier wird ** [Softwarequellen] ** angezeigt. Hier wird nur ein Teil angezeigt, der mehrere Seiten umfasst. osms-con03.PNG

  5. Im nächsten Bildschirm erstellen Sie eine Instanzgruppe und haben zwei Instanzen als Mitglieder. Durch Gruppieren können Sie mehrere Instanzen anweisen, gleichzeitig zu aktualisieren. osms-con08.PNG

** Achtung ** Nur Mitglieder derselben Version und des gleichen Betriebssystemtyps können Mitglieder derselben Instanzgruppe sein.

5-2. Bestätigung der verwalteten Instanz

Melden Sie sich mit ssh bei der Instanz an und überprüfen Sie die Repo-Datei.

Nach der Installation von osms-agent und dem Abschluss der OS Management Service-Konfiguration werden alle Repo-Dateien wie folgt umbenannt:

$ ls /etc/yum.repos.d/
ksplice-ol7.repo.osms-backup                oracle-linux-ol7.repo.osms-backup
ksplice-uptrack.repo.osms-backup            oracle-softwarecollection-ol7.repo.osms-backup
oci-included-ol7.repo.osms-backup           uek-ol7.repo.osms-backup
oracle-epel-ol7.repo.osms-backup            virt-ol7.repo.osms-backup
oraclelinux-developer-ol7.repo.osms-backup

Der Befehl yum liest die Datei /etc/yum.repos.d / *. Repo, daher mache ich mir Sorgen, ob yum damit verwendet werden kann. Wenn Sie jedoch das Repository überprüfen, können Sie feststellen, dass es verfügbar ist (es dauert einige Zeit, bis die Metadaten beim ersten Mal synchronisiert sind).

# yum repolist enabled
Loaded plugins: langpacks, osmsplugin, ulninfo
This system is receiving updates from OSMS.★ Der Punkt ist, dass es OSMS ist ★
repo id                         repo name                                 status
ol7_addons-x86_64               Oracle Linux 7Server Add ons (x86_64)        245
ol7_developer-x86_64            Oracle Linux 7Server Development Packages    650
ol7_developer_epel-x86_64       Oracle Linux 7Server Development Packages 20,231
ol7_ksplice-x86_64              Ksplice for Oracle Linux 7 (x86_64)        6,749
ol7_latest-x86_64               Oracle Linux 7Server Latest (x86_64)      12,370
ol7_oci_included-x86_64         Oracle Software for OCI users on Oracle L    117
ol7_optional_latest-x86_64      Oracle Linux 7Server Optional Latest (x86  9,710
ol7_software_collections-x86_64 Software Collection Library release 3.0 p  9,983
ol7_uekr5-x86_64                Latest Unbreakable Enterprise Kernel Rele    195
repolist: 60,250

Als ich mich fragte warum, fand ich eine verdächtige Datei in osms-agent.

# rpm -qf /usr/share/yum-plugins/osmsplugin.py
osms-agent-0.0.1-444.el7.x86_64

Die erste Zeile ist das Copyright von Red Hat. Wenn Sie sich den Code danach ansehen, wird der Yum-Befehl angeschlossen und auf das Remote-Repository (OSMS-Kanäle) verwiesen. Ein Remote-Repository ist eine Betriebssystemverwaltung ** "Softwarequelle" **.

/usr/share/yum-plugins/osmsplugin.py


# Copyright (c) 1999-2016 Red Hat, Inc.  Distributed under GPLv2.
★ weggelassen
 def init_hook(conduit):
     """
     Plugin initialization hook. We setup the Spacewlk channels here.

     We get a list of OSMS channels from the server, then make a repo obj
     each one. This list of repos is then added to yum's list of repos vi
     conduit.
     """

     global rhn_enabled, external_proxy_dict

     conduit_conf = conduit.getConf()
     timeout = conduit.confFloat('main', 'timeout', conduit_conf.timeout)

Der Grund, warum es das Copyright von Red Hat ist, ist ** Red Hat Satellite ** / ** [Spacewalk](https: // spacewalkproject) Weil ich den Code von .github.io /) ** verwende.

Als nächstes hat osms-agent eine Sitzung, wenn ich es mit netstat überprüfe. 169.254.169.254 ist das interne Netzwerk von OCI und 129.146.12.149 ist das Oracle Service Network der Region Phoenix (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/addressranges.htm). Dies ist die globale IP, die von # osn-Bereichen verwendet wird.

# netstat -anp | grep osms
tcp        0      0 127.0.0.1:9003          0.0.0.0:*               LISTEN      2173/osms-agent
tcp        1      0 10.0.2.23:54778         169.254.169.254:80      CLOSE_WAIT  2173/osms-agent
tcp       32      0 10.0.2.23:39368         129.146.12.149:443      CLOSE_WAIT  2173/osms-agent
tcp        1      0 10.0.2.23:54776         169.254.169.254:80      CLOSE_WAIT  2173/osms-agent
unix  2      [ ACC ]     STREAM     LISTENING     26635    2173/osms-agent      ///var/lib/osms-agent/osms-agent.sock
unix  3      [ ]         STREAM     CONNECTED     25321    2166/osms-agent

5-3. So stornieren Sie die Registrierung

Die manuelle Beschreibung bezüglich der Abmeldung scheint sich von Tag zu Tag weiterzuentwickeln. Die neuesten Informationen finden Sie im Handbuch.

  1. Stoppen und deaktivieren Sie osms-agent.
# systemctl stop osms-agent
# systemctl disable osms-agent
  1. Wenn möglich von Instanzen / Gruppen ausschließen.
  2. Führen Sie den folgenden Befehl aus, um die Definition der Repo-Datei wiederherzustellen.
# osms unregister
# yum clean all
  1. Stellen Sie sicher, dass die Erweiterung der Repo-Datei wiederhergestellt ist.
# ls /etc/yum.repos.d/
ksplice-ol7.repo       oracle-epel-ol7.repo            oracle-softwarecollection-ol7.repo
ksplice-uptrack.repo   oraclelinux-developer-ol7.repo  uek-ol7.repo
oci-included-ol7.repo  oracle-linux-ol7.repo           virt-ol7.repo

6. Zusammenfassung

Ich benutze nicht alle Funktionen, aber ich werde es mit einigem Rätselraten schreiben.

  • ** OS Management Service ist ein Dienst für Oracle Linux 6/7/8. Gilt nicht für Oracle Autonomous Linux </ font> **
  • ** Paketverwaltung für mehrere Servergruppen ist möglich </ font> **
  • ** Der OS-Verwaltungsdienst ist Red Hat Satellite und sein Klon [Spacewalk]( Managed Service-Version von Paketverwaltungstools wie https://spacewalkproject.github.io/) </ font> **

Wie Sie anhand der tatsächlichen Bedienung sehen können, ist das Einstellen / Bedienen des OS Management Service aufgrund der Schwierigkeit des Handbuchs nicht einfach. Da es sich um einen verwalteten Dienst handelt, ist dies nicht so langwierig wie die lokale Bereitstellung von Red Hat Satellite oder Spacewalk. Sie können den Effekt jedoch möglicherweise erst erkennen, wenn Sie über mindestens ein Dutzend oder mehr Knoten verfügen.

Und wenn es sich um eine Unternehmensfunktion handelt, würde ich gerne die "Repository-Snapshot-Funktion" auf Red Hat Satellite sehen.

Das Handbuch sagt ** anfänglich fokussieren **, daher bin ich sicher, dass es in Zukunft erweitert wird.