Synology – Snapshot compliants (BTRFS)

Which Synology NAS models support the Btrfs file system?

Ricordati: solo con BTRFS Synology NAS puo’ eseguire snapshot.

SeriesModels
FS-seriesFS6400, FS3600, FS3400, FS3017, FS2017, FS1018
SA-seriesSA3600, SA3400, SA3200D
22-seriesDS3622xs+, DS2422+
21-seriesRS4021xs+, RS3621xs+, RS3621RPxs, RS2821RP+, RS2421RP+, RS2421+, RS1221RP+, RS1221+, DS1821+, DS1621xs+, DS1621+, DVA3221
20-seriesRS820RP+, RS820+, DS1520+, DS920+, DS720+, DS420+, DS220+, DS620slim
19-seriesRS1619xs+, RS1219+, RS819, DS2419+II, DS2419+, DS1819+, DS1019+, DVA3219
18-seriesRS3618xs, RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS3018xs, DS1618+, DS918+, DS718+, DS218+, DS218, DS418, DS418play
17-seriesRS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xsII, DS3617xs, DS1817+, DS1517+
16-seriesRS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+II, DS716+, DS216+II, DS216+, DS416play
15-seriesRS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+
14-seriesRS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+
13-seriesRS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+
12-seriesRS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS412+
11-seriesRS3411RPxs, RS3411xs, DS3611xs

https://kb.synology.com/en-us/DSM/tutorial/Which_Synology_NAS_models_support_the_Btrfs_file_system

Inoltre stai attento che molti modelli (ad esempio il DS-418) non e’ possibile aumentare la Ram, fai riferimento al link qui sotto.

https://nascompares.com/2019/05/09/synology-nas-unofficial-memory-upgrade-guide/

Compatibili con DSM 7

  1. This version of DSM is compatible with the models below.
    • FS-Series: FS6400, FS3600, FS3400, FS3017, FS2017, FS1018
    • SA-Series: SA3600, SA3400, SA3200D
    • 21-Series: RS2821RP+, RS2421RP+, RS2421+, RS1221RP+, RS1221+, DS1821+, DS1621+, DS1621xs+, DVA3221, RS4021xs+, RS3621xs+, RS3621RPxs
    • 20-Series: RS820RP+, RS820+, DS1520+, DS920+, DS720+, DS620slim, DS420+, DS420j, DS220+, DS220j, DS120j
    • 19-Series: RS1219+, RS819, DS2419+II, DS2419+, DS1819+, DS1019+, DS419slim, DS119j, DVA3219, RS1619xs+
    • 18-Series: RS2818RP+, RS2418RP+, RS2418+, RS818RP+, RS818+, DS1618+, DS918+, DS718+, DS418, DS418play, DS418j, DS218+, DS218, DS218play, DS218j, DS118, RS3618xs, DS3018xs
    • 17-Series: RS217, DS1817+, DS1817, DS1517+, DS1517, RS4017xs+, RS3617xs+, RS3617xs, RS3617RPxs, RS18017xs+, DS3617xs, DS3617xsII
    • 16-Series: RS2416RP+, RS2416+, RS816, DS916+, DS716+II, DS716+, DS416, DS416play, DS416slim, DS416j, DS216+II, DS216+, DS216, DS216play, DS216j, DS216se, DS116, RS18016xs+
    • 15-Series: RS815RP+, RS815+, RS815, DS2415+, DS1815+, DS1515+, DS1515, DS715, DS415+, DS415play, DS215+, DS215j, DS115, DS115j, RC18015xs+, DS3615xs, DS2015xs
    • 14-Series: RS2414RP+, RS2414+, RS814RP+, RS814+, RS814, RS214, DS414, DS414slim, DS414j, DS214+, DS214, DS214play, DS214se, DS114, RS3614xs+, RS3614xs, RS3614RPxs
    • 13-Series: DS2413+, DS1813+, DS1513+, DS713+, DS213j, RS3413xs+, RS10613xs+
  2. For the models below, you can only download the upgrade patch from Synology Download Center because you won’t receive notifications for this update on your DSM.
    • XS Series: RS3413xs+, RS3614xs+, RS3614xs, RS3614RPxs, RS10613xs+
    • Plus Series: DS214+, DS713+, DS1513+, DS1813+, DS2413+, RS814RP+, RS814+, RS2414RP+, RS2414+
    • Value Series: DS114, DS214, DS214play, DS414, RS214, RS814,
    • J Series: DS119j, DS213j, DS214se, DS414j, DS414slim

