====== 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]]