Synology DiskStation DS 107+

Synology DiskStation 107+

Di recente, per ottimizzare i processi di backup e di sincronizzazione tra diversi computer dei vari file su cui lavoro, ho deciso di investire un po' di euro in un NAS, ovvero un Network Attached Storage, sostanzialmente un disco fisso collegato in rete.

Dopo una approfondita documentazione ed una buona analisi, la scelta è caduta su di un prodotto Synology, in particolare su di un Synology DiskStation DS 107+ (qui i dettagli tecnici). Per le funzioni che offre, si tratta sostanzialmente di un computer a basso consumo (tra gli 8 ed i 24watt) e ridotte dimensioni, con installata una versione di Linux con kernel per processori ARM.

A parte l'estrema comodità di un'interfaccia web in stile 2.0 sviluppata in Ajax che permette di configurare in modo estremamente user frendly tutti i parametri del server, è chiaro, che quando si parla di Linux, è possibile, con un po' di pazienza e buona volontà, personalizzare senza grossi problemi l'intero sistema per adattarlo alle proprie esigenze.

In questa sezione andrò a raccogliere tutto quello che man mano "scoprirò" e sperimenterò su questo interessante prodotto. Consideratela una guida per terzi, sia un buon ripasso ed una reference guide per il sottoscritto che tende a dimenticare con una certa facilità procedure eseguite dallo stesso qualche tempo prima.

Alcuni link utili:

Forum in italiano: http://ww.synologyitalia.com

Forum ufficiale in inglese: http://www.synology.com/enu/forum/

WiKi: http://www.synology.com/wiki/index.php/Home

Dove acquistare i prodotti Synology

In Italia non è proprio semplice trovare questi prodotti. Per un pò ho cercato in Ebay, ed aquanto pare esiste qualche rivenditore tedesco che commercia e spedisce in Italia prodotti Synology, tuttavia non mi ha mai convinto l'idea di acquistare un prodotto simile all'estero e per di più presso un negozio in una lingua che non conosco... (ho fatto tedesco alle medie, ma chi diavolo si ricorda più una parola?!).

In Italia avevo trovato Pixmania-Pro, che proponeva il DS-207+ ad un prezzo interessante con un piccolo interrogativo, ovvero le specifiche tecniche non coincidevano con quelle del produttore. Ho provato a mandare una mail per qualche delucidazione, ma non ho mai ricevuto risposta. Gran supporto clienti... comportamenti che di certo non invogliano l'acquisto.

Fu così che girovagando per il forum italiano mi sono imbattuto in questo post, nel quale si accennava tra gli altri ad un negozio italiano, Webtown, dove veniva elogiata oltre alla cortesia del titolare, anche gli ottimi prezzi d'acquisto.

Conclusione, dopo un paio di telefonate molto cortesi con un titolare estremamente disponibile, ho acquistato da Webtown una DS 107+ per un prezzo a dir poco concorrenziale, ovvero poco più di 211 euro ivato (tra l'altro ritirato di persona, dato che il negozio non si trova troppo lontano dalle mie parti).

A chi fosse interessato, non posso che raccomandare questo venditore (ovviamente spedisce anche a casa nel caso non siate sufficientemente vicini da ritirare il prodotto di persona).

Synology DiskStation, alcuni link utili

Alcuni indirizzi utili dove trovare documentazione decisamente interessante (in inglese)

Modifications - An index for articles/guides about modifying the Synology server. Click here for the standard contents
Direi il primo posto dove partire per tutte le modifiche che desiderate fare al vostro Disk Station

Overview on modifying the Synology Server, bootstrap, ipkg etc
La sezione del wiki con le istruzioni per l'installazione del bootstrap

Synology Official Wiki

Installare il gestore pacchetti ipkg su DS 107+

Per poter aggiungere programmi al nostro DiskStation Synology, è necessario installare un sistema di gestione pacchetti (anche se in teoria potreste anche installarveli da soli compilando dai sorgenti tutti i pacchetti che vi servono... ;-) meglio lasciar stare eh?). Per la versione di Linux montata sui Disk Station con processore ARM Marvell il sistema di gestione pacchetti è ipkg. Vediamo come procedere alla sua installazione.