Sputtaniamo ZFS

Antepongo a tutto, che questo articolo è frutto di una mia ignorantissima opinione, e visto che il sito e’ il mio, scrivo quello che voglio.

Oggi pare che ZFS sia il file system (certi dicono che e’ riduttivo chiamarlo cosi’.. magari lo chiamiamo pdorr che da piu’ l’idea di cosa fa). Diciamo che nel 2021 se non hai ZFS nei tuoi storage sei un poveraccio, [ https://www.youtube.com/watch?v=oRJFyHRasOU ] fa di tutto e di piu’ perche’ utilizzare NTFS oppure EXT4 che funzionano su 5×1019 server da 50 anni e hanno scritto e letto 5×10213 exabyte in tutto questo tempo.. vuoi mettere un superFS che fa troppe cose in piu’… ma cosa fa in piu’? Scrive e legge bit su un supporto magnetico/solito/ottico/alla crema .. ca%%0 vuoi che faccia un file system.. il frappe’?

Detto cio’ partiamo con i contro.. i pro li sanno tutti:

Vi siete mai chiesti perche’ se implementi ZFS su un NAS freeware dei piu’ noti (FreeNAS/TrueNAS) hai bisogno delle ram ECC? Diciamola meglio: e’ caldamente consigliata una motherboard che abbia ram/dimm ECC. Perche’ se un bit si gira, e’ meglio che la motherboard si fermi li dov’e’ che senno tutti i tiu dati vanni a finire nel ce%%0. Se invece si gira con un file system normale? Non succede nulla.. perche’ non ci sono controlli di errore, al massimo ti trovi un file rovinato (un file e non un file system.. sembra la stessa cosa ma non lo e’) inoltre continua a funzionare.. non ferma tutto il sistema.

Aggiunta di un disco, perche’ ti serve piu’ spazio. Ehm.. non si puo’.. eh ma minchia, non hai progettato il tuo storage in maniera precisa? Non sapevi che ‘praticamente’ un sistema ZFS-based non e’ scalabile? Cioe, mi spiego meglio, non e’ che non e’ scalabile.. ma devi comprargli N dischi alla volta.. devi fare un nuovo vdev e di solito un vdev è (almeno) un raidZ1 (3 HD) .. in sostanza se devi aumentare la dimensione del tuo pool devi aggiungere un vdev dello stesso ‘livello’ del precedente: esempio se ha un pool fatto da 3 hd da 6TB devi fare un’altro vdev con 3 hd da ‘almeno’ 6TB e aggiungerlo al pool… ora magari ti viene in mente che NON hai 3 posti per mettere 3 nuovi hard disk.. e allora.. pazienza.. c’e’ sempre l’ozione di sostituire i dischi uno a uno. Guarda qua: https://arstechnica.com/information-technology/2020/05/zfs-101-understanding-zfs-storage-and-performance/

Ma come??? Non posso aggiungere un disco nel 2021 con il file system piu’ fico del mondo?

Ehm.. no.. guarda qui: https://qastack.it/server/190207/how-can-i-add-one-disk-to-an-existing-raidz-zpool – in realta’ basta che cancelli tutto e lo rifai.. ah ah ah ma porc.. ma non era il massimo della vita? Con una qnap da 4 palanche aggiungi un disco e via.. per non parlare della Synology che con il loro SHR fanno anche di peggio fonte: https://kb.synology.com/it-it/DSM/tutorial/What_is_Synology_Hybrid_RAID_SHR

Vi pare che basti? Detto cio’ vi consiglio di usare ZFS perche’ e’ il massimo della vita a livello file system, pero’ devi usarlo su hardware di classe server con memorie ECC (mettici un buon UPS che non si sa mai) e almeno una dozzina di dischi da 6TB (che tanto non costa no un ca%%0

Qui c’e’ un articolo ‘serio’ su ZFS : https://www.guruadvisor.net/it/storage/238-alla-scoperta-di-zfs

Anche QNAP ammette che sul suo QTS Hero non e’ possibile aggiungere un hard drive al pool ZFS https://www.qnap.com/it-it/how-to/faq/article/can-i-add-an-individual-disk-to-expand-my-storage-pool-in-quts-hero-like-qts

In realtà c’e’ un motivo serio dietro a questa limitazione: ZFS è un sistema pensato per aziende e non per escape-from-the-house con budget limitati quindi il fatto di aggiungere un solo disco ad un raid5 ad esempio mette in serio pericolo i dati in quanto esegue delle operazioni potenzialmente senza ‘paracadute’… inoltre un raid5 che sta inserendo un nuovo membro è soggetto a prestazioni basse. Da qui l’idea che non e’ proprio una limitazione, ma e’ ‘by-design’ che non sia possibile modificare un VDEV…

Dmarc

Diciamo che per aggiungere DMARC devi prima avere attivato SPF e Dkim. Nella realta’ DMARC è solo un record nel dns che in sostanza definisce cosa fare con i messaggi che violano spf e dkim.

Esempio di record DMARC preso da aruba.it che si spiega praticamente da solo:

_dmarc.aruba.it. 581 IN TXT “v=DMARC1; p=none; sp=none; fo=1; rua=mailto:dmarcreport@aruba.it”

Nel dns si inserisce un record TXT che come nome ha _dmarc e nei valori si inseriscono i seguenti parametri:

v=DMARC1 ; la versione di DMARC per ora è un campo obbligatorio che come valore ha sempre DMARC1 (almeno per ora)

p=none ; Cosa fare con le email che violano spf e/o dkim : puoi dire none ovvero non fare nulla, p=quarantine oppure p=reject – tipicamente ho visto che si usa none.. ma puoi scegliere cosa deve fare il ricevente delle email che violano il protocollo.

sp=none ; cosa fare con le email dei sottodomini che violano il protocollo

fo=1 ; fornisce informazioni sulla generazione dei report di violazione

rua=dmarcreport@aruba.it ; dove inviare i report delle violazioni.

In un record DMARC devono essere ALMENO presenti i seguenti parametri:

v=DMARC1; p=none; rua=mailto:mail@mail.it

Dkim

Il sistema DKIM serve per firmare digitalmente le email in uscita da un server ma non crittograffate, quindi se non controlli dkim, pazienza.. semplicemente non vedi che la mail e’ firmata digitalmente ma ricevi normalmente.

Il dkim funziona in questo modo: si mette la chiave pubblica su un record TXT del dns mentre la chiave privata e’ usata dal server SMTP per firmare digitalmente la mail in uscita. In questo modo si ottengono due vantaggi:

1 – Certifica che la mail in uscita arriva realmente dal server email sorgente.

2 – Certifica che la mail non ha subito modifiche durante il trasferimento.

Facciamo un esempio pratico: prendiamo una mail in arrivo da esempio@test.it che e’ firmata digitalmente da dkim,
Come vedi ci sono diverse variabili, una di queste è il ‘selector’ che e’ una stringa di caratteri ‘a caso’ che serve al server email ricevente di contattare il DNS per richiesdere la chiave pubblica. Aruba ha scelto di scrivere ‘a1’ nel selector, poteva scrivere ‘a2’ oppure ‘paperina’ o quello che gli fosse venuto in mente al sistemista in quel momento.

[..omissis..]
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ade8I+Jli02Jj2LVTOKCKH/OaxGujg==
Content-Language: it
Disposition-Notification-To: Mario Rossi esempio@test.it
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aruba.it; s=a1;
t=1633684055; bh=IMwliN/qHuqefSN08Vcj8iyYFidAJRE58SVHaL45adg=;
h=From:To:Subject:Date:MIME-Version:Content-Type;
b=dpmKCqeVV7NXrgXd3Kc0w40LAWyRJu66TlMQWAYrZPhs8cZBHLntByB3vQ19t+vEx
WyFjDDsrFnHN7+44dLTpIltjGgZG5fP62YMvm4Z6Hl6/E8zpej75eQtByYPjYQkX2Y
JKxz7uRozhSM58F1qJDA1OLzcuKFMtm9ZWN5pqeycyvRHA8FIMowB+3KRfp/6uF3eL
64D6vn9n1ZoH0B2RcYvEIOdyiwVKBbnhBlBSXN7jnXB771t10HrKrAVf3AqrejLOB6 [..omissis..]


Il server che riceve questa mail (e che effettua attivamente il controllo DKIM) va a estrarre il selector e poi chiede al suo dns il record TXT
corrispondente a

a1._domainkey.aruba.it

Riassumendo il selector è estratto da ‘s=’ mentre la parte “_domainkey” è una parte fissa della richiesta della chiave pubblica e il dominio, il quale è estratto dalla variabile ‘d=’ immediatamente prima del selector nella header della mail da controllare. Nota che se non hai ricevuto una mail non puoi chiedere la chiave pubblica di un dominio, perchè non sai che selector usare per richiede il record TXT.

Per chiarezza possiamo usare l’utility ‘nslookup’ per richiedere la chiave pubblica di aruba.it

Ora il server che ha ricevuto la email, attraverso una processo matematico puo’ verificare che la email non sia stata modificata nel trasporto e che sia stata firmata con la chiave privata accoppiata alla chiave pubblica, ottenendo i due vantaggi che ho scritto sopra.

Sonicwall Vpn e OSPF

Se ti stai chiedendo cos’è OSPF e a cosa serve allora non andare avanti in questo articolo, vai su google e cerca. Se invece sai dicosa parlo, implementare OSPF su Sonicwall è semplice: occorre usare le VPN in modalità tunnel anzichè “site to site” in modalità numbered. Le versioni si sonicOS che supportano questa modalità sono superiori alla V6.0. Occorre solo ricordarsi di comunicare al motore OSPF di non pubblicare i pool di indirizzi IP sulle interfaccie WAN. Purtroppo questa configurazione si fa soltanto in CLI e non è possibile farla da GUI.

Dopo aver abilitato “advanced routing” andando sulla CLI possiamo configurare OSPF in modo che non pubblichi certe reti. Normalmente si configura OSPF per “ridistribuire le reti direttamente connesse” e altrettanto ovviamente si deve configurare per non distribuire i pool di ip presenti sulle (o sulla) WAN. Si procede in questo modo:

admin@18B169529ADC> configure terminal
config(18B169529ADC)# routing
(config-routing)# ospf
ARS OSPF>configure terminal
ARS OSPF(config)>router ospf
ARS OSPF(config-router)>summary-address 81.81.81.8/29 not-advertise
ARS OSPF(config-router)>exit
ARS OSPF(config)>exit
ARS OSPF>write file
Configuration saved to OSPF
ARS OSPF>

Una volta che i tunnel sono attivi, devi aggiungere un’interfaccia in network/interface add “Virtual Tunnel Interface” in modo da poter dare un ip statico /30. In questo modo si crea una rete cosidetta di trasporto, tra il tuo firewall e l’altro partner. Resta da configurare i setting generali di OSPF in modo da dare un nome univoco al questo firewall a livello OSPF come in figura e scegliere quali sono le reti che devono essere redistribuite. Notare che sonicwall configlia di usare l’ip della X0 nel campo ‘OSPF Router’ in modo che sia univoco.

A questo punto occorre configurare configurare su quale interfaccia OSPF dovrà essere attivato, ovvero sulla rete di trasporto /30 che abbiamo creato con la VPN in modalita’ tunnel, come di seguito:

se abbiamo fatto tutto correttamente apparira’ una pallina verde che significa che OSPF è in comunicazione con il partner e la routing table si popolera’ di nuove rotte con peso 110 valore classico di OSPF. Se invece rimane una pallina rossa, la cosa piu’ probabile è che il tunnel non sia attivo. Nella figura si vedono due tunnel con OSPF abilitato.

Attenzione: occorre rimuovere dalla pubblicazione le reti che non interessano, ovviamente ci sono le WAN, che non si capisce come mai, nessun HOWTO le cita, ma sopratutto le reti ‘cosidette’ di trasporto, le varie /30 che si vanno a creare tra i vari Sonicwall, che inoltre generano conflitti negli aggiornamenti di rotte OSPF. Questo problema si evidenzia sempre tra due Sonicwall adiacenti. Entrambi annuncieranno che quella rete è di loro proprieta’.

Pioneer SA-610

E’ un ampli che assomiglia alla serie ‘blu’ dei piu’ blasonati SA-7800/SA-8800/SA-9800 ma nulla di piu’. E’ molto differente, sia come costruzione sia come componentistica. Ovviamente è piu’ economico.. oggi si vedono dei prezzi sulla baia per un semplice SA-7800 da rabbrividire.. poi non so se riescono a venderli, pero’ ci provano. Questo ampli è se ben tenuto potrebbe valere attorno ai duecento euro. Qui di seguito trovate il ‘service manual’ che non si trova proprio facilmente. Messo a confronto con il mio SA-8800 ame risulta un po’ chiuso alle alte e piu’ ‘avanti’ in gamma media. Per quanto riguarda la potenza, 45+45 RMS sono comunque sufficienti per un ascolto domestico: non sono un gran fan di questo parametro.. io a casa ascolto con un single-ended valvolare con delle 6L6 che non arriva a 3 watt per canale.

Poco spazio su partizione /var/lib/mysql su Appliance (ready to use) Zabbix

Il problema è la partizione dedicata a mysql quasi piena: come risolvere il problema. Visto che era una VM basta solo aggiungere un disco e spostare il contenuto di /var/lib/mysql e successivamente montare il nuovo device al posto del vecchio device ormai quasi pieno. Non ho la registrazione di quello che ho fatto, vado a memoria:

Ho creato una partizione primaria sul nuovo disco “fdisk /dev/sda” e dopo l’ho formattata con il comando mkfs.xfs /dev/sdb1 – A questo punto ho creato una directory dentro /mnt/disco-da-15-giga e poi lo ho editato in fstab in modo che venga montato all’atto dell’avvio della vm. Ora bisogna spostare il contenuto della /var/lib/mysql su /mnt/disco-da-15-giga – si puo’ fare in diversi modi, io ho scelto di fare un archivio cosi’: tar cvfz dati.tar.gz /var/lib/mysql in seguito ho estratto tutto in /mn/nuovodisco e ho eseguito un chown mysql:mysql * dentro la directory per riportare l’owner corretto dei file.

Ora si tratta di editare /etc/my.cnf.d/mysql-server.cnf in modo da cambiare datadir e socket come vedi:

[mysqld]
datadir=/mnt/disco-da-15-giga/mysql
socket=/mnt/disco-da-15-giga/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid

Ora se fai partire mysqld dovrebbe funzionare normalmente.. solo che ora usa il nuovo disco. Ora bisogna informare Zabbix che il socket non è piu’ il default ma è da un’altra parte: questo si fa editando il file zabbix.conf e precisamente questa riga:

DBSocket=/mnt/disco-da-15-giga/mysql/mysql.sock

Ora contrariamente a quello che si puo’ normalmente pensare bisogna fare l’ultimo passo, perche’ altrimenti il server Zabbix funziona normalmente (lo vedi dai log di zabbix) ma non riesci ad entrare nella GUI via web. Bisogna editare il file /etc/php.ini precisamente questa riga:

pdo_mysql.default_socket=/mnt/disco-da-15-giga/mysql/mysql.sock

Tutto finito…

Aggiornamento WordPress

Per aggiornare questo wordpress, ho dovuto eseguire i seguenti comandi:

  1. cd /home/sito/
  2. chown apache:apache html -R
  3. setfacl -m u:apache:rwx /home/sito/
  4. setfacl -m u:apache:rwx /home/sito/html/

Dopo questi comandi è stato possibile aggiornare all’ultima versione dal management web.

MariaDB migrazione da 10.2 a 10.5

Su source:

Fai uno user ‘backup’ via Webmin

mariabackup –backup –target-dir=./bak –user=backup
mariabackup –prepare –target-dir=bak

Su Target:
service mariadb stop
mv /var/lib/mysql /var/lib/mysql-back
mariadb-backup –copy-back –target-dir=bak
chown -R mysql:mysql /var/lib/mysql
systemctl restart mariadb.service

Via Webmin dai i permessi allo user in modo che possa connettersi dalla rete.

Testing remote db
mysql -u zabbix -h ip.ip.ip.ip -p

Protezione GeoIP su management Sonicwall

Abilitare il GEoIP:

Controlla se funziona il database GeoIP

Selezione wan to wan sul firewall e scegliendo la colonna “GeoIP Report” fai in modo che le reules di management abbiano tutte il flag attivo:

..edita le regole che hanno il ‘http/https/ssh/ management’ attivo come in figura: