initdata: Kein Speicher für Kernel-Puffer

8

Ich habe kürzlich meine SQL Server 2017 Developer Edition unter RedHat Enterprise Linux 7.6 auf SQL Server 2019 CTP 3.0 aktualisiert.

Der mssql-Server-Dienst wird nicht mehr gestartet. / var / opt / mssql / log / errorlog zeigt Folgendes:

2019-06-12 09: 36: 31.98 Server Microsoft SQL Server 2019 (CTP3.0) - 15.0.1600.8 (X64)
17. Mai 2019 00:56:19
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-Bit) aktiviert Linux (Red Hat Enterprise Linux)
2019-06-12 09: 36: 32.04 Server-UTC-Anpassung: -5: 00
2019-06-12 09: 36: 32.05 Server (c) Microsoft Corporation.
2019-06-12 09: 36: 32.07 Server Alle Rechte vorbehalten.
2019-06-12 09: 36: 32.08 Server Server-Prozess-ID ist 32.
2019-06-12 09: 36: 32.09 Server Protokollierung von SQL Server-Nachrichten in der Datei '/ var / opt / mssql / log / errorlog'.
2019-06-12 09: 36:
32.10 Startparameter der Serverregistrierung : -d /var/opt/mssql/data/master.mdf
-l /var/opt/mssql/data/mastlog.ldf
-e / var / opt / mssql / log / errorlog
2019-06-12 09: 36: 32.15 Startparameter der Server-Befehlszeile:
--accept-eula
2019-06 -12 09: 36: 32.18 Server SQL Server hat 1 Sockets mit 4 Kernen pro Socket und 4 logischen Prozessoren pro Socket erkannt, insgesamt 4 logische Prozessoren. Verwenden von 4 logischen Prozessoren basierend auf der SQL Server-Lizenzierung. Dies ist eine Informationsnachricht. Es ist keine Benutzeraktion erforderlich.
2019-06-12 09: 36: 32.20 Server SQL Server startet mit normaler Prioritätsbasis (= 7). Dies ist nur eine Informationsnachricht. Es ist keine Benutzeraktion erforderlich.
2019-06-12 09: 36: 32.23 Server 7856 MB RAM erkannt. Dies ist eine Informationsnachricht. Es ist keine Benutzeraktion erforderlich.
2019-06-12 09: 36: 32.24 Server Verwenden des herkömmlichen Speichers im Speichermanager.
2019-06-12 09: 36: 32.28 Die Server Buffer Pool-Erweiterung wird auf der Linux-Plattform nicht unterstützt.
2019-06-12 09: 36: 32.29 Serverfehler: 17128, Schweregrad: 16,
Status : 1. 2019-06-12 09: 36: 32.29 Serverinitiationsdaten: Kein Speicher für Kernelpuffer.

/var/opt/mssql/mssql.conf Inhalt:

[sqlagent]
enabled = false

systemctl status mssql-server zeigt an:

mssql-server.service - Microsoft SQL Server-Datenbankmodul
Geladen: geladen (/usr/lib/systemd/system/mssql-server.service; aktiviert; Hersteller-Voreinstellung: deaktiviert)
Aktiv: fehlgeschlagen (Ergebnis: Startlimit ) seit Montag 2019 -06-17 13:57:45 CDT; Vor 26 Minuten
Docs: https://docs.microsoft.com/en-us/sql/linux
Prozess: 71357 ExecStart = / opt / mssql / bin / sqlservr (Code = beendet, Status = 1 / FAILURE)
Haupt-PID: 71357 ( code = beendet, status = 1 / FAILURE)
Aufgaben: 0
CGroup: /system.slice/mssql-server.service

17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service: Hauptprozess beendet, Code = beendet, Status = 1 / FAILURE
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [ 1]: Die Einheit mssql-server.service ist in den Status "Fehlgeschlagen" eingetreten.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service fehlgeschlagen.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Wartezeit für mssql-server.service abgelaufen, Neustart geplant.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Microsoft SQL Server-Datenbankmodul gestoppt.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Startanforderung für mssql-server.service zu schnell wiederholt
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Microsoft SQL Server Database Engine konnte nicht gestartet werden.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Die Einheit mssql-server.service ist in den Status "Fehlgeschlagen" eingetreten.
17. Juni 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service fehlgeschlagen.

Ich habe es versucht yum remove mssql-server, gefolgt von yum install mssql-server, aber keine Änderung.

Irgendwelche Ideen?

Der Versuch, die mssql-conf setupausführbare Datei als root auszuführen , führt zu folgenden Ergebnissen:

[root @ rhel72-sqlserver bin] # sudo ./mssql-conf setup
usermod: keine Änderungen
Wählen Sie eine Edition von SQL Server:
1) Evaluierung (kostenlos, keine Produktionsnutzungsrechte, 180-Tage-Limit)
2) Entwickler (kostenlos, nein Produktionsnutzungsrechte)
3) Express (kostenlos)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID) - CPU-Core-Auslastung auf 20 physische / 40 Hyperthreads beschränkt
7) Enterprise Core (PAID) - CPU-Core-Auslastung bis zum Betriebssystem Maximum
8) Ich habe eine Lizenz über einen Einzelhandelsvertriebskanal gekauft und muss einen Produktschlüssel eingeben.

