MariaDB startet nach update nicht mehr

teisho

Well-Known Member
Hallo,

ich habe seit einem Update hat MariaDB gerade bei mir die Ohren angelegt.
Ich bekomme es nicht mehr gestartet.

Vielleicht hat jemand eine Idee.

Code:
root@wwwjail:~ # service mysql-server start
Starting mysql.
root@wwwjail:~ # service mysql-server status
mysql is not running.

/var/db/mysql/wwwjail.err:
Code:
180105 22:32:05 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
180105 22:32:05 [Note] /usr/local/libexec/mysqld (mysqld 10.0.33-MariaDB) starting as process 96581 ...
/usr/local/libexec/mysqld: Undefined symbol "fdatasync"
180105 22:32:05 mysqld_safe mysqld from pid file /var/db/mysql/wwwjail.pid ended

Code:
root@wwwjail:~ # mysql --version
mysql  Ver 15.1 Distrib 10.0.33-MariaDB, for FreeBSD11.1 (amd64) using readline 5.1

/etc/rc.conf:
Code:
nginx_enable="YES"
mysql_enable="YES"
php_fpm_enable="YES"
#sshd_enable="YES"

ifconfig_vtnet0_ipv6="inet6 1234:1234:123:123::23 prefixlen 64"
ipv6_defaultrouter="fe80::1%vtnet0"

rpcbind_enable="NO"  # Disable the RPC daemon
cron_flags="$cron_flags -J 15"  # Prevent lots of jails running cron jobs at the same time
syslogd_flags="-ss"  # Disable syslogd listening for incoming connections
sendmail_enable="NONE"  # Completely disable sendmail
clear_tmp_enable="YES"  # Clear /tmp at startup


Code:
root@wwwjail:~ # freebsd-version
11.1-RELEASE-p6
 
Ich hatte ähnliches mit PostgresSQL vor ein paar Wochen. Bei mir war es Inkonsistenz zwischen Kernel (11.1) und altem Base-Jail (11.0 oder sogar 10.3...bin mir jetzt nicht ganz sicher) nachdem ich das Basis-System auf 11.1 aktualisiert hatte.

Als ich dann das Base-Jail ebenso aufs Kernel-Level gehoben hatte, ging es wieder.
Vielleicht ist das auch die Lösung in deinem Fall.
 
Danke für deine Antwort. Eigentlich sollte das doch nicht passieren.
Ich nutze ezjail für meine Jails. Und habe mit ezjail-admin update -U -s 11.1-RELEASE das Upgrade durchgeführt.
Irgend eine Idee wie ich die Version der Basejail anzeigen lassen kann?
freebsd-version und uname zeigen nur die Info vom Host, wenn ich mich recht erinnere.
 
Ok nach einem ezjail-admin install -r 11.1-RELEASE konnte ich MariaDB wieder zum Laufen bekommen.
Anscheinend lag es echt daran. Seltsam…
 
Toll das es jetzt auch bei dir wieder geht.

Ja...ich wuerde auch gern verstehen, was da genau schieflaeuft...vielleicht kann ja jemand anderes hier tiefere Details beisteuern. Scheint nur Datenbanken zu betreffen...zumindest habe ich das Problem in anderen Jails (normale Webserver usw.) noch nicht beobachtet.

Zu deiner Frage wie man die Version vom base-jail herausfinden kann (das ist im FreeBSD-Handbuch in Kapitel 14.6.4.1 erklaert):
Code:
file /usr/jails/basejail/bin/sh

Vielleicht ist es aber auch ein ezjail spezifisches Problem? Ich stelle momentan auf "cbsd" jail Management um und bin davon soweit echt begeistert. Einziger Nachteil den ich bisher gefunden habe, ist die noch etwas duerftige Dokumentation, da der Hauptentwickler ueberwiegend in russischer Sprache dokumentiert hat und die Verbreitung/Bekanntheit geringer ist und deshalb bisher weniger Leute Tutorials dazu angefertigt haben oder Hilfestellungen diskutiert haben.
 