NOTA: a partire dalla versione del firmware DSM 2.0-0637 di giugno 2008, è possibile abilitare e disabilitare la shell ssh e telnet Synology direttamente dall'interfaccia di Disk Station Manager, nella sezione "Servizi di rete" -> "Terminale". Quindi le procedure di abilitazione/disabilitazione tramite patch non sono più necessarie.

Come prima cosa abilitate il Telnet, installando la patch relativa (Enable Telnet) che trovate a questo indirizzo; la patch si applica esattamente come si applica un aggiornamento del firmware (utlizzando l'interfaccia web di Disk Station Manager).

Attendete quindi il riavvio del NAS (il conto alla rovescia è di 300 secondi, forse un po' troppo, ma tant'è).

Una volta che il vostro NAS si è riavviato, loggatevi via Telnet utilizzanto l'account di root (che ha la stessa password dell'account admin). Se siete sotto Windows, vi consiglio vivamente di scaricare ed installare Putty se non l'avete già fatto, un eccellente client SSH, Telnet e Rlogin.

Avviate putty e collegatevi al vostro DiskStation utilizzando la connessione Telnet (porta 23):

In Host Name inserite l'indirizzo IP del vostro server NAS, e quindi connettetevi utilizzando root come utente ed inserite la stessa password di admin.

Il prompt dei comandi dovrebbe presentarsi come di seguito (sono un pò maniaco, quindi ho oscurato gli indirizzi IP ;-)

Per installare il sistema di gestione pacchetti ipkg, è necessario installare l'AMR Marvell Bootstrap, o meglio, ipkg viene installato assieme al bootstrap. Vediamo come fare (tutto quello che trovate in queste pagine è stato preso dalle diverse guide sul forum ufficiale di supporto nella sezione modding, e trovate qualcosa sempre nella sezione modding anche nel forum www.synologyitalia.com).

Tutto piuttosto semplice in realtà. Andate nella cartella "public":

cd /volume1/public/

scaricate il bootstrap per la vostra DiskStation, ma eventulamente prima controllate che non sia disponibile un aggiornamento (i modelli supportati li trovate in questa pagina sempre sul sito dell'autore):

wget http://www.maartendamen.com/synoware/ds_armmarvell-bootstrap_1.0.xsh

e quindi installatelo con il comando seguente:

sh ds_armmarvell-bootstrap_1.0.xsh

Per l'installazione del bootstrap vi invito a consultare anche la guida (in inglese) che trovate sul sito dell'autore, decisamente ben fatta. Attendete il termine della procedura di installazione del bootstrap, potreste quindi desiderare di effettuare un aggiornamento della lista dei pacchetti:

ipkg update

e visualizzare quelli disponibili

ipkg list

ma il repository (ovvero la raccolta di pacchetti) messa a disposizione dall'autore non è molto completa; esiste un repository molto più fornito, disponibile a questo indirizzo http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable; per sostituire il repository originale con quest'ultimo, senza costringervi ad imparare da subito l'utilizzo dell'editor "vi" (invero non molto immediato se si arriva da Windows) digitate il seguente comando:

echo "src synox07 http://ipkg.nslu2-linux.org/feeds/optware/syno-x07/cross/unstable/" > /opt/etc/ipkg/ipkg.conf

Per la cronaca il repository originale era "src synoware http://www.maartendamen.com/synoware". Nel caso abbiate qualche problema e non esista la cartella /opt/etc/ipkg, potete crearla con il seguente comando:

mkdir -p /opt/etc/ipkg

Sul mio sistema oltre al file /opt/etc/ipkg/ipkg.conf appena creato, ipkg legge i repository per il software anche dal file /opt/etc/ipkg.conf. Controllate quindi se tale file non esista già ed in caso affermativo rinominatelo o modificatelo commentando i relativi repository che desiderate escludere.

Sostituito il repository, effettuate l'aggiornamento della lista dei pacchetti tramite

ipkg update

Vi ricordo che per installare da esempio il pacchetto "miopacchetto" il comando è

ipkg install miopacchetto

mentre per aggiornare i pacchetti attualmente installati con nuove versioni eventualmente disponibili, il comando è

ipkg upgrade

(comando che conviene in genere far seguire dopo un ipkg update).

Bene, questo è tutto, ora potete procedere con l'installazione dei diversi pacchetti disponibili. Buon divertimento!

Synology DiskStation, consumo energetico

Per un'analisi dei consumi energetici del DS 107+, vi rimando al relativo artiocolo pubblicato nella sezione apposita del sito.

Installare OpenSSH su DS 107+

Il server Synology SSH attivabile con l'apposita patch, non supporta esattamente tutte le funzioni di OpenSSH. Tuttavia, dopo aver installato ipkg e aver seguito fino in fondo le istruzioni che trovate nella relativa guida, installare OpenSSH sul nostro server Synology, sarà decisamente un gioco da ragazzi.

Come prima cosa, se l'avete abilitata, disabilitate la shell SSH di Synology, applicando la relativa patch.

Aspettate il riavvio della macchina, quindi dalla shell di telnet, loggatevi come utente root (come dite? non avete abilitato telnet? allora abilitatela andando sempre di patch) e scrivete:

ipkg update

per assicurarvi di installare l'ultima versione disponibile e quindi

ipkg install openssh

Bene, aspettate che finisca di scaricare ed installare tutti i pacchetti, ed al termine avrete il vostro bel server OpenSSH installato ed operativo. Prima di chiudere la connessione telnet provate a fare un controllo collegandovi via ssh come utente root, utilizzando come sempre il nostro ottimo Putty (se state lavorando in windows):

Se per qualche motivo non riusciste a connettervi come root, tornate alla finestra telnet e andate a reimpostare la password di root digitando:

passwd

e seguite le istruzioni a schermo

ah... e non fate come me, usate una password un po' più complicata (detto in altri termini più lunga, ovvero di 8 caratteri, magari impostatela uguale a quella dell'utente admin per semplificarvi un po' la vita, anche se non sarebbe una buona procedura in termini di sicurezza). Ora provate a riconnettervi con putty via SSH sempre come utente root, digitando la nuova password appena impostata, e dovreste riuscire a loggarvi senza problemi.

Come ultima cosa, una volta che avrete verificato che siete in grado di connettervi correttamente al vostro server OpenSSH (ricordo che potete connettervi solo come utente root ed utente admin), per motivi di sicurezza vi consiglio caldamente di disabilitare telnet utilizzando la patch relativa.

Pacchetti e software interessanti da aggiungere

E' possibile espandere le funzionalità del proprio DiskStation sia installando il bootstrap e quindi procedendo da linea di comando con ipkg, sia (cosa utile per i meno temerari o semplicemente per chi non ha molta dimestichezza con la linea di comando) utilizzando l'opzione di gestione pacchetti disponibile direttamente nel Disktation Manager (la versione cui faccio qui riferimento è la 2.3):

Gestore pacchetti di DSM 2.3

I pacchetti da scaricare sono dei file con estensione .spk; una ricerca in google è forse il modo più semplice per recuperare un po' di applicazioni pronte da installare. Una volta installate, se dotate di interfaccia web, le applicazioni saranno disponibili nella sezione "Third-party applications" del DSM:

Applicazioni di terze parti in DSM 2.3

Non tutte le applicazioni installabili via ipkg sono disponibili tramite l'installatore pacchetti del DSM, quindi chi desidera espandere al massimo le funzionalità della propria DS dovrà rassegnarsi ad utilizzare anche ipkg. Vi segnalo di seguito un elenco di estensioni interessanti che ho avuto modo di testare.

Config File Editor

Disponibile come pacchetto spk, aggiunge un comodo editor con interfaccia web utile per editare alcuni dei file di sistema della vostra diskstation. Comodo quindi se non siete molto pratici di linea di comando e Vi e non desiderate installare ipkg.

Midnight Commander

Disponibile via ipkg, per chi ha avuto la "fortuna" di utilizzare il vecchio DOS, si tratta di un clone di Norton Commander, ovvero di un potente file manager con interfaccia di navigazione testuale. Dispone inoltre di un editor di testi molto intuitivo. L'installazione è semplice, ipkg install mc, tuttavia per una configurazione ottimale, vi consiglio di seguire queste istruzioni, ovvero di aggiungere al file /root/.profile le seguenti righe (potete utilizzare l'editor nano per editare .profile, installabile con ipkg install nano, sicuramente più ituitivo di vi per chi viene da Windows):

export TERMINFO=/opt/share/terminfo
export TERM=xterm
alias mc="mc -c"


Al termine non serve riavviare la DS, semplicemente terminate la sessione ssh e riconnettetevi per poter utilizzare MC a colori. Se non dovessero funzionare i tasti freccia direzionali per navigare, potete configurarli in Options -> Learn keys:

Interfaccia di Midnight Commander

Synology DiskStation, connettersi da remoto via ssh utilizzando un servizio di DNS dinamico

In questa guida vedremo nello specifico le procedure da utilizzare per connetterci al nostro server DiskStation da internet utlizzando una connessione secure shell (ssh).

Notate che le procedure qui mostrare sono possono essere comunque adattate per connetterci al nostro server da remoto utilizzando anche gli altri servizi presenti sul DS. Se ad esempio configurerete il firewall aprendo la porta 5000, potrete gestire da remoto il vostro DS utilizzando la comoda interfaccia web di Disk Station Manager.

Vediamo dunque cosa fare per potersi connettere al DiskStation da remoto utilizzando secure shell.

1. OpenSSH. Come prima cosa dovete installare OpenSSH. Se non l'avete già fatto, vi rimando alla relativa guida.

Installato OpenSSH, procediamo con la seconda operazione.

2. Registrarsi ad un servizio di DNS dinamico. Dato che molto probabilmente il nostro fornitore di servizi internet ci avrà assegnato un IP dinamico, dovremmo utilizzare un servizio di DNS dinamico per essere rintracciabili da internet (a meno di non conoscere ogni volta l'indirizzo IP che si è stato assegnato).

Esistono diversi servizi gratuiti in rete, sceglietene uno tra quelli supportati dal nostro DiskStation (scheda Ez-Internet in Disk Station Manager), andate sul sito e registratevi, quindi tornare nel vostro Diskstation ed impostate i relativi campi con i dati di registrazione (qui sotto vedete la mia configurazione presso DYNDNS.org):

Anche alcuni router (il mio Netgear ad esempio) supportano servizi di DNS dinamico; potete quindi scegliere se utilizzare il router od il server Synology per effettuare l'aggiornamento del vostro IP presso il fornitore di servizio. Da qui in avanti supponiamo sia mionome.dyndns.org il nome host scelto. Ciò significa che una volta aggiornati i dati, saremmo raggiungibili da internet digitando il seguente indirizzo: mionome.dyndns.org qualunque sia il nostro indirizzo IP esterno (per la precisione l'indirizzo IP del nostro router). Se doveste avere le idee un po' confuse, forse lo schema seguente potrebbe esservi d'aiuto:

3. Configurare il router x reindirizzare il traffico alla porta 22 (ssh) direttamente sul DS. Se guardiamo lo schema qui sopra, possiamo vedere come il router faccia da interfaccia di collegamento tra la nostra rete interna (dove gli indirizzi IP delle macchine collegate saranno tipicamente del tipo 192.168.0-1.1-255) e la rete internet vera e propria. Da internet tutta la nostra rete sarà identificata con un unico indirizzo IP. Collegandosi a quell'indirizzo IP (od all'indirizzo mionome.dyndns.org) sostanzialmente ci collegheremo al nostro router. Sta al router poi reindirizzare il traffico ad uno specifico computer della rete. Quello che dobbiamo fare è configurare il router in modo tale che tutte le richieste di connessione in entrata alla porta 22 del nostro router (porta di default per ssh) vengano reindirizzare al Server Synology:

La procedura in realtà non è molto complessa, ma qui non vi posso essere di molto aiuto, a meno che non abbiate un router come il mio (un netgear). La procedura esatta dipende infatti dal tipo di router, ed oltretutto alcuni router non permettono nemmeno di effettuare questo tipo di operazione.

Comunque, quello che dovete fare è configurare dei servizi o regole del firewall (anche qui i nomi non sono sempre gli stessi) in modo da aprire la porta 22 in entrata e reindirizzare il traffico a quel particolare indirizzo IP della rete che identifica il Server Synology.

Prima però c'è un'altra cosa da fare, ovvero assegnare al DiskStation un IP statico, IP che nel nostro caso sarà 192.168.0.2 (ma potete utilizzare un qualunque indirizzo IP libero della vostra rete). Questa operazione è piuttosto semplice, e si fà direttamente in Disk Station Manager, nella scheda Rete, basta selezionare la casella "Utilizza configurazione manuale":

Impostate l'indirizzo IP desiderato e la subnet mask (che generalmente è 255.255.255.0). A carattere informativo sappiate che alcuni router permettono di configurare direttamente gli indirizzi IP della rete, associando il MAC address della scheda di rete ad uno specifico indirizzo IP. Potete quindi configurare tutti gli IP della rete direttamente dal vostro router, senza dover impostare manualmente i parametri sulle singole macchine, a patto ovviamente di essere in grado di identificare i relativi MAC address delle macchine collegate.

Bene, a questo punto possiamo configurare il router (qui magari tirate fuori il manuale del vostro router). Nel Netgear dg834gt, è sufficiente andare in "Regole del Firewall", e nella sezione dei "Servizi in ingresso", cliccare su "Aggiungi"; si apre la scheda seguente, da compilare come mostrato:

Cliccare quindi su "Applica" per tornare alla scheda precedente, e nuovamente su "Applica" per salvare le modifiche. Bene, ora dovrebbe essere possibile connettersi al nostro DiskStation da internet via ssh. Per verificarlo possiamo provare con Putty, connettendoci a mionome.dyndns.org:

Se avete configurato tutto a dovere, comparirà il prompt della vostra DiskStation, dove potrete loggarvi come utente root. Potrete ora gestire via shell la vostra DiskStation da remoto, ovvero anche quando non siete all'interno della rete LAN in cui è collegato il vostro server NAS.

Aggiornare il firmware su di un DiskStation modificato

Su di un DiskStation modificato, ovvero in cui è stato installato software non ufficiale, in genere l'aggiornamento del firmware non comporta grossi problemi o la necessità di reinstallare tutti gli applicativi aggiunti.

Diciamo che in linea teorica si potrebbero al più perdere alcune delle personalizzazioni fatte nel caso di riscrittura di alcuni file di sistema che sono stati da noi modificati, tuttavia, per quanto mi riguarda, confesso di non aver riscontrato nessun grosso problema.