Details zu Editionen finden Sie unter
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Die Verwendung von PAID-Editionen dieser Software erfordert eine separate Lizenzierung über ein
Microsoft Volume Licensing-Programm.
Durch Auswahl einer PAID-Edition stellen Sie sicher, dass Sie über die entsprechende
Anzahl von Lizenzen verfügen , um diese Software zu installieren und auszuführen.

Geben Sie Ihre Edition ein (1-8): 2
Die Lizenzbedingungen für dieses Produkt finden Sie unter
/ usr / share / doc / mssql-server oder können sie herunterladen von:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid = 0x409

Die Datenschutzerklärung kann unter folgender Adresse eingesehen werden:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Geben Sie das SQL Server-Systemadministratorkennwort ein:
Bestätigen Sie das SQL Server-Systemadministratorkennwort:
Konfigurieren von SQL Server ...

Dies ist eine Evaluierungsversion. Im Bewertungszeitraum verbleiben [153] Tage.
Dieses Programm hat einen schwerwiegenden Fehler festgestellt und kann am Montag, 17. Juni, 14:35:43 Uhr 2019 nicht weiter ausgeführt werden.
Die folgenden Diagnoseinformationen sind verfügbar:

  Reason: 0x00000007  
  Status: 0xc0000218  
 Message: Cannot open or read the persistent registry: \SystemRoot\security.hiv.  

Stapelüberwachung:
000000006bd347d0
000000006bd31af7
000000006bd31d3a
000000006bd30ea5
000000006bd2faf7
000000006bd73371
Prozess: 75209 - sqlservr
Thread: 75213 (Anwendungsthread 0x4)
Instance Id: ffcf27f9-18a5-485a-8a9d 34482c5efe06-
Crash - Id: cb1238f4-2504-457c-BBB3 d7ecad750aec-
Build - Stempel: fbef7d3acfbedcf62a42c8909366dbba3852b92cabb497c2169680835fd60276
Verteilung: Red Hat Enterprise Linux
Prozessoren: 4
Gesamtspeicher: 16637898752 Byte
Zeitstempel: Montag, 17. Juni, 14:35:43 2019

Red Hat Enterprise Linux
Erfassen des Kernspeicherauszugs und der Informationen in / var / opt / mssql / log ...
Hinweis: Derzeit werden keine Nachrichten von anderen Benutzern und dem System angezeigt .
Benutzer in der Gruppe 'systemd-journal' können alle Nachrichten sehen. Übergeben Sie -q,
um diesen Hinweis auszuschalten.
Aufgrund unzureichender Berechtigungen wurden keine Journaldateien geöffnet.
Hinweis: Derzeit werden keine Nachrichten von anderen Benutzern und dem System angezeigt.
Benutzer in der Gruppe 'systemd-journal' können alle Nachrichten sehen. Übergeben Sie -q,
um diesen Hinweis auszuschalten.
Aufgrund unzureichender Berechtigungen wurden keine Journaldateien geöffnet.
/ usr / bin / tail: '/ var / log / messages' kann nicht zum Lesen geöffnet werden: Berechtigung verweigert
Versuch, einen Speicherauszug mit paldumper zu erfassen Erfasst
einen Speicherauszug mit paldumper
/ usr / bin / find: '/usr/share/polkit-1/rules.d': Berechtigung verweigert
/ usr / bin / find: '/ usr / libexec / initscripts / Legacy-Actions / auditd ': Berechtigung verweigert
Core-Dump und Informationen werden im Hintergrund komprimiert. Wenn sie
abgeschlossen sind, befinden sie sich an folgendem Speicherort:
/var/opt/mssql/log/core.sqlservr.06_17_2019_14_35_43.75209.tbz2
Die Ersteinrichtung von Microsoft SQL Server ist fehlgeschlagen.
Weitere Informationen finden Sie im ERRORLOG unter / var / opt / mssql / log.
[root @ rhel72-sqlserver bin] #

Ich bin am Server als angemeldet root, daher verstehe ich nicht, warum Fehler "Zugriff verweigert" angezeigt werden.

Max Vernon
quelle
Vorschlag: Versuchen Sie, einen Swap-Speicher (4 oder 8 GB) hinzuzufügen.
Ypercubeᵀᴹ

Antworten:

2

Da ich die Smarty-Pants bin, dachte ich, es wäre einfacher, sich einfach als Root bei meinem RHEL-System anzumelden, als ich es nicht sudojedes Mal tun müsste .

Es stellte sich heraus, dass das ein Fehler war.

Ich konnte meine Installation reparieren, indem ich mich mit meinem "normalen" Linux-Konto anmeldete und dann sudo-Befehle gemäß den Dokumenten ausführte, um SQL Server-Binärdateien aus dem Microsoft-Repo zu entfernen und erneut zu installieren. Ich musste auch die folgenden Befehle ausführen, um den Besitz und die Gruppenmitgliedschaft für Dateisystemobjekte für meine vorhandenen Ordner / var / opt / mssql / * zurückzusetzen:

chown -R mssql /var/opt/mssql/*
chgrp -R mssql /var/opt/mssql/*

Moral der Geschichte, schießen Sie sich nicht in den Fuß. Es tut weh. Na ja, ich glaube, ich habe noch ein kleines Kapitel für mein Buch:

Abenteuer unter Linux, AKA, es wird NIEMALS das Jahr von Linux auf dem Desktop sein.

Max Vernon
quelle