foxit
Well-Known Member
Hallo zusammen
Für ein kleines Projekt wollte ich einen MariaDB Server installieren. Weil ich eigentlich immer alle Dienste in Jails unterteile, wollte ich dies auch hier so mache, also die Datenbank in einer Jail laufen lassen. Da ich zusätzlich ZFS Snapshots verwenden möchte, muss ich dies ja in der Jail erlauben und genau hier kommt mein Problem. Zuerst aber meine /etc/jail.conf:
So wie ich das sehe, wird zuerst "exec.start" (1) und dann die beiden "exec.poststart" (2)(3) gestartet. Problem ist nun aber, dass der SQL Server ja schon bei Punkt (1) gestartet werden soll (/etc/rc.conf) aber das ZFS Dataset (2)(3) noch gar nicht in der Jail zur Verfügung steht.
Leider habe ich nichts passendes in der "man jail" [1] dazu gefunden...
Bis jetzt habe ich nur diesen unschönen Würgaround gemacht. In der "rc.conf" setze ich ein:
... und rufe beim starten der Jail noch folgendes auf:
Diese Lösung ist nicht wirklich schön daher hoffe ich ihr habt eine Idee.
Danke
[1] https://www.freebsd.org/cgi/man.cgi...opos=0&manpath=FreeBSD+11.1-RELEASE+and+Ports
Für ein kleines Projekt wollte ich einen MariaDB Server installieren. Weil ich eigentlich immer alle Dienste in Jails unterteile, wollte ich dies auch hier so mache, also die Datenbank in einer Jail laufen lassen. Da ich zusätzlich ZFS Snapshots verwenden möchte, muss ich dies ja in der Jail erlauben und genau hier kommt mein Problem. Zuerst aber meine /etc/jail.conf:
Code:
1 # --- DEFAULT
2 exec.start = "/bin/sh /etc/rc"; # (1) JAIL
3 exec.stop = "/bin/sh /etc/rc.shutdown";
4 exec.clean;
5
6 mount.devfs;
7 devfs_ruleset = 4;
8 allow.raw_sockets = 1;
9 interface = lo1;
10
11 path = "/data/jail/$name";
12
13 db1 {
14 host.hostname = "db1";
15 ip4.addr = "10.10.10.11";
16 allow.mount;
17 allow.mount.zfs;
18 enforce_statfs = 1;
19
20 exec.poststart = "zfs jail $name rpool/data/mysql"; # (2) SYSTEM
21 exec.poststart += "jexec -l $name ""zfs mount -a"""; # (3) SYSTEM
22 exec.prestop = "zfs unjail $name rpool/data/mysql";
23 exec.poststop = "umount /data/jail/db1/data/mysql";
24
25 }
Leider habe ich nichts passendes in der "man jail" [1] dazu gefunden...
Bis jetzt habe ich nur diesen unschönen Würgaround gemacht. In der "rc.conf" setze ich ein:
Code:
# rc.conf: mysql_enable="NO"
Code:
exec.poststart += "jexec -l $name ""service mysql-server onestart""";
Danke
[1] https://www.freebsd.org/cgi/man.cgi...opos=0&manpath=FreeBSD+11.1-RELEASE+and+Ports