Configura un server di archiviazione collegato alla rete robusto a basso consumo energetico

Mark Harris
|  Creato: settembre 23, 2019  |  Aggiornato: marzo 16, 2020

Costruire un dispositivo Internet-of-Things, o forse registrare video continuativamente, richiede un sistema di archiviazione di alta capacità e basso consumo, preferibilmente utilizzando hardware economico. In casi specifici, il tuo dispositivo potrebbe essere remoto o potrebbe dover gestire intensità di vibrazione elevate, come essere montato su un pezzo di attrezzatura industriale, su un robot o in un veicolo. Tali circostanze rendono indispensabile l'uso di memorie allo stato solido.

Raspberry Pi?

Ho iniziato guardando la costruzione di un server di archiviazione collegato in rete utilizzando un Raspberry Pi; dopotutto, sono ottimi piccoli computer su scheda singola. Tuttavia, ci sono alcune cose che li rendono meno che ideali per questo tipo di applicazione. In primo luogo, la porta di rete è solo di 300Mbit/s nell'ultima versione 3B+, e di 100Mbit/s nelle generazioni più vecchie. In secondo luogo, le porte USB sono solo USB 2.0 (480Mbit/s), quindi sono significativamente più lente dell'USB 3.0 (5Gbit/s). I connettori USB non sono sempre i migliori per ambienti ad alta vibrazione e possono avere errori di connessione intermittenti a causa di ciò, o fallire per fatica se il cavo non è ben fissato. I cavi USB, specialmente quelli 2.0, non si comportano particolarmente bene nemmeno in ambienti ad alta EMI, come vicino a motori azionati da VFD.

ODroid HC1!

