initdata: Pas de mémoire pour les tampons du noyau

8

J'ai récemment mis à niveau mon SQL Server 2017 Developer Edition sur RedHat Enterprise Linux 7.6 vers SQL Server 2019 CTP 3.0.

Le service mssql-server ne démarre plus. / var / opt / mssql / log / errorlog affiche ce qui suit:

2019-06-12 09: 36: 31.98 Serveur 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) on Linux (Red Hat Enterprise Linux)
2019-06-12 09: 36: 32.04 Ajustement UTC du serveur: -5: 00
2019-06-12 09: 36: 32.05 Serveur (c) Microsoft Corporation.
2019-06-12 09: 36: 32.07 Serveur Tous droits réservés.
2019-06-12 09: 36: 32.08 Serveur L'ID de processus serveur est 32.
2019-06-12 09: 36: 32.09 Serveur Journalisation des messages SQL Server dans le fichier '/ var / opt / mssql / log / errorlog'.
2019-06-12 09: 36: 32.10 Paramètres de démarrage du registre du serveur:
-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 Paramètres de démarrage de la ligne de commande du serveur: --accept-eula
2019-06 -12 09: 36: 32.18 Server SQL Server a détecté 1 sockets avec 4 cœurs par socket et 4 processeurs logiques par socket, 4 processeurs logiques au total; en utilisant 4 processeurs logiques basés sur les licences SQL Server. Ceci est un message informatif; Aucune action de l'utilisateur n'est requise.
2019-06-12 09: 36: 32.20 Server SQL Server démarre à la base de priorité normale (= 7). Il s'agit d'un message d'information uniquement. Aucune action de l'utilisateur n'est requise.
2019-06-12 09: 36: 32.23 Serveur détecté 7856 Mo de RAM. Ceci est un message informatif; Aucune action de l'utilisateur n'est requise.
2019-06-12 09: 36: 32.24 Serveur Utilisation de la mémoire conventionnelle dans le gestionnaire de mémoire.
2019-06-12 09: 36: 32.28 L'extension du pool de mémoire tampon du serveur n'est pas prise en charge sur la plate-forme Linux.
2019-06-12 09: 36: 32.29 Erreur du serveur: 17128, gravité: 16, état: 1.
2019-06-12 09: 36: 32.29 Initdata du serveur: pas de mémoire pour les tampons du noyau.

/var/opt/mssql/mssql.conf contenu:

[sqlagent]
enabled = false

systemctl status mssql-server montre:

mssql-server.service - Moteur de base de données Microsoft SQL Server
chargé: chargé (/usr/lib/systemd/system/mssql-server.service; activé; préréglage fournisseur: désactivé)
Actif: échoué (résultat: limite de démarrage) depuis lun 2019 -06-17 13:57:45 CDT; Il y a 26min
Docs: https://docs.microsoft.com/en-us/sql/linux
Process: 71357 ExecStart = / opt / mssql / bin / sqlservr (code = quitté, status = 1 / FAILURE)
PID principal: 71357 ( code = exited, status = 1 / FAILURE)
Tâches: 0
CGroup: /system.slice/mssql-server.service

17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service: processus principal terminé, code = quitté, statut = 1 / ÉCHEC
17 juin 13:57:45 rhel72-sqlserver.localdomain systèmed [ 1]: L'unité mssql-server.service est entrée en état d'échec.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: échec de mssql-server.service.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: délai d'attente mssql-server.service terminé, planification du redémarrage.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Arrêt du moteur de base de données Microsoft SQL Server.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: demande de démarrage répétée trop rapidement pour mssql-server.service
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: échec du démarrage du moteur de base de données Microsoft SQL Server.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: L'unité mssql-server.service est entrée en état d'échec.
17 juin 13:57:45 rhel72-sqlserver.localdomain systemd [1]: échec de mssql-server.service.

J'ai essayé yum remove mssql-server, suivi de yum install mssql-server, mais aucun changement.

Des idées?

Tenter d'exécuter l' mssql-conf setupexécutable, en tant que root, se traduit par ceci:

[root @ rhel72-sqlserver bin] # sudo ./mssql-conf setup
usermod: aucune modification
Choisissez une édition de SQL Server:
1) Évaluation (gratuite, pas de droits d'utilisation en production, limite de 180 jours)
2) Développeur (gratuit, non droits d'utilisation en production)
3) Express (gratuit)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID) - Utilisation du processeur Core limitée à 20 physiques / 40 hyperthreaded
7) Enterprise Core (PAID) - Utilisation du processeur Core jusqu'à Operating System Maximum
8) J'ai acheté une licence via un canal de vente au détail et j'ai une clé de produit à saisir.

Des détails sur les éditions sont disponibles sur
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

L'utilisation des éditions PAYÉES de ce logiciel nécessite une licence distincte via un
programme de licences en volume Microsoft.
En choisissant une édition PAYÉE, vous vérifiez que vous disposez du
nombre de licences approprié pour installer et exécuter ce logiciel.

Entrez votre édition (1-8): 2
Les conditions de licence de ce produit peuvent être trouvées dans
/ usr / share / doc / mssql-server ou téléchargées à partir de:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid = 0x409

La déclaration de confidentialité peut être consultée sur:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Entrez le mot de passe administrateur système SQL Server:
Confirmez le mot de passe administrateur système SQL Server:
Configuration de SQL Server ...

Ceci est une version d'évaluation. Il reste [153] jours dans la période d'évaluation.
Ce programme a rencontré une erreur fatale et ne peut pas continuer à s'exécuter le lun. 17 juin 14:35:43 2019
Les informations de diagnostic suivantes sont disponibles:

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

Trace de la pile:
000000006bd347d0
000000006bd31af7
000000006bd31d3a
000000006bd30ea5
000000006bd2faf7
000000006bd73371
processus: 75209 - sqlservr
Sujet: 75213 (fil demande 0x4)
Instance Id: ffcf27f9-18a5-485a-8a9d-34482c5efe06
crash Id: cb1238f4-2504-457c-BBB3-d7ecad750aec
tampon de construction: fbef7d3acfbedcf62a42c8909366dbba3852b92cabb497c2169680835fd60276
Distribution: Red Hat Enterprise Linux
Processors: 4
Mémoire totale: 16637898752 octets
Horodatage: lun 17 juin 14:35:43 2019

Red Hat Enterprise Linux
Capture du vidage principal et des informations dans / var / opt / mssql / log ...
Astuce: Vous ne voyez actuellement pas les messages des autres utilisateurs et du système.
Les utilisateurs du groupe «systemd-journal» peuvent voir tous les messages. Passez -q pour
désactiver cette notification.
Aucun fichier journal n'a été ouvert en raison d'autorisations insuffisantes.
Astuce: vous ne voyez actuellement pas les messages des autres utilisateurs et du système.
Les utilisateurs du groupe «systemd-journal» peuvent voir tous les messages. Passez -q pour
désactiver cette notification.
Aucun fichier journal n'a été ouvert en raison d'autorisations insuffisantes.
/ usr / bin / tail: impossible d'ouvrir '/ var / log / messages' pour la lecture: autorisation refusée
Tentative de capture d'un vidage avec paldumper Capture d'
un vidage avec paldumper
/ usr / bin / find: '/usr/share/polkit-1/rules.d': Autorisation refusée
/ usr / bin / find: '/ usr / libexec / initscripts / legacy-actions / auditd ': autorisation refusée
Le vidage de mémoire et les informations sont compressés en arrière-plan. Une fois
terminés, ils se trouvent à l'emplacement suivant:
/var/opt/mssql/log/core.sqlservr.06_17_2019_14_35_43.75209.tbz2
La configuration initiale de Microsoft SQL Server a échoué. Veuillez consulter le ERRORLOG
dans / var / opt / mssql / log pour plus d'informations.
[root @ rhel72-sqlserver bin] #

Je suis connecté au serveur en tant que root, donc je ne comprends pas pourquoi je vois des erreurs "accès refusé".

Max Vernon
la source
Suggestion: essayez d'ajouter de la mémoire d'échange (4 ou 8 Go).
ypercubeᵀᴹ

Réponses:

2

Donc, étant le pantalon intelligent que je suis, je pensais qu'il serait plus facile de simplement me connecter à mon système RHEL en tant que root , alors je n'aurais pas besoin de le faire à sudochaque fois.

Il s'avère que c'était une erreur.

J'ai pu réparer mon installation en me connectant à l'aide de mon compte Linux "normal", puis exécuter les commandes sudo selon la documentation pour supprimer et réinstaller les fichiers binaires SQL Server du référentiel Microsoft. J'ai également dû exécuter les commandes suivantes pour réinitialiser la propriété et l'appartenance au groupe des objets du système de fichiers pour mes dossiers / var / opt / mssql / * existants:

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

Morale de l'histoire, ne vous tirez pas dans le pied. Ça fait mal. Eh bien, je suppose que j'ai un autre petit chapitre pour mon livre:

Aventures sous Linux, AKA, ça ne sera JAMAIS l'année de Linux sur le bureau.

Max Vernon
la source