come transformare un vuduo in un server NAS

alanb

Vu+ Newbie
Il Vuduo si presta benissimo a fungere da NAS per la rete domestica in quanto ha delle performance della scheda di rete veramente ottime (meglio di ogni altro oggetto che ho gestito finora ed io ne ho visti di oggetti).

A questo punto ho deciso di trasformarlo in server multimediale per la mia casa con l'obiettivo di avere condivisioni in grado di gestire contenuti in HD e facendo condivisioni in modalità SAMBA (pc windows) e NFS (linux).

Per raggiungere questo risultato ho penato un pochino perchè ho avuto grosse difficoltà a far funzionare i dischi USB attaccati al vuduo perchè cambiavano device ogni volta che riaccendevo il server vuduo. Ed a questo punto è nata la mia esperienza che sarà riportata in questa guida che sarà pubblicata a puntate.

Per fare ciò ho deciso di convertire i miei dischi USB da formato NTFS a formato Linux EXT3 anche perchè sul vuduo non è possibile fare scrivere (a quando ho fatto i test io su partizioni NTFS) .

Faccio presente che io sono un bravo smanettone di linux (non un esperto) ma non avevo mai realizzato quando si fosse andati avanti in termini di funzionalità, da cui la decisione di pubblicare questa guida.


Prima Puntata (etichette dei dischi)
In Linux è possibile dare un nome ad una partizione di un disco, ciò è molto utile poichè consente di fare in mode che Linux in fase di accensione della machina assegni sempre lo stesso nome alla risorsa indipendentemente dalla porta USB ove abbiamo collegato il disco esterno.

Infatti con il comando
ls /dev/disk/by-label -lah
poteve vedere voi stessi quali sono le etichette che i vostri dischi connessi in questo momento hanno.

E' possibile dare un nome ad una partizione Linux in fase di creazione con il comando

mkfs.ext3 -L (nome disco) (dispositivo disco) ad esempio

mkfs.ext3 -L SWAPFILE /dev/sdb1 crea una partizione ext3 che ha il nome swapfile. Attenti che questo comando cancella i dati

Se avete un partizione già esistente potete usare il comando e2label
e2label (dispositivo) (nome)

e2label /dev/sdb1 pippo assegna il nome pippo alla partizione /dev/sdb1

Attenzione mentre scrivo il comando e2label non esiste un vuduo con immagine BH.
Nel mio caso ho attaccato i dischi ad una macchina linux standard ed ho assegnato il nome che volevo.

Seconda puntata (automount e /etc/fstab)
Se avete messo i nomi alla vostre partizioni linux potete beneficiare del tool di automount che con gli opportuni parametri farà in modo che un disco USB sia visibile in linux sempre nella stessa directory a prescindere dalla porta ove avete connesso il disco.

Per spiegarvi come si fa vi mostro il mio esempio cioè il contenuto del mio file /etc/fstab

# per conoscere i nomi di label dei dischi fare
# ls /dev/disk/by-label -lah
#
rootfs / auto defaults 1 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
usbdevfs /proc/bus/usb usbfs defaults 0 0
/dev/mtdblock2 /boot jffs2 ro 0 0
tmpfs /var tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
/dev/sda1 /media/hdd auto defaults 0 0
/dev/disk/by-label//SWAPDISK /media/usb auto defaults 0 0
/dev/disk/by-label//DISCOSCAMBIO /media/usb2 auto defaults 0 0


Da questo esempio vedete che il disco che si chiama SWAPDISK viene sempre abbinato alla cartella /media/usb, mentre il disco DISCOSCAMBIO viene sempre abbinato alla cartella /media/usb2.

Attenzione che le cartella in cui vengono montati i dischi devono essere già create a mano con i giusti permessi di scrittura.

Faccio presente che è possibile ottenere questo risultato anche senza usare i nomi dei dischi ma che è molto più complicato.


Continua......
 
Aggiungo una cosa: per avere anche un sistema che salvaguarda i dati, io utilizzo rsync compilato per mipsel, da lanciare eventualmente col crontab tra 2 dischi, in questo modo faccio il backup da un disco USB ad un altro, utile soprattutto per le preziose fotografie.

Se lo ritenete utile posto qui il binario e lo scriptino di backup
 
Aggiungo una cosa: per avere anche un sistema che salvaguarda i dati, io utilizzo rsync compilato per mipsel, da lanciare eventualmente col crontab tra 2 dischi, in questo modo faccio il backup da un disco USB ad un altro, utile soprattutto per le preziose fotografie.

Se lo ritenete utile posto qui il binario e lo scriptino di backup
Per favore fallo e suggerisco di mettere rsync tra i comandi standard
 
Terza puntata (samba)
A questo punto abbiamo connesso uno o più dischi usb che vogliamo condividere con altri pc sotto windows.

Dobbiamo editare il file /etc/samba/smb.conf per aggiungere le risorse che abbiamo appena connesso.

