Actualitzant la Raspberry Pi a FreeBSD 13.1-RELEASE on tinc dos discs de 4TB sincronitzats 24x7

El meu dock amb els dos discs de 4TB

En este xicotet article explique com he actualitzat FreeBSD al meu servidor domèstic que tinc a casa 24x7 des de fa molts anys amb dos discs de 4TB en espill i el sistema FreeBSD corrent a la Raspberry Pi 2.

La idea és actualitzar a la nova versió de FreeBSD 13.1-RELEASE per a l'arquitectura arm a una antigua Raspberry Pi 2 que faig servir com a núvol domèstic 24x7 i que li trec molt de partit, la veritat. Aquesta Raspberry té el serveis NFS, SSH i Samba, aleshores puc compartir directoris i fitxers des de qualsevol ordinador GNU/Linux, Windows, BSD o Android que tinc a casa sense problemes.

I cada fitxer que modifique, cada directori que esborre o cada fitxer que copie al disc dur 1, rsync va a deixar-ho exactament igual al disc dur número 2. Aquest és el meu muntatge des de fa anys. Ara toca actualitzar el sistema operatiu. Comencem!

INSTAL·LACIÓ DE FREEBSD 13.1-RELEASE
Descarreguem FreeBSD per a arquitectura ARM des de la url https://wiki.freebsd.org/action/show/arm/Raspberry%20Pi?action=show&red…. Jo, concretament per a la Raspberry Pi 2, m'he descarregat la versió FreeBSD-13.1-RELEASE-arm-armv7 des d'ací.

Anem a descarregar FreeBSD 13.1-RELEASE des de la web oficial del projecte FreeBSD

Ací veurem les versions disponibles. Jo descarregaré la 13.1-RELEASE per a la Raspberry, és a dir, arquitectura arm:
Descarreguem la versió 13.1-RELEASE per arquitectura arm

El fitxer FreeBSD-13.1-RELEASE-arm-armv7-GENERICSD.img.xz ocupa 380 Mb. Ara el descomprimirem amb:

$ apt-get install xz-utils
$ unxz FreeBSD-13.1-RELEASE-arm-armv7-GENERICSD.img.xz

I ara cremarem la imatge de FreeBSD en la MicroSD de la següent manera a Ubuntu Linux 22.04, que és el sistema operatiu que tinc ara mateix en el portàtil:

# dd if=./FreeBSD-13.1-RELEASE-arm-armv7-GENERICSD.img of=/dev/sdb bs=32M
96+0 rikordoj eniĝis
96+0 rikordoj eliĝis
3221225472 bytes (3,2 GB, 3,0 GiB) copied, 140,526 s, 22,9 MB/s

CONFIGURACIÓ DEL SISTEMA OPERATIU
I ara arrancarem la Raspberry Pi per a accedir al nou sistema, on per defecte tenim els usuaris freebsd/freebsd i root/root. Uns segons després, ja podrem accedir al prompt:

# uname -a
FreeBSD generic 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC arm

I instal·larem els paquets que necessitem:

# pkg install htop nmap rsync wget doas emacs-nox

Crearem /usr/local/etc/doas.conf i afegirem el següent per a que sempre puga fer servir ordres d'administrador sense necessitat de contrasenya:

permit nopass joan

Ara descarregarem tot l'arbre de ports de FreeBSD disponibles per a ARM amb:

# portsnap fetch
# portsnap extract

Connectarem el dock amb els dos discs durs mitjançant el cable USB. I si ara fem un dmesg veurem que ens els detecta perfectament i els dóna el nom de dispositiu da0 al primer disc dur i da1 al segon.

Creem un directori a /mnt/ on muntarem els discs:

# mkdir /mnt/disc1
# mkdir /mnt/disc2

I muntarem els discs durs amb:

# mount /dev/da0 /mnt/disc1
# mount /dev/da1 /mnt/disc2

Aquestos dos discs durs els vaig formatejar amb el format nadiu de FreeBSD, UFS2.

A continuació podem veure que els tenim correctament muntats amb:

# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ufs/rootfs 56G 4.5G 47G 9% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/msdosfs/MSDOSBOOT 50M 18M 32M 37% /boot/msdos
tmpfs 843M 4.0K 843M 0% /tmp
/dev/da0 3.5T 1.7T 1.6T 50% /mnt/disc1
/dev/da1 3.5T 1.6T 1.7T 48% /mnt/disc2

Afegirem al Crontab de l'usuari root aquest punt de muntatge per tal de que ens munte els dos discs durs a l'arranc del sistema. Farem crontab -e i afegirem:

@reboot mount /dev/da0 /mnt/disc1
@reboot mount /dev/da1 /mnt/disc2

També, al Crontab de root afegirem una ordre rsync per a que cada fitxer que afegim, modifiquem o esborrem al disc nº1, es clone de igual manera al disc nº2, de manera que tinguem els dos discs en mode espill. Ho farem a les 00h, a les 07h del matí i a les 23h de la nit. Afegirem al Crontab:

0 07,23 * * * rsync -uarmzhP --delete /mnt/disc1/ /mnt/disc2/

INSTAL·LACIÓ I CONFIGURACIÓ DE SAMBA
Com que ja tenim descarregat completament l'arbre de ports de FreeBSD, instal·larem Samba compilant en la pròpia Raspberry Pi el Samba de la manera tradicional. Aquest procés pot durar molt, entre 8 i 10 hores més o menys.