Ich bin haargenau in das gleiche Problem gerannt. Wollte dann per ports MariaDB manuell kompilieren, jedoch nur "Ports Collection no longer supported for your FreeBSD version" erhalten, trotz das sowohl auf dem Host als auch im Jail FreeBSD-Version 11.1-RELEASE angezeigt hatte. :confused:


Sir_Dice vom BSD Forum hatte mich dann auf die Idee gebracht:
freebsd-update IDS ==> überprüft alle Systemdateien (wie sfc /scannow bei Windows)

Daraus dann
freebsd-update -b /usr/jails/newjail/ IDS
Das förderte zu Tage, dass eigentlich fast alle Dateien unter /usr/jails/basejail/ noch auf dem Stand von 11.0-RELEASE waren. Die hatte ezjail also eben beim Upgrade von 11.0 auf 11.1 NICHT aktualisert. :grumble:


Ich habe dann /usr/jails/newjail/ & /usr/jails/basejail/ gelöscht und von ezjail ein komplett neues Basis-Jail mittels ezjail-admin install -s -m -p erstellen lassen. Nochmals freebsd-update -b /usr/jails/newjail/ IDS drüber laufen lassen und nun war alles im Lot, Ports Collection funktionierte wieder, und MariaDB ebenfalls.

Also wenn in einem Jail was nicht läuft, freebsd-update -b <pfad zum jail> IDS drüber laufen lassen, das sollte dann zumindest eine Richtung vorgeben, wo man weiter suchen kann. Bei mir hat das auch gezeigt dass ezjail beim Update von 11.0 auf 11.1 nicht alle Systemdateien in den Jails entsprechend aktualisiert, die musste ich stellenweise bei meinen Jails manuell vom frischen Basejail in die jeweiligen Jails kopieren.

Ich suche schon seit geraumer Zeit einen würdigen Ersatz für ezjail, aber habe noch keinen gefunden. Es gibt zwar iocage usw. aber die benennen die ZFS Datasets mit einer GUID statt dem Jail Namen.
 
Also fdatasync(2) ist ein Systemcall um nur den Inhalt einer Datei (also ohne die Metadaten über die Datei) wirklich auf persistenten Speicher zu schreiben. Dieser Systemcall ist in FreeBSD 11.1 neu. Ich vermute mal du hast Packages für FreeBSD 11.1 in eine FreeBSD 11.0 Jail installiert. Das könnte passiert sein indem du die Packages aus den offiziellen Repos aktualisiert hast. Diese verwenden seit dem FreeBSD 11.0 nicht mehr unterstützt wird auch FreeBSD 11.1 als Buildumgebung. Die Lösung des Problems wird als vermutlich sein keine End of Life Userlands zu verwenden.
 
Naja, das wäre der Fall hätte mir im Jail freebsd-version 11.0-RELEASE angezeigt, statt 11.1-RELEASE, dann wäre das Problem ja offensichtlich. Jedoch wurde sowohl beim Host als auch im Jail von freebsd-version 11.1-RELEASE angezeigt, was eben kein End of Life ist.
 
freebsd-version hat die Schalter -k und -u. Ich glaube der default wenn man nix angibt ist -k. Daher die Verwirrung.
 
Es gab keine Verwirrung, denn sowohl -k als auch -u zeigten auf dem Host 11.1-RELEASE an, im Jail ebenfalls 11.1-RELEASE, darauf war ich schon selbst gekommen das zig mal (auch mit uname) zu prüfen. Wenn also überall 11.1 angezeigt wird, sollte es ja funktionieren, tat es aber nicht. Warum habe ich ja geschrieben. ;)

Es liegt mit an ezjail, das seit 2013 kein Update mehr bekommen hat. Das ist schon ziemlich lange und dennoch erstauunlich das ezjail immernoch (irgendwie) läuft. Ich kenne aber bisher keinen anderen Jail-Manager der wie ezjail ZFS kann, so schlank ist und den Datasets den jeweiligen Namen vom Jail statt einer kryptischen GUID gibt.
 
Zurück
Oben