Questo è un esempio
[global]
load printers = no
guest account = root
log file = /tmp/smb.log
log level = 1
security = share
server string = Vuplus %h network services
workgroup = Vuplus
netbios name = %h
case sensitive=yes
preserve case=yes
short preserve case=yes
socket options = TCP_NODELAY
preferred master = no ;(These stop the machine being master browser, which means that it doesn't waste time there.)
unix extensions = no

[Configuration]
comment = Configuration files - take care!
path = /var
wide links = yes
read only = yes
public = yes
guest ok = yes

[mainhdd]
comment = The harddisk
path = /media/hdd
wide links = yes
read only = no
public = yes
guest ok = yes

[scambio]
comment = The harddisk
path = /mnt/usb2/scambio
wide links = yes
read only = no
public = yes
guest ok = yes

Come vedete ho creato 2 condivisioni per mainhdd e scambio che puntano una all'hd standard del vuduo e che contiene le registrazioni mentre nel secondo caso ho condiviso un cartella del mio hd primario.

Ricorda per rendere attivi i cambi devi fermare e far ripartire i demoni nmbd ed smbd, lo puoi fare a mano oppure usando il tasto blu del telecomando per riavviare i servizi samba.
In queste configurazioni non abbiamo alcun livello di sicurezza ma siamo a casa nostra dunque non è un problema.

Attenzione ai permessi di accesso vi ricordo che quello che fate viene fatto con le massime autorizzazioni per cui occhio.

Queste configurazioni sono utilizzate ad ogni riavvio del ricevitore.

Quarta puntata (nfs per pc linux)
Se abbiamo PC linux (oppure altri ricevitori) la condivisione NFS è la migliore.
Esiste già un configurazione base che viene attivata dal tasto blu ma se volete un NAS quella configurazione è solo un base.

Infatti creando un file che si chiama /etc/exports siamo in grado di condividere risorse tramite nfs
/media/hdd 10.10.0.0/255.255.255.0(rw)
/media/usb2 10.10.0.0/255.255.255.0(rw)
/media/usb3 10.10.0.0/255.255.255.0(rw)
/media/usb4 10.10.0.0/255.255.255.0(rw)
In questo esempio ho messo in condivisione 4 dischi di rete dando permessi di lettura e scrittura a tutti i pc della mia rete di casa (10.10.0.0). Per adattare questa configurazione a casa vostra dovrete modificare gli entry point delle risorse di rete e mettere il range ip della vostra rete (ad esempio sostituendo 10.10.0.0 con 192.168.1.0 se avete questo range IP) .

Quando avete finito con la configurazione potrete rendere immediatamente attive le configurazioni (se avevate attivato il servizio NFS dal pannello BLU) con il comando.

/usr/bin/exportfs -a

Se vorrete rendere le condivisione NFS attive ad ogni boot è necessario creare uno script poichè il servizio NFS parte prima del servizio automount e dunque i dischi definiti tramite fstab non sono ancora disponibili.

In questo esempio lo script /usr/bin/exporta.sh
#!/bin/sh
sleep 90
/usr/bin/exportfs -a

Non fa altro che aspettare 90 secondi e poi fare un refresh della configurazione nfs affinchè tutto funzioni bene. Lo script deve essere fatto partire in background in uno dei comandi di avvio della BH.

Per esempio potreste creare il file /usr/bin/bhmount con il seguente comando
#!/bin/sh
/var/bin/exporta.sh&
Vi ricordo che rendere eseguibili i comandi shell di linux dovete fare
chmod 777 comando.sh
altrimenti non partono

Per potervi connettere da altri ricevitori o sistemi linux potrete usare il comando
mount -t nfs -o rw,wsize=8192,rsize=8192,nolock 10.10.0.93:/media/usb2 /mnt/win1

Sostituite opportunamente l'indirizzo IP, la condivisione NFS e il mount point e siete a posto.

A questo punto avete un server multimediale che può fungere da NAS ad altre prestazioni e gestire tutte le necessità domestiche.-

Fine
 
Ottimo lavoro, ma Farlo ieri no eh?? :D
proprio ieri sera mi sono erudito con ricerche sul mount con il duo... ed ho fatto in pratica le stesse cose, solo che nel mio caso ho usato l'uuid

ps: perche' usare " /dev/disk/by-label//SWAPDISK /media/usb auto defaults 0 0 " , sprechi il mount /media/usb
meglio "/dev/disk/by-label//SWAPDISK swap swap defaults 0 0" no?
o meglio ancora due partizioni sulla device, una per /media/usb e una per swap

ps2: per lo swap usando una partizione al posto del file, l'avvio sembra piu' tosto
 
dimenticavo, nel caso di mount manuale, per quieto vivere meglio disattivare il mount di bh (ad es rinominando il file /etc/bhmount)
e per scrupolo ho modificato la parte
Code:
# sleep after 10min
#hdparm -S 120 /dev/sda
hdparm -S 120 /dev/disk/by-uuid/uuiddisco
echo 17 > /proc/progress

# accustic management
#hdparm -M128 /dev/sda
hdparm -M128 /dev/disk/by-uuid/uuiddisco
in etc/init.d/bootup
magari assegna sda sempre all'hd interno, ma per scrupolo ...
proprio ieri sera ho fatto prove
 
Back
Top