Dopo aver confrontato numerose opzioni interessanti sul mercato, ho scelto un ODroid HC1 (Home Cloud 1) dal loro distributore nel Regno Unito (https://odroid.co.uk). È un computer a scheda singola molto compatto e a un prezzo ragionevole. I benchmark pubblicizzati sono piuttosto impressionanti per l'HC1, rispetto ad altri computer a scheda singola in una fascia di prezzo simile.

Quando acquistato direttamente da Hard Kernel, l'unità costerebbe 49 dollari USA, esclusi spedizione, alimentatore o disco rigido. Hard Kernel offre anche alcune schede molto impressionanti in un formato RasPi, con una grande potenza di elaborazione per coloro che sono disposti a pagarla. L'HC1 mi ha attratto per essere dedicato al controllo dello storage collegato alla rete, completamente privo di qualsiasi funzionalità superflua. È anche piuttosto compatto nonostante sia montato su un enorme dissipatore di calore che funge da involucro aperto, con l'opzione di includere un coperchio superiore per coloro che lo preferirebbero.

Avrei preferito che avesse la funzionalità WiFi integrata, così come la capacità di gestire più unità per il RAID e la sicurezza dei dati in caso di guasto del disco. Sebbene l'Odroid HC1 non disponga di tali funzionalità, mantiene una singola porta USB, che potrebbe opzionalmente essere utilizzata per collegare un dongle WiFi USB. Ero interessato al WiFi per comodità, per poter controllare il contenuto dell'unità da un dispositivo mobile, piuttosto che per scrivere o leggere grandi quantità di dati. Il RAID, d'altra parte, è un po' più complicato sui computer a scheda singola a meno che non si inizi a guardare a macchine basate su x86, aggiungendo processori grafici o considerando funzionalità aggiuntive che consumano molta energia. È stato difficile trovare un'opzione compatta e a basso consumo, quindi ho dovuto rinunciare al RAID.

Memoria

Ho optato per un SSD Samsung 860 Evo SATA da un terabyte come dispositivo di archiviazione e per una scheda microSDHC Sandisk da 16 gigabyte come dispositivo di avvio. Ho provato ad arrangiarmi con una vecchia microSD da due gigabyte, ma era troppo lenta per il sistema operativo. La Sandisk microSDHC da 16gb era la scheda di marca più economica disponibile. Se stai cercando una configurazione estremamente robusta, i dischi Samsung 860 Evo PRO costano il doppio ma offrono quasi quattro volte la durabilità del flash rispetto all'Evo, il che potrebbe valerne la pena per un'installazione remota che raccoglie dati critici. La versione PRO consuma anche notevolmente meno energia. Un'opzione leggermente più orientata al risparmio da parte di Samsung è la linea Qvo, che ha circa la metà della durabilità del flash dell'Evo. Ho deciso di scegliere i Samsung rispetto ad altre marche perché il mio hardware non offre l'opzione per il RAID. Non ho avuto problemi con essi in passato e ne ho 9 in funzionamento continuo, quindi ho deciso di attenermi a ciò che ha funzionato bene per me in precedenza.

I dischi meccanici non sono una buona idea per ambienti a basso consumo, con intense vibrazioni o ambienti difficili. Sono molto economici per la capacità di memorizzazione che offrono rispetto a un SSD di qualità, ma le vibrazioni li danneggiano molto rapidamente, così come la polvere e l'umidità. Un SSD consuma molto meno energia rispetto a un disco meccanico e non soffre del tempo di avviamento al risveglio quando si vuole iniziare a scrivere dati.

Boxed Samsung 860 EVO SSD and ODroid HC1

Samsung 860 EVO SSD e ODroid HC1 dopo l'acquisto.

Sistema Operativo

Ci sono diversi sistemi operativi per l'archiviazione collegata in rete disponibili per i computer a scheda singola. Ho deciso di usare OpenMediaVault perché funziona su un numero considerevole di computer a scheda singola basati su ARM, permettendoti di seguire anche se scegli un percorso diverso (come un Raspberry Pi). Ha anche un'interfaccia web molto facile da usare per la configurazione e la gestione di condivisioni/utenti, evitando quindi l'uso della riga di comando o SSH!

Preparazione del SO

Configurare e avviare l'ODroid HC1 è semplicemente una questione di collegare il disco rigido, flashare e inserire la scheda SD, e infine, collegare ethernet e alimentazione. Andiamo attraverso questi passaggi uno per uno.

Innanzitutto, trasferiamo l'immagine del firmware sulla scheda SD.

  1. Scarica l'immagine "OMV_4_Odroid_XU4_HC1_HC2.img.xz" da Sourceforge.

  2. Scarica qualsiasi programma di flashing che preferisci. In questo articolo lavoreremo con Etcher (https://etcher.io/) perché è semplice da usare.

  3. Inserisci la microSD nel tuo computer.

  4. Apri Etcher e seleziona l'immagine scaricata, poi il tuo drive.

  5. Clicca su Flash!

Preparazione dell'Hardware

Mentre Etcher sta flashando e validando l'immagine sulla tua scheda SD, puoi assemblare l'ODroid HC1 e l'hard disk semplicemente collegando l'hard disk al connettore SATA dell'HC1.

An ODroid HC1 connected to a Samsung EVO SSD

L'ODroid HC1 collegato al disco Samsung costituisce un'unità di storage di rete molto compatta.

Poi giralo e usa le viti incluse per fissare il disco.

Puoi quindi collegare il cavo ethernet.

An ethernet cable connected to an ODroid HC1 in its casing and connected to a Samsung EVO SSD

Una volta che hai collegato il cavo ethernet, avrai terminato di connettere tutta l'hardware.

Una volta che Etcher ha terminato di preparare la scheda SD, puoi procedere inserendola nell'HC1 e poi collegare l'alimentazione. OpenMediaVault richiede essenzialmente una connessione internet stabile al suo primo avvio. Ho provato ad avviare il mio HC1 la prima volta collegato a una rete che includeva un collegamento wireless, il quale non era particolarmente di alta qualità, e ho avuto notevoli difficoltà a far funzionare il dispositivo. Tuttavia, ho avuto successo immediato collegando l'HC1 direttamente alla parte cablata della rete.

Può volerci un po' per il primo avvio, quindi fatti un tè o un caffè, o dai un'occhiata ad alcuni degli altri articoli su questo blog. Lascia che l'HC1 si avvii e si installi per almeno 15 minuti; non c'è un'indicazione visiva che abbia terminato, quindi è meglio lasciare il dispositivo un po' più a lungo piuttosto che fare qualcosa troppo presto.

Configura il Vault

Vorrai controllare ciò che fornisce gli indirizzi DHCP sulla tua rete (tipicamente il tuo router internet in una casa o in un piccolo ufficio) per guardare i client connessi e trovare l'indirizzo IP dell'ODroid. In alternativa, puoi usare uno strumento di scansione IP per trovarlo: una scelta popolare è Angry IP Scanner (preferisco la versione legacy perché non richiede Java). Se questo è il tuo unico ODroid sulla rete, probabilmente puoi saltare la ricerca dell'indirizzo IP e navigare su http://odroidxu4/ nel tuo browser web. Altrimenti, vai all'indirizzo IP con il tuo browser.

OpenMediaVault login screen

Configurare OpenMediaVault inizia con l'accesso.

Il nome utente e la password di default sono admin / openmediavault.

La prima cosa che vorrai fare è andare su Sistema⇒Impostazioni Generali e poi su Password Amministratore Web per cambiare la tua password.

eb administrator password change interface in OpenMediaVault

Poi puoi dirigerti su Sistema⇒Gestione Aggiornamenti per assicurarti di avere tutti i pacchetti più recenti. Premi il pulsante Verifica, poi clicca la casella accanto a Informazioni Pacchetto per selezionare tutto e premi il Pulsante Aggiorna

OpenMediaVault checking for updates interface

 

OpenMediaVault installing updates window

Attendi un momento mentre OpenMediaVault installa i suoi aggiornamenti.

Una volta completati gli aggiornamenti, vorrai riavviare. Puoi cliccare sull'icona del menu ⋮ in alto a destra del cruscotto e selezionare riavvia.

OpenMediaVault menu, with mouse hovered over the reboot button

Configurazione del disco rigido

Se stai utilizzando un disco rigido esistente, o il tuo disco rigido è preformattato, dovrai eliminare le partizioni prima di procedere. Puoi andare al menu Archiviazione⇒File System, selezionare qualsiasi voce /dev/sda* ed eliminarle. Tuttavia, assicurati di non toccare la voce /dev/mmc, poiché quella è la scheda SD da cui stai avviando!

OpenMediaVault storage management interface

Configurare un disco rigido richiede che tu crei un file system.

Una volta che hai un disco vuoto, puoi cliccare sul pulsante Crea. Dai un'etichetta di volume al tuo disco, assicurati che EXT4 sia selezionato come file system e clicca OK.

OpenMediaVault create file system window asking for device, label, and file system type

Questo probabilmente richiederà alcuni minuti per completarsi.

Create file system process window in OpenMediaVault

Una volta fatto, clicca Chiudi, poi seleziona /dev/SDA1 e poi clicca sul pulsante Monta. Dovrai poi cliccare su Applica affinché il disco venga montato.

OpenMediaVault storage management interface after a file system has been created

Il pulsante applica può essere trovato nell'angolo in alto a destra della tabella dei dispositivi.

Ottenere Accesso

Il passo successivo è creare un utente per accedere alla condivisione di file. Vai a Gestione dei Diritti di Accesso⇒Utente nel menu, poi clicca su Aggiungi.

Access right management interface in OpenMediaVault with the Add User button being highlighted

Ora che abbiamo finito con lo storage, dobbiamo configurare la gestione dei diritti di accesso.

Imposta il nome utente e la password, poi clicca su Aggiungi. Dopo, dovrai Applicare le modifiche come hai fatto quando hai montato il nuovo sistema di file. Ora hai un utente per accedere alla condivisione di file.

Add user interface with data for name, comment, email, and password filled in

Dovremo configurare le opzioni di base quando creiamo un nuovo utente.

Vai a Gestione dei Diritti di Accesso⇒Cartelle Condivise e clicca su Aggiungi.

Semplicemente dai alla condivisione un nome come “logdata” e clicca su Aggiungi. Idealmente, dovresti anche impostare i permessi per negare l'accesso agli “altri”, così solo gli utenti possono accedere alla cartella.

OpenMediaVault add shared folder interface

Creare una cartella condivisa permette all'utente che abbiamo appena creato di trasferire dati da e verso lo storage collegato alla rete.

Una volta creata la condivisione, puoi selezionarla e poi cliccare sul pulsante Privilegi per aggiungere il tuo utente.

Access rights management window with emphasis on the privileges button above the folders table

Vuoi selezionare la casella di controllo Leggi/Scrivi e poi cliccare su Salva. Ancora, devi applicare queste modifiche.

Shared folder privileges window with the recently created user highlighted

Infine, fai clic sul pulsante ACL, accanto al pulsante Privilegi che hai precedentemente cliccato, e fai la stessa cosa poi Applica e Chiudi.

Modify shared folder ACL window in OpenMediaVault

Abilitazione dell'Accesso alla Rete

Vai all'opzione del menu Servizi - SMB/CIFS. Questo è il file server sul dispositivo.

Clicca su Abilita poi Salva e Applica.

Services > SMB/CIFS settings window in OpenMediaVault

Non dimenticare di cliccare il pulsante applica per salvare le modifiche che fai.

Una volta che hai abilitato il server SMB, clicca sulla scheda Condivisioni e poi sul pulsante Aggiungi. Puoi selezionare la condivisione precedentemente creata e poi cliccare il pulsante Salva, quindi Applica le modifiche.

Add share interface for the recently created shared folder in OpenMediaVault

In Windows, puoi andare a \\odroidxu4\ (o \\indirizzoip\) in Esplora Risorse per vedere se la condivisione è impostata correttamente. Inserisci le credenziali che hai creato in precedenza quando richiesto.

Windows security prompting for credentials to connect to the ODroid HC1

Windows operating system network folder showing the accessible shared folder on the OCDroid

Possiamo usare le nostre credenziali per vedere e accedere alla cartella condivisa sull'OCDroid da qualsiasi altro computer sulla rete.

Copiando da o verso l'unità, dovresti vedere velocità di trasferimento di circa 95-115Mbyte/secondo su una rete cablata, che è approssimativamente veloce quanto una rete gigabit può trasferire. Il throughput sull'HC1 è piuttosto impressionante.

Altri Metodi di Accesso

OpenMediaVault supporta anche altri metodi di trasferimento file. Se il dispositivo che genera tutti i dati che devi memorizzare non supporta i file system SMB (condivisioni Windows), allora potresti voler abilitare anche FTP. FTP non è veloce come SMB, generalmente parlando, tuttavia, se stai utilizzando un microcontrollore, è più facile da implementare rispetto alle condivisioni SMB.

Il server FTP può anche essere piuttosto utile per navigare nel server da una posizione remota. Se vuoi accedere al server FTP da un microcontrollore di base, probabilmente non vorrai che SSL sia obbligatorio, ma solo opzionale. Se hai bisogno di eseguire il server FTP senza SSL, dovresti accedere al server su internet solo tramite un tunnel VPN nella rete a cui è connesso il NAS.

Abilitare FTP

Vai su Servizi⇒FTP poi spunta la casella Abilita e clicca Salva.

Services > FTP settings window in OpenMediaVault

Ora puoi andare alla scheda Condivisioni e Aggiungere la condivisione proprio come hai fatto per la condivisione SMB sopra. Non dimenticare di cliccare Salva e poi Applica le modifiche alla configurazione.

dd share interface with the enable checkbox ticked

Conclusione

Se stai cercando di costruire un server di archiviazione dati remoto che utilizzi pochissima energia e occupi solo una piccola quantità di spazio, l'Odroid HC1 è un'ottima opzione. Se ti trovi in un ambiente molto umido o bagnato, potresti voler applicare una vernice conformale e dare alla scheda una generosa mano su entrambi i lati, e potenzialmente anche all'interno del tuo disco rigido (solo se stai utilizzando un disco a stato solido). La vernice conformale assicurerà che le schede non soffrano di corrosione.

Il grande dissipatore di calore sull'Odroid aggiunge una notevole rigidità alla configurazione, quindi c'è una preoccupazione minima che il connettore SATA possa subire fatica a causa di vibrazioni o impatti. Abbinato a un disco a stato solido, ciò ti offre un dispositivo di archiviazione collegato alla rete robusto.

Come accennato in precedenza, per ottenere la massima robustezza, sarebbe ideale avere i dati automaticamente duplicati su due dischi. Ancora meglio, potremmo avere più dischi in RAID 6, ma in questo caso supereremmo di gran lunga gli obiettivi di compattezza, basso consumo e convenienza economica. Gli involucri con dissipatore di calore Odroid HC1 sono impilabili, quindi sarebbe possibile utilizzare semplicemente due NAS insieme e usare la sincronizzazione software come RSync, che OpenMediaVault può configurare per te, sul secondo sistema per copiare i file dal primo. Sincronizzando i due sistemi, avresti una certa capacità di failover e di conservazione dei dati in caso di guasto di un disco.

Vuoi scoprire di più su come Altium Designer® può aiutarti con il tuo prossimo progetto di PCB? Parla con un esperto di Altium.

Sull'Autore

Sull'Autore

Mark Harris è un ingegnere eccezionale con oltre 12 anni di esperienza diversificata nel settore dell'elettronica, che va dai contratti aerospaziali e di difesa ai prodotti start-up, passatempi, ecc. Prima di trasferirsi nel Regno Unito, Mark ha lavorato per uno dei più grandi istituti di ricerca del Canada. Ogni giorno portava con sé un progetto o una sfida diversa che coinvolgeva l'elettronica, la meccanica e il software. È responsabile della pubblicazione della “Celestial Database Library”, la più grande libreria di componenti di database open source per Altium Designer. Mark è attratto dall'hardware e dal software open source, nonché a trovare soluzioni innovative per le sfide quotidiane di questi progetti. L'elettronica è pura passione: seguire la trasformazione di un'idea in realtà e interagire con il mondo è fonte di infinito piacere.
Puoi contattare Mark direttamente a: mark@originalcircuit.com

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.