Modificare un Network Attached Storage (NAS)

Io cerco di trovare qualche piattaforma hardware e distribuzioni Linux in questo articolo, così i fan possono costruire il loro Network Attached Storage (NAS) o espandere il loro NAS con più funzioni. Come hackerare un NAS esistente (Network Attached Storage).

Che cos'è il NAS?

NAS è l'acronimo di Network Attached Storage. Esso è stato introdotto da Novel per offrire un servizio di condivisione di file in rete. Il Network Attached Storage (NAS) è stato progettato per applicazioni aziendali, in modo che supporti UNIX nativamente. I consumatori hanno bisogno di più capacità di archiviazione per il file multimediali scaricati da Internet. Un consumatore NAS (Network-Attached Storage) può condividere i file multimediali con tutti i PC e i lettori digitali. Inoltre, il NAS può scaricare file da BitTorrent o eDonkey anche scollegati dal PC. L'ultimo NAS può essere trasformato in un vero e proprio server multimediale con svariate caratteristiche.

Controlliamo il lungo elenco:

    1. La condivisione di file per Windows, Linux e Mac tramite Samba, NFS, HTTP, FTP e rsync;
    2. Facili backup di dati per schede flash, penne USB e dischi fissi portatili, con supporto RAID opzionale;
    3. Un server di stampa;
    4. Un server multimediale per Windows MCE, Xbox360 e PS3 con UPnP/DLNA;
    5. Un server web con DDNS, PHP, ASP, SQLite e MySQL;
    6. Un server FTP;
    7. Un server iTunes;
    8. A server che supporta il download da BT, eDonkey e FTP 24 ore su 24;
    9. Una server di videosorveglianza domestica, che supporta sia telecamere IP sia USB;
    10. Più pannelli di amministrazione in GUI web, console virtuale e software personalizzato per il terminale;
    11. Molto di più ...

Perché abbiamo bisogno del NAS (Network Attached Storage)?
Anche se possiamo utilizzare i più potenti PC in molte applicazioni, abbiamo ancora bisogno di computer integrati come NAS per la sicurezza, il consumo di energia, e la rete.

Sicurezza nei NAS
Un NAS ben progettato è in grado di offrire maggiore sicurezza di un normale PC. La maggior parte dei sistemi operativi per NAS sono basati su Linux, in modo da avere meno problemi di virus rispetto a Windows. Anche se sono scaricati file infetti da qualche virus, il sistema operativo integrato nel NAS non è infettato dal virus. Naturalmente, si deve eseguire la scansione del file con un software anti-virus.
Un doppio slot NAS di solito offre il servizio di backup RAID. Quindi i dati importanti possono essere ripristinati se un disco ha dei malfunzionamenti.

Consumo di energia nei NAS
Un PC non è stato progettato per lavorare 7 giorni su 7 e 24 ore su 24. Si può lavorare per un lungo periodo di tempo. Ma non voglio lasciare il mio computer acceso per scaricare un file enorme, senza sapere quando può essere spento. Un NAS può lavorare in modo più efficace per lo spreco di energia. Se non c'è alcuna connessione attiva, il NAS spegne il disco fisso e resta in attesa per connessioni. Il consumo di energia di un normale NAS dipende dal suo hard disk, che si aggira tra i 5W e i 20W. Un NAS ci farà risparmiare denaro e ridurrà le emissioni di carbonio nell'ambiente.

Accesso alla Rete
Un Network Attached Storage (NAS) è in grado di ridurre inutili comunicazioni di rete ad Internet. La maggior parte dei file multimediali sono condivisi sul NAS all'interno della LAN. Gli altri apparecchi basati su IP possono lavorare dal NAS caricando i file multimediali per la riproduzione. Possiamo impostare la nostra "HOME" pagina a casa, perché un NAS offre anche un server web con DDNS (Dynamic DNS). Oltre ai regolari contenuti web, possiamo utilizzarla per l'accesso alle telecamere di sorveglianza come un server di sorveglianza remoto. Si tratta di un servizio molto importante per la casa digitale. Un NAS è un buono piattaforma per ospitare questo servizio.

In realtà il NAS potrebbe essere una piattaforma per molte applicazioni commerciali di rete. Ad esempio, è possibile utilizzarlo in un annuncio Bluetooth o in negozio musicale al dettaglio. Basta collegare una penna Bluetooth e installare il software necessario, il NAS può iniziare a diffondere la pubblicità o i clip musicali tramite Bluetooth.

Paradosso del NAS

