====== Continuidad y procedimientos ======
Los scripts usados se encuentran en /root/bin/
total 23
drwxr-xr-x 2 root wheel 5B Dec 29 17:24 .
drwxr-xr-x 11 root wheel 31B Dec 29 17:24 ..
-rwxr-xr-x 1 root wheel 518B Oct 4 23:08 renew_certs.sh
-rw-r--r-- 1 root wheel 520B Jul 30 11:28 upgrade_freebsd.sh
-rwxr-xr-x 1 root wheel 2.6K Aug 8 19:10 upgrade_jails.sh
===== Renovación de certificados web - renew_certs.sh=====
Renueva los certificados de las jails y actualiza el del dominio brutalix.org en exim y murmur.
===== Actualización sistema host - upgrade_freebsd.sh=====
Script comentado con instrucciones para upgradear:
* Actualizar paquetes instalados en el host
* Actualizar paquetes instalados en una Jail
* Actualizar version menor del host FreeBSD (ej: de 13.0 a 13.1)
* Actualizar version mayor del host FreeBSD (ej: de 12.3 a 13.0-RELEASE)
===== Jails =====
Archivos de configuración
[[https://git.brutalix.org/brutalix/jails_admin/src/branch/main/scripts|https://git.brutalix.org/brutalix/jails_admin/src/branch/main/scripts]]
==== Estructura básica ===
root@brutalix:~ # zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 620G 1.15T 88K /zroot
zroot/ROOT 223G 1.15T 88K none
zroot/ROOT/default 223G 1.15T 223G /
zroot/jails 398G 1.15T 88K /srv/jails
zroot/jails/releases 551M 1.15T 88K /srv/jails/releases
zroot/jails/releases/12.1-RELEASE 551M 1.15T 551M /srv/jails/releases/12.1-RELEASE
zroot/jails/services 397G 1.15T 88K /srv/jails/services
zroot/jails/services/db 699M 1.15T 703M /srv/jails/services/db
zroot/jails/services/nginx 396G 1.15T 396G /srv/jails/services/nginx
zroot/jails/services/services 445M 1.15T 450M /srv/jails/services/services
zroot/jails/services/web 1.32M 1.15T 5.62M /srv/jails/services/web
zroot/jails/templates 4.73M 1.15T 88K /srv/jails/templates
zroot/jails/templates/base-12.1-RELEASE 184K 1.15T 546M /srv/jails/templates/base-12.1-RELEASE
zroot/jails/templates/skeleton-12.1-RELEASE 4.46M 1.15T 4.46M /srv/jails/templates/skeleton-12.1-RELEASE
* El slice ''zroot/jails/template'' contiene 'templates' de las partes ro y rw. Se usa para poder desplegar nuevos jails limpios rapidamente con 'zfs clone' o rsync
* El slice ''zroot/jails/releases'' alberga la configuración que se usará como solo léctura para cada una de las jails
* El slice ''zroot/jails/servicios'' alberga la configuración que se usará como escribible para cada una de las jails
Falta documentar
* Todas Jails tiene una parte solo lectura común en su slice zfs
* Cada Jail tiene una parte única montada como rw (skeleton)
* Una vez montada la Jail queda tal que así, siendo las partes pertenecientes a skeleton las únicas con permisos de escritura
drwxr-xr-x 15 root wheel 24B Oct 13 20:35 .
drwxr-xr-x 6 root wheel 6B Sep 24 21:23 ..
-rw-r--r-- 1 root wheel 957B Jul 21 04:11 .cshrc
-rw-r--r-- 1 root wheel 249B Jul 21 04:11 .profile
-r--r--r-- 1 root wheel 6.1K Jul 21 04:11 COPYRIGHT
drwxr-xr-x 2 root wheel 47B Jul 21 04:09 bin
drwxr-xr-x 8 root wheel 51B Jul 21 04:11 boot
dr-xr-xr-x 7 root wheel 512B Dec 10 00:18 dev
lrwxr-xr-x 1 root wheel 12B Oct 13 20:35 etc -> skeleton/etc
lrwxr-xr-x 1 root wheel 13B Oct 13 20:35 home -> skeleton/home
drwxr-xr-x 4 root wheel 56B Jul 21 04:09 lib
drwxr-xr-x 3 root wheel 5B Oct 13 20:23 libexec
drwxr-xr-x 2 root wheel 2B Jul 21 04:08 media
drwxr-xr-x 2 root wheel 2B Jul 21 04:08 mnt
drwxr-xr-x 2 root wheel 2B Jul 21 04:08 net
dr-xr-xr-x 2 root wheel 2B Jul 21 04:08 proc
drwxr-xr-x 2 root wheel 148B Jul 21 04:09 rescue
lrwxr-xr-x 1 root wheel 13B Oct 13 20:35 root -> skeleton/root
drwxr-xr-x 2 root wheel 137B Jul 21 04:10 sbin
drwxr-xr-x 9 root wheel 9B Oct 13 20:35 skeleton
lrwxr-xr-x 1 root wheel 11B Jul 21 04:11 sys -> usr/src/sys
lrwxr-xr-x 1 root wheel 12B Oct 13 20:35 tmp -> skeleton/tmp
drwxr-xr-x 14 root wheel 15B Oct 13 21:17 usr
lrwxr-xr-x 1 root wheel 12B Oct 13 20:35 var -> skeleton/var
* Cada Jail tiene su propio fstab en /''usr/local/jails/jail.fstab.d/$name.fstab'' donde $name es el nombre definido en la configuración de cada jail (web,db)
* Cada Jail tiene su directorio en ''/usr/local/jails/$name'' donde $name es el nombre definido en la configuración de cada jail (web,db).
==== Procedimientos ====
=== Generar estructura zfs para jails===
=== Actualizar version sistema Jails ===
Cuando se hace una actualización de sistema menor o mayor del host, hay que actualizar las Jails también, ya que el sistema Jails comparte recursos con el host.
Antes de ejecutar el script, hay que editarlo y definir la nueva versión a la que se ha actualizado el sistema.
setenv USED_RELEASE="13.0-RELEASE-p3"
Para saber la version actual del sistema:
[root@brutalix ~/bin]# freebsd-version
13.0-RELEASE-p3
=== Crear nueva Jail ===
=== Enlaces ===
[[https://clinta.github.io/freebsd-jails-the-hard-way/]]
[[https://www.freebsd.org/doc/handbook/jails.html]]