Del resto, così come non vengono toccati i file caricati (che sono memorizzati nella partizione hd3, montata in /volume1) allo stesso modo non vengono perse tutte le modifiche apportate dall'utente, quali l'installazione del bootstrap, di ipkg e di tutti i pacchetti non ufficiali; l'aggiornamento del firmware infatti non dovrebbe creare problemi con questi applicativi, in quanto

  1. non viene toccato il bootstrap
  2. utilizzando le procedura descritte in queste pagine, e quindi utilizzando i pacchetti disponibili tramite ipkg direttamente da questo server, tutto il software aggiuntivo viene installato nella partizione hd3, ovvero nella cartella /volume1/opt (e viene creato l'hardlink /opt --> /volume1/opt) che come già detto non è interessata dalla operazione di upgrade del firmware.

Sebbene possa dire di aver fatto l'upgrade del firmware senza problemi, consiglio comunque di effettuare prima dell'aggiornamento un backup almeno di quei dati che rivestono importanza fondamentale (ma in tal caso si suppone che disponiate già di un backup di riserva di questi dati).

Altra cosa, è consigliato procedere con il backup delle impostazioni utente utilizzando la funzione disponibile direttamente da Disk Station Manager, questo nel caso qualcosa dovesse andare storto durante l'aggiornamento (è solo una precauzione).

La procedura di aggiornamento del firmware è piuttosto semplice, è sufficiente (una volta scaricato l'aggiornamento stesso per il vostro modello specifico) caricare il file ed attendere il completamento dell'operazione:

Come già detto, al termine dell'aggiornamento, tutte le impostazioni personalizzate configurate tramite l'interfaccia web del Manager (quali ad esempio gli utenti creati, i permessi sulle cartelle condivise, le impostazioni dei vari servizi attivati ecc…) saranno mantenute tali.

In effetti l'aggiornamento e la suddivisione del file system del DiskStation è stato studiato in modo tale da non dover riconfigurare ogni volta la macchina da zero, e consentire così di aver sempre il software aggiornato senza grossa fatica o rischi da parte dell'utente finale.

Al termine dell'aggiornamento del firmware è opportuno controllare anche la disponibilità di nuove versioni per "Assistant" e "Download Redirector", in quanto le vecchie potrebbero non essere più compatibili. L'installazione di questi applicativi è semplice e senza rimuovere la vecchia versione è possibile procedere ad un aggiornamento utilizzando la funzione "Ripara Synology...".

Download station "Impossibile stabilire una connessione di rete"

Dopo aver installato il firmware "DSM 2.0-0722", Download station, una volta attivata, restituiva l'errore "Impossibile stabilire una connessione di rete" nel tentativo di connettersi tramite interfaccia web, mentre il software Download redirector non era in grado di connettersi al servizio.

La soluzione piuttosto semplice l'ho trovata in questo post del forum di Synology. La riporto qui in quanto il forum è in inglese e non tutti potrebbero essere in grado di trovare la pagina in questione (l'errore in lingua inglese è "Failed to establish network connection").

Il problema sembra essere in un database danneggiato. Per risolvere il problema come prima cosa è necessario arrestare il servizio di Download:

Quindi è sufficiente connettersi a Diskstation via ssh come utente root e digitare i seguenti comandi:

/usr/syno/etc/rc.d/S20pgsql.sh restart
su -l admin
/usr/syno/pgsql/bin/dropdb download
exit
/usr/syno/etc/rc.d/S25download.sh restart

La prima riga, non fa altro che riavviare il server database PostgreSQL e richiede i privilegi di root.

PostgreSQL utilizza invece i privilegi dell'utente admin, e per eseguire operazioni sui database è necessario loggarsi come tale utente (ed è quello che facciamo digitando la seconda riga).

Con la terza riga eliminiamo il database "download" utilizzato da download station (dovreste leggere DROP DATABASE come messaggio del server), e dopo essere tornati utente root (quarta riga, comando exit) si procede riavviando il servizio di download station (quinta riga).

Se dovessero verificarsi nuovamente problemi, se ad esempio non si riuscisse a riavviare il server PostgreSQL, ovvero se il comando

/usr/syno/etc/rc.d/S20pgsql.sh restart

restituisse degli errori irreversibili, è bene controllare che tutti i file dei database appartengano all'utente admin. Per un qualche motivo ho sperimentato personalmente questo problema, ed alcuni file dei database appartenevano all'utente root impedendo di fatto a PostgreSQL di scrivere su tali file. Per riassegnare correttamente il proprietario ed il gruppo ai file dei database, andate nella cartella:

cd /volume1/@database/pgsql/

che contiene i file dei database di PostgreSQL e digitate quindi

ls -lar * | more

ed assicuratevi che tutti i file abbiano admin / users rispettivamente come proprietario / gruppo. In caso contrario digitate:

chown -R admin:users *

per riassegnare i permessi in modo corretto. Procedete quindi con le operazioni descritte sopra per ripristinare la vostra download station.

Al termine è possibile tornare in Disk Station Manager ed ora dovreste essere nuovamente in grado di accedere al servizio, sia tramite interfaccia web, sia tramite Download Redirector. Poichè il database precedente è stato eliminato, alla successiva riconnessione via Download Redirector, dovrete reimpostare alcuni dei parametri di configurazione.