C'è un paradosso nel NAS. Un NAS suppone di offrire molto più grande rispetto alla capacità di memorizzazione dei supporti esistenti. Tuttavia, a causa della rapida crescita del mercato della memoria, la capacità di memoria di un piccolo NAS di solito soccombe dopo diversi mesi. Secondo la famosa legge di Moore, un NAS di solito affronta la necessità di un aggiornamento della capacità del disco e della larghezza di banda di connettività di rete locale dopo 18 mesi. Oggi, un PC desktop avanzato dispone di un hard disk da 512GB mentre un NAS ne ha uno da 2 TB. Forse un normale PC avrà un hard disk da 2TB 6 mesi dopo. Così la NAS perderà la sua capacità di vantaggio in quel momento. Un consumatore può esitare a comprarsi una NAS che può sembrare essere obsoleta un anno dopo. Di conseguenza, il venditore di NAS integra numerose funzioni di intrattenimento, in modo che il consumatore si può convincere che il NAS può essere utile in molti altri modi, oltre alla conservazione ed alla condivisione.

Piattaforma Hardware del NAS

L'ultimo modello NAS disponde di slot SATA-II, USB 2.0 ad alta velocità, Ethernet da 1 gigabit o connettività Wi-Fi da 54M. La struttura di un NAS è identico ad un normale PC senza monitor e dispositivi di input. In generale, un computer RISC o un nuormale PC x86 può essere utilizzato come piattaforma hardware per un NAS. La maggior parte dei dispositivi NAS commerciali usa processori RISC. Sta a te scegliere la piattaforma hardware. Tuttavia, creare un sistema RISC richiede hardware aggiuntivo e conoscenze, quindi non è consigliato per un principiante. Costruire una NAS su un PC è un buon punto di partenza per un principiante. Almeno non ci preoccuperemo di rompere la scheda.

NAS basati su RISC
Ho sfogliato il catalogo dei produttori di semiconduttori per il NAS. Tra questi chip, Marvell's Digital Home Piattaforme integra la maggior parte delle caratteristiche desiderate con un chip ARM da 1.5GHz, audio SPDIF/I2S e TS/Video. Ovviamente, è più di il NAS. Il chip è molto popolare in prodotti commerciali NAS. Si può facilmente trovarne uno e modificarlo.

Se siete alla ricerca di altre piattaforme, potete anche trovare le soluzioni da Freescale (Power PC), PMC-Sierra (MIPS), e Cirrus Logic (ARM920). Tuttavia, questi chip hanno di solito microprocessori più lento (da 200MHz a 400MHz) e periferiche più lente (ATA, USB1.1, Ethernet da 10/100M). Così si può utilizzare solo come un semplice dispositivo di memorizzazione.

Se lo si vuole costruire da zero per imparare come funziona Linux, i migliori candidati sono l' S3C2410/2440 e l'XScale. Questi chip non sono progettati per la NAS, ma per palmari. Tuttavia, questi chip sono molto popolari e hanno la maggior parte delle periferiche su chip. Naturalmente, le prestazioni delle periferiche non sono sufficienti, a volte è necessario espanderle con hardware supplementare.

JTAG e la Console Seriale
Potrebbe essere necessario una scheda JTAG e una porta seriale per creare una scheda "vergine". È necessario utilizzare la scheda JTAG per scaricare il boot-loader nella memoria flash integrata, ed utilizzare la porta seriale per editare il boot-loader per un' ulteriore programmazione e configurazione. Tuttavia, se il chip (come il TI OMAP3530) ha il codice di avvio integrato per supportare l'avvio di opzioni extra, come penne USB, schede SD, Ethernet, hard disk, si deve essere fortunati a scegliere un semplice chip su cui lavorare.

Microcontroller
Alcuni dispositivi NAS utilizzano un microcontroller di basso costo per ottenere l'input e la luce per i LED di stato. Ci sono alcune modifiche disponibili per questi microcontroller. Tuttavia, devi avere alcuni strumenti di programmazione hardware per scaricare il firmware del microcontroller. Il metodo di programmazione è a carico del rivenditore.

NAS basati su PC
Come ho già detto, siamo in grado di utilizzare un PC obsoleto come piattaforma hardware, in quanto la struttura hardware di un NAS è quasi identica a quella di un PC. Dobbiamo prendere in considerazione solo il consumo di energia, la scalabilità e la disponibilità di una specifica piattaforma hardware. Un PC obsoleto di solito consuma un sacco di potenza, genera molto rumore. Questo non mi piace. Un NAS basato su PC deve consumare poca potenza, generare basso rumore ed essere abbastanza veloce.

Se controlliamo i fornitori x86, Intel, VIA, AMD e i loro partner hanno offerto molti modelli di riferimento. La maggior parte dei modelli di riferimento sono basati su CPU a bassa potenza. Tra questi chip, io preferisco il processore Intel ATOM. Esso offre il più basso consumo di energia finora. Il prezzo della scheda basata su ATOM si aggira sui 100 $ americani. È possibile creare una NAS a doppio vano su piattaforma ATOM con 140$ (escluso l' hard disk SATA). La scheda EPIA della VIA è anche un buon candidato per una NAS basata su architettura x86.

È possibile sfruttare il PC per sviluppare la vostra NAS ad un costo esiguo. Il basso costo delle periferiche consentono di espandere il vostro NAS in molti modi, come nella connessione WiFi, slot per memorie flash, connessioni IEEE1394, eSATA e Bluetooth. È possibile scaricare e installare diversi sistemi operativi aperti NAS per trovare il pacchetto adatto. Inoltre, è possibile installare il sistema operativo su CD-ROM, penna USB o hard disk senza memorie flash programmabili integrate. Inoltre, è possibile espandere la NAS ad un server multimediale con moduli software aggiuntivi.

Componenti Software del NAS
Dovremmo sempre cercare i componenti software da comunità open source, in quanto la maggior parte dei pacchetti software NAS sono distribuzioni basate su Linux (anche se Microsoft SAK [Server Appliance Kit] e VxWork hanno anche una piccola quota di mercato). La maggior parte dei fornitori di semiconduttori offre progetti riferiti a Linux e BSP. Alcuni venditori come Cirrus Logic offrono la sorgente completa sul loro sito, gli altri fornitori offrono i loro pacchetti solo per i loro clienti. Quindi, dovete trovare la distribuzione di Linux alternativa nella comunità open source se non è possibile ottenere i pacchetti dai fornitori di semiconduttori. Fortunatamente, ci sono anche troppe opzioni per voi.

In primo luogo, ci sono off-the-shelf distribuzione da Debian e dalle altre famose distribuzioni Linux. È possibile installare questa distribuzione facilmente.

In secondo luogo, si può costruire un sistema Linux con una scheda di dati libera e con strumenti open source anche da soli. Le altre applicazioni possono essere costruite ed installate nel NAS.
Sistema Operativo Completo per NAS.

FreeNAS supporta CIFS (Samba), FTP, NFS, rsync, protocolli AFP, iSCSI, SMART, autenticazione degli utenti locali, e software RAID (0,1,5), con una configurazione basata su interfaccia web. FreeNAS è una distribuzione Live CD di FreeBSD, che può essere installata su una CompactFlash da 32 MB, su un disco rigido o su una memoria flash USB.

Openfiler è stato creato da Xinit Systems, ed è basato sulla distribuzione Linux rPath. Openfiler necessita di un processore da almeno 500 MHz, 256 MB di RAM, 1,2 GB di spazio su disco fisso, un' unità ottica e un' interfaccia di rete FastEthernet.

NASLite è una distribuzione Linux progettata per girare su normali computer basati su x86 con interfaccia PCI in un semplice dispositivo di memorizzazione di rete. NASLite si avvia dal disco floppy e parte con 4MB di RAM per consentire di utilizzare la piena capacità delle unità disco per memorizzare i dati. Ora NASLite è un software proprietario, senza il codice sorgente.

Il CryptoNAS è un altro progetto live CD che offre la criptografia dei dati in un NAS. Le distribuzioni del NAS OS non possono offrire tutte le funzionalità che si desiderano, però è possibile personalizzarlo e la decompilare Debian e FreeBSD per soddisfare le vostre necessità.

File Sharing
I serivizi di base del file sharing comprendono NFS (per Linux) e Samba (per Windows). Entrambi i servizi sono già stati implementati. In realtà, qualsiasi computer Linux può funzionare come una NAS, perché il file sharing è un servizio di default per Linux. L'unica preoccupazione è il file system per il disco rigido. Di solito i dischi fissi interni sono formattati come EXT2/EXT3/UFS. Questo è trasparente per i PC client. Tuttavia lo sviluppatore deve modificare il kernel per supportare l' NTFS, soprattutto nella scrittura di un disco rigido USB formattato in NTFS.

Backup dei dati
Il NAS di solito utilizza il RAID come funzione di backup. Ci sono varie combinazioni di questi metodi che danno diversi risultati contro la perdita dei dati, capacità e velocità. I livelli RAID 0, 1, e 5 sono i più comuni, e coprono la maggior parte delle esigenze. In realtà il RAID 0 aumenta solo la capacità e la velocità, non viene eseguito alcun backup qui dati. Poi, il RAID 1 è uno specchio di backup, in modo da poter ripristinare i dati nel caso in cui un disco si guasti, ma ricordati che anche se due dischi rigidi sono della stessa dimensione, il totale volume RAID sarà di capacità pari a quella di un solo disco fisso. Il livello RAID 5 offre alta sicurezza per il ripristino dei dati. Il RAID può essere implementato a livello software, hardware e firmware. Per Linux è supportato nativamente dal kernel. Anche in un disco non RAID1 si può leggere l'altro hard disk su altri hardware. Se si configura il sistema RAID in altri di livello superiore, è necessario ripristinare i dati nello stesso dispositivo.

Stampante Server
La condivisione della stampante è implementata nell'SMB del pacchetto Samba. Per installare la stampante di rete di Linux per la workstation Windows, devi:

    1. Installare e configurare il server Samba
    2. Aggiungere lo script in /etc/printcap
    3. Creare un file filtro in /var/spool/lpd/SMB/
    4. Creare un file .config in /var/spool/lpd/SMB/
    5. Riavviare la stampante con #lpc restart all
    6. Trova la stampante di rete in Samba dalla workstation Windows
    7. Installare il driver PostScript della stampante in Windows
    8. Stampa dalla workstation Windows

Si prega di fare riferimento alla guida per la stampante Linux per maggiori informazioni.

P2P
Il P2P deve essere incluso in un NAS di un utente normale. QNAP, ASUS e D-Link hanno già integrato BitTorrent. Il client BitTorrent ha più porting in Linux, i quali possono essere compilati tra di loro in un sistema integrato. Un altro protocollo P2P è eDonkey. eDonkey è un software open source. Ma il primo codice fu rilasciato per VC++. A differenza di BitTorrent, eDonkey ha meno porting su Linux. Così, la rete eDonkey è presente solo in qualche NAS di fascia alta. Come visibile in alcuni report, la velocità di download dei client P2P integrati è molto più lenta dei client dei PC. Però non riesco a reperire i report ufficiali.

C'è una lista completa ed aggiornata per i client BitTorrent su Wikipedia, ordinati per UI, linguaggio di programmazione, SO ed altro. Noi abbiamo bisogno di un software basato su web e C++. Di sicuro possiamo usare un client Java o Python se il nostro sistema supporta questi linguaggi.

Gli utenti vogliono avere questi due maggiori protocolli in un unico pacchetto. Qualche NAS commerciale usa una combinazione di Clutch e Transmission. Altri usano ML Donkey, che supporta BitTorrent, eDonkey e altri protocolli. Questo software è scritto in Objective Caml, C e Assembly. Usare l' Objective Caml è la maggiore possibilità per ML Donkey. L'interfaccia principale è basata sul web. Se sei interessato, puoi usare un software personalizzato. Anche è un buon software che lavora con ML Donkey. Puoi accedere ai servizi P2P in una Windows workstation come se stessi usando eMule da un PC.

Server UPnP/DLNA
L'architettura UPnP permette di creare una rete locale P2P tra più PC, di eseguire applicazioni di rete, e di collegare dispositivi wireless. E' una distribuzione, architettura aperta basata su standard stabili come TCP/IP, UDP, HTTP e XML. L'UPnP è un protocollo indipendente.

La Digital Living Network Alliance è una collaborazione internazionale tra più industrie di elettronica di consumo, industria di computer e compagnie di cellulari.

Il DLNA è uno standard industriale, così sempre più lettori multimediali integrano il supporto UPnP/DLNA, come PowerDVD, WinDVD, Vista, PS3, VLC e il famoso MPlayer/GeeXbox. Per supportare l' UPnp/DLNA nella NAS, devi cercare libdlna, ushare per Linux.

Se stai installando la tua rete di intrattenimento domestico, necessiti di uno o più server NAS per condividere i file multimediali. Passa da un dispositivo all' altro, IPTV, PS3, Xbox, DMA, HTPC, divertiti!

Server Web
Alcuni NAS commerciali basate su RISC dichiarano che loro offrono un server web Apache+MySQL nel server NAS. Io sono un pò confuso perché so che compilare una piena combinazione Apache+MySQL+PHP è difficile. Normalmente, un server web per un sistema integrato usa piccoli server come BOA. La combinazione LAMP funziona perfettamente su un NAS basato su PC.

Server FTP
Il server FTP e il client sono stati integrati in Linux molto tempo fa.

Telecamera IP
Una telecamera USB è molto economica e ampiamente usata. Alcune NAS possono usare telecamere USB di basso costo come sensori di video sorveglianza e integrare un sistema di streaming audio/video in una pagina wen, alla quale si può accedere da membri autorizzati dall'amministratore tramite DDNS. Il porting di una telecamera USB richiede alcune conoscenze sugli integrati. Devi identificare i produttori dei semiconduttori e trovare i driver corrispettivi. Visita Video4Linux e Linux USB per le ultime informazioni sulle telecamere.

La telecamera IP è la scelta migliore per la video sorveglianza. Di solito offre maggiore qualità video (SD/HD con un frame rate più alto), operazioni ad alto range (Ethernet o WiFi), controlli PTZ (panoramica, angolatura, zoom), supporto audio, formati video avanzati (MJPEG, MPEG-4), visione notturna, input PIR ed altro. E' facile integrare una telecamera IP con un NAS, perchè è un' applicazione IP. Puoi anche unire gli input video da più telecamere in una pagina web per monitorare più posti allo stesso tempo. Richiede conoscenze della programmazione web.

Modificare un NAS commerciale
Modificare un NAS commerciale è un buon approccio per imparare il Linux integrato. Ci sono molti siti web per creare un NAS commerciale. Puoi modificare il firmware e aggiungere caratteristiche extra per i tuoi scopi. Sebbene una NAS commerciale ha una scalabilità limitata, si può ancora divertirsi nel modificarlo come un gioco tecnologico. Perché no? Solo comprando un NAS di seconda mano da ebay e modificarlo.

Puoi visitare NAS-Central.org come un punto di partenza. Questo sito ti condurrà ad un marchio specifico, modello e blog di hacking. Puoi seguirlo per conoscere cosa hanno fatto gli altri sviluppatori, cosa si può fare e cosa no.

Prossimo Punto
Cosa, il prossimo punto? Solo realizzarlo! Cosa stai aspettando?

Leggi di più
NAS chipset

LSI (Agere Systems Inc.) NAS100/200/400/800, ARM926EJ-S
http://www.lsi.com/networking_home/networking_products/legacy/nas/nas_digital_home/index.html

Broadcom
BCM4780 (2004) NASoC MIPS32@300MHz, 10/100 Ethernet, RAID, USB1.1, PCI 2.3
http://www.broadcom.com/products/Small-Medium-Business/Storage-Solutions/BCM4780

Freescale Semiconductor (2006)
MPC8314E/MPC8315E (Entry Level, about 15USD @10K)
MPC8377E/MPC8378E/MPC8379E/

Marvell
88F5281 + 88SX7042(SATA)
http://www.marvell.com/products/media/index.jsp

PMC-Sierra
RM5321A(400MHz MIPS 5K)/RM7035C(600MHz MIPS 7K)/MSP8520(1G MIPS 9K)
http://www.pmc-sierra.com/nas-network-attached-storage-processors/

StorLink Semiconductor Inc.
SL3316/SL3516 ARM9 400MHz
http://www.storlinksemi.com.cn/
http://mrt.nas-central.org/index.php/StorLink_based_products

VIA Segment Board
NAS 7800/NAS 7500/NAS 7400/7410/MMC 7000
x86 Eden CPU based embedded PC

Cirrus Logic
Open Source NAS reference design, entry level, ARM9, EIDE HDD
http://www.cirrus.com/en/products/pro/detail/P1101.html

Mediablic Reference Design (commercial), merged by macrovision
http://www.mediabolic.com/

Software

Sancho
http://sancho.awardspace.com/

MLDonkey
http://www.mldonkey.org/

Hacking WD MyBook World Edition
http://home.unitedtelecom.be/ut6226214/mybookworldedition/

NAS Linux
http://sourceforge.net/projects/nas-linux/

8 Open Source Storage Projects That Want You
http://storagemojo.com/2006/10/25/open-source-storage-projects-that-need-you-now-pt-i/

FreeNAS
http://www.freenas.org/

NAS-Central.org, very informative and in every detail
http://nas-central.org/index.php/Main_Page

Build Your Own NAS Box Using An Old PC
http://www.internmentcamp.com/2006/01/14/technology/build-your-own-nas-box-using-an-old-pc/

Linux RAID main page on Wikipedia
http://linux-raid.osdl.org/index.php/Linux_Raid

BitTorrent Client
http://en.wikipedia.org/wiki/Comparison_of_BitTorrent_Clients

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend