initdata: Tidak ada memori untuk buffer kernel

8

Saya baru-baru ini memutakhirkan Edisi Pengembang SQL Server 2017 saya di RedHat Enterprise Linux 7.6 ke SQL Server 2019 CTP 3.0.

Layanan mssql-server tidak akan lagi dimulai. / var / opt / mssql / log / errorlog menunjukkan berikut ini:

2019-06-12 09: 36: 31.98 Server Microsoft SQL Server 2019 (CTP3.0) - 15.0.1600.8 (X64)
17 Mei 2019 00:56:19
Hak cipta (C) 2019
Edisi Pengembang Microsoft Corporation (64-bit) pada Linux (Red Hat Enterprise Linux)
2019-06-12 09: 36: 32.04 Server UTC penyesuaian: -5: 00
2019-06-12 09: 36: 32.05 Server (c) Microsoft Corporation.
2019-06-12 09: 36: 32.07 Server Hak cipta dilindungi undang-undang.
2019-06-12 09: 36: 32.08 Server ID proses Server adalah 32.
2019-06-12 09: 36: 32.09 Server Logging Pesan-pesan SQL Server dalam file '/ var / opt / mssql / log / errorlog'.
2019-06-12 09: 36: 32.10 Parameter startup Server Registry:
-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 Parameter Startup Server Command Line Parameter: --accept-
eula 2019-06 -12 09: 36: 32.18 Server SQL Server mendeteksi 1 soket dengan 4 inti per soket dan 4 prosesor logis per soket, 4 prosesor logis total; menggunakan 4 prosesor logis berdasarkan lisensi SQL Server. Ini adalah pesan informasi; tidak diperlukan tindakan pengguna.
2019-06-12 09: 36: 32.20 Server SQL Server mulai pada basis prioritas normal (= 7). Ini hanya pesan informasi. Tidak diperlukan tindakan pengguna.
2019-06-12 09: 36: 32.23 Server Terdeteksi 7856 MB RAM. Ini adalah pesan informasi; tidak diperlukan tindakan pengguna.
2019-06-12 09: 36: 32.24 Server Menggunakan memori konvensional di manajer memori.
2019-06-12 09: 36: 32.28 Ekstensi Server Buffer pool tidak didukung pada platform Linux.
2019-06-12 09: 36: 32.29 Server Error: 17128, Severity: 16, State: 1.
2019-06-12 09: 36: 32.29 Server initdata: Tidak ada memori untuk buffer kernel.

/var/opt/mssql/mssql.conf isinya:

[sqlagent]
enabled = false

systemctl status mssql-server menunjukkan:

mssql-server.service - Mesin Basis Data Microsoft SQL Server
Dimuat: dimuat (/usr/lib/systemd/system/mssql-server.service; diaktifkan; preset vendor: dinonaktifkan)
Aktif: gagal (Hasil: batas-mulai) sejak Senin 2019 -06-17 13:57:45 CDT; 26 menit yang lalu
Documents: https://docs.microsoft.com/en-us/sql/linux
Proses: 71357 ExecStart = / opt / mssql / bin / sqlservr (kode = keluar, status = 1 / KEGAGALAN)
PID Utama: 71357 ( kode = keluar, status = 1 / KEGAGALAN)
Tugas: 0
CGroup: /system.slice/mssql-server.service

17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service: proses utama keluar, kode = keluar, status = 1 / GAGAL
Jun 17 13:57:45 rhel72-sqlserver.localdomain systemd [ 1]: Unit mssql-server.service memasuki kondisi gagal.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service gagal.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service waktu tunggu berakhir, penjadwalan restart.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Menghentikan Mesin Basis Data Microsoft SQL Server.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mulai permintaan diulang terlalu cepat untuk mssql-server.service
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Gagal memulai Mesin Basis Data Microsoft SQL Server.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: Unit mssql-server.service memasuki kondisi gagal.
17 Jun 13:57:45 rhel72-sqlserver.localdomain systemd [1]: mssql-server.service gagal.

Saya sudah mencoba yum remove mssql-server, diikuti oleh yum install mssql-server, tetapi tidak ada perubahan.

Ada ide?

Mencoba menjalankan mssql-conf setupexecutable, sebagai root, menghasilkan ini:

[root @ rhel72-sqlserver bin] # sudo ./mssql-conf setup
usermod: tidak ada perubahan
Pilih edisi SQL Server:
1) Evaluasi (gratis, tidak ada hak penggunaan produksi, batas 180 hari)
2) Pengembang (gratis, tidak ada hak penggunaan produksi)
3) Ekspres (gratis)
4) Web (DIBAYAR)
5) Standar (DIBAYAR)
6) Perusahaan (DIBAYAR) - Penggunaan CPU Core dibatasi hingga 20 fisik / 40 hyperthreaded
7) Enterprise Core (DIBAYAR) - Penggunaan Core CPU hingga Sistem Operasi Maksimum
8) Saya membeli lisensi melalui saluran penjualan ritel dan memiliki kunci produk untuk dimasukkan.

Detail tentang edisi dapat ditemukan di
https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Penggunaan edisi DIBAYAR dari perangkat lunak ini memerlukan lisensi terpisah melalui
program Lisensi Volume Microsoft.
Dengan memilih edisi DIBAYAR, Anda memverifikasi bahwa Anda memiliki
jumlah lisensi yang sesuai untuk menginstal dan menjalankan perangkat lunak ini.

Masukkan edisi Anda (1-8): 2
Ketentuan lisensi untuk produk ini dapat ditemukan di
/ usr / share / doc / mssql-server atau diunduh dari:
https://go.microsoft.com/fwlink/?LinkId=855862&clcid = 0x409

Pernyataan privasi dapat dilihat di:
https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Masukkan kata sandi administrator sistem SQL Server:
Konfirmasikan kata sandi administrator sistem SQL Server:
Mengkonfigurasi SQL Server ...

Ini adalah versi evaluasi. Ada [153] hari tersisa dalam periode evaluasi.
Program ini mengalami kesalahan fatal dan tidak dapat terus berjalan pada Senin 17 Juni 14:35:43 2019
Informasi diagnostik berikut tersedia:

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

Stack Trace:
000000006bd347d0
000000006bd31af7
000000006bd31d3a
000000006bd30ea5
000000006bd2faf7
000000006bd73371
Proses: 75209 - sqlservr
Thread: 75.213 (aplikasi benang 0x4)
Instance Id: ffcf27f9-18a5-485a-8a9d-34482c5efe06
Kecelakaan Id: cb1238f4-2504-457c-bbb3-d7ecad750aec
Build stamp: fbef7d3acfbedcf62a42c8909366dbba3852b92cabb497c2169680835fd60276
Distribusi:
Prosesor Red Hat Enterprise Linux : 4
Total Memori: 16637898752 bytes
Timestamp: Sen 17 Juni 14:35:43 2019

Red Hat Enterprise Linux
Menangkap dump inti dan informasi ke / var / opt / mssql / log ...
Petunjuk: Saat ini Anda tidak melihat pesan dari pengguna lain dan sistem.
Pengguna dalam grup 'systemd-journal' dapat melihat semua pesan. Lewati -q untuk
mematikan pemberitahuan ini.
Tidak ada file jurnal yang dibuka karena izin yang tidak mencukupi.
Petunjuk: Saat ini Anda tidak melihat pesan dari pengguna lain dan sistem.
Pengguna dalam grup 'systemd-journal' dapat melihat semua pesan. Lewati -q untuk
mematikan pemberitahuan ini.
Tidak ada file jurnal yang dibuka karena izin yang tidak mencukupi.
/ usr / bin / tail: tidak dapat membuka '/ var / log / messages' untuk membaca: Izin ditolak
Mencoba untuk menangkap dump dengan paldumper
Menangkap dump dengan paldumper
/ usr / bin / find: '/usr/share/polkit-1/rules.d': Izin ditolak
/ usr / bin / find: '/ usr / libexec / initscript / legacy-action / auditd ': Izin ditolak
Core dump dan informasi dikompresi di latar belakang. Ketika
selesai, mereka dapat ditemukan di lokasi berikut:
/var/opt/mssql/log/core.sqlservr.06_17_2019_14_35_43.75209.tbz2
Penyetelan awal Microsoft SQL Server gagal. Silakan baca ERRORLOG
di / var / opt / mssql / log untuk informasi lebih lanjut.
[root @ rhel72-sqlserver bin] #

Saya masuk ke server root, jadi saya tidak mengerti mengapa saya melihat kesalahan "akses ditolak".

Max Vernon
sumber
Saran: coba tambahkan beberapa memori swap (4 atau 8GB).
ypercubeᵀᴹ

Jawaban:

2

Jadi, sebagai smarty-pants saya, saya pikir akan lebih mudah untuk hanya login ke sistem RHEL saya sebagai root , maka saya tidak perlu melakukannya sudosetiap saat.

Ternyata itu kesalahan.

Saya dapat memperbaiki instalasi saya dengan masuk menggunakan akun Linux "normal" saya, kemudian jalankan perintah sudo per dokumen untuk menghapus dan menginstal ulang binari SQL Server dari Microsoft repo. Saya juga perlu menjalankan perintah berikut untuk mengatur ulang kepemilikan dan keanggotaan grup untuk objek sistem file untuk folder / var / opt / mssql / * yang ada:

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

Moral dari cerita ini, jangan tembak kaki Anda. Itu menyakitkan. Oh well, saya kira saya punya bab kecil lain untuk buku saya:

Petualangan di Linux, AKA, TIDAK PERNAH akan menjadi tahun Linux di desktop.

Max Vernon
sumber