Farem el següent per compilar Samba des del codi font:
# cd /usr/ports/net/samba413
# make install clean

Compilem SAMBA dels ports

Per a configurar Samba, editarem el fitxer de configuració /usr/local/etc/smb4.conf amb:

# vi /usr/local/etc/smb4.conf

I afegirem la configuració per a compartir els directoris que vullguem a la nostra xarxa. El nom del grup de treball serà WORKGROUP, deixarem que puguen veure els directoris qualsevol equip de la nostra LAN (192.168.1), i compartirem els fitxers de home, el primer disc dur (disc1) i un directori www perquè també tinc un servidor web al servidor de la Raspberry:

[global]
workgroup = WORKGROUP
server string = Server
security = user
log file = /var/log/samba4/log.%m
max log size = 500
preferred master = yes
hosts allow = 192.168.1.
interfaces = ue0 wlan0
bind interfaces only = yes
socket options = TCP_NODELAY
client min protocol = NT1
server min protocol = NT1
inherit permissions = yes
client min protocol = SMB2
client max protocol = SMB3
#
[homes]
comment = User Home
browseable = no
writeable = yes
directory mask = 0700
create mask = 0700
#
[disc1]
comment = Disc1
path = /mnt/disc1
public = no
browseable = yes
writeable = yes
write list = @joan
directory mask = 0775
create mask = 0775
valid users = root joan
#
[www]
comment = Web Root
path = /usr/local/www
public = no
writeable = yes
write list = @joan
directory mask = 0775
create mask = 0775

Podem ara aturar i arrencar el servei de Samba amb:

# /usr/local/etc/rc.d/samba_server stop
smbd not running? (check /var/run/samba4/smbd.pid).
nmbd not running? (check /var/run/samba4/nmbd.pid).
#
# /usr/local/etc/rc.d/samba_server start
Performing sanity check on Samba configuration: OK
Starting nmbd.
Starting smbd.

O també podem fer-ho amb:

# /usr/local/etc/rc.d/samba_server reload

Com a últim pas, necessitem tenir usuaris que puguen accedir mitjançant Samba, aleshores ens caldrà dona-li una contrasenya al nostres usuaris de la següent manera:

# smbpasswd -a joan
New SMB password:
Retype new SMB password:
Added user joan.

JA PODEM ACCEDIR ALS NOSTRES DIRECTORIS DE LA RASPBERRY
I ara ja podem comprovar que el servidor Samba estiga funcionant. Podem anar a un altre ordinador BSD o GNU/Linux de la nostra xarxa i escriure:

# smbclient -L 192.168.1.130
Enter WORKGROUP\joan's password:
Anonymous login successful
.
Sharename Type Comment
--------- ---- -------
disc1 Disk Disc1
www Disk Web Root
IPC$ IPC IPC Service (Server)

Des del meu equip d'escriptori Ubuntu 22.04, entrarem amb l'explorador de fitxers i veurem el grup de treball que hem configurat al Samba de la Raspberry:

Accedim des de ubuntu 22.04

Accedirem i veurem tots els recursos compartits, al meu cas el directori Disc1 i www tal i com mostra la següent captura de pantalla:

Veiem els directoris Disc1 i www

I ací, per exemple, estem navegant pel directori de fotos de la meua Raspberry Pi:
Naveguem pel directori de fotos de la Raspberry

Ara, qualsevol fitxer que afegim al disc dur des de Samba (al disc 1) es sincronitzarà al disc 2 amb rsync tal i com he explicat abans en aquest article. Aquesta és una molt bona utilitat per a una Raspberry en qualsevol entorn, ja siga una casa, una oficina, un estudi de música, una empresa de periodisme o d'informàtica, etc.

Si vull compartir i guardar dades des de Windows, nomès cal obrir l'explorador de fitxers i escriure \\DIRECCIÓ_IP_DE_LA_RASPBERRY i ja està. I veurem el que mostra la següent captura de pantalla de Windows 10:
Accedint a FreeBSD des de Samba a Windows 10

I bé, com hauràs vist, FreeBSD 13.1-RELEASE ja està corrent sobre la meua Raspberry Pi com peix en l'aigua, la veritat és que va rapidíssim i com que tinc les còpies de seguretat 24x7 als dos discs de 4TB tinc total seguretat i tranquil·litat amb les meues dades a casa.
FreeBSD 13.1-RELEASE ja està corrent en la Raspberry

Doncs bé això és tot, espere que trobes útil aquest article i que et motive a compartir els teus trucs, els teus coneixements i els teus experiments amb el Programari Lliure. Pensa-ho, va, que la Comunitat del Programari Lliure va creixent gràcies a la documentació, el disseny, la formació o la programació, sigues part de la Comunitat :-)

La cultura i la lliure circulació de les idees és l'arma més efectiva contra les dictadures del pensament i contra la ignorància.

Utilitats

NAVEGACIÓ SENSE RATOLÍ

- Tab següent enllaç.
- Shift+Tab anterior enllaç.
- Enter activa l'enllaç.
- Alt+esquerra anar arrere.

CONTRAST DE COLORS

Accessibilitat - Color Negre
Accessibilitat - Color Groc
Accessibilitat - Color Verd

Accessibilitat - Color Blau
Accessibilitat - Color Crema
Accessibilitat - Color Blanc

 

PORTADES ALTERNATIVES