Col tutorial di oggi vediamo come installare openfiler su una penna usb ed effettuare il boot da quella perfierica.
Con l’occasione vedremo anche un applicazione pratica del chroot, comando spiegato in maniera molto esaustiva dal nerd Bl@ster
Ma cusa l’è sto openfiler (letto “openfiler” come si scrive, da buon nonnetto milanese)
Verrebbe da domandarsi a questo punto “ma cosa cazzo è sto openfiler??” oppure “si ma a me non me ne fotte una minchia di sto openfiler”.
Se siete tra i primi continuate a leggere, se ahimè fate parte della seconda schiera premete pure alt+f4 e dirigetevi verso la porta di la
—>
Openfiler è una distribuzione lunix basata su Fedora concepita e realizzata ad uso NAS/SAN. La differenza tra i due, nella definizione, sta nel mezzo in quanto la nas viaggia su tcp/ip e quindi su cavo ethernet, la san invece viaggia su fibre channel. Nella pratica invece quando mi viene chiesto qual’è la differenza tra i due io dico “dipende da quanto figo può essere per te usare NAS o SAN”.
Mi spiego, se vogliamo fare uno storage di dischi useremo il protocollo iSCSI, questo protocollo potrebbe essere NAS perchè effettivamente viaggia su tcp/ip, però potrebbe essere anche SAN perchè può viaggiare anche su fibre channel; quindi la sostanza del discorso è: se tu devi intortare un discorso ad un cliente dicendo che usi una tecnologia avanzata come il fibre channel allora è SAN, se invece vuoi vendere al cliente una tecnologia a basso costo ma veloce ed affidabile allora è NAS ![]()
Openfiler è tutto questo, è una distribuzione che ci consente di gestire un array di dischi (ma anche un solo disco sfigatissimo) per creare dalle più semplici condivisioni samba fino alle risorse di rete iSCSI.
Perchè Openfiler e perchè su USB?
Prima di tutto perchè è open source e quindi gratuito, secondariamente perchè le soluzioni come openfiler/freenas, ci consentono di fare le stesse identiche cose di un array di dischi da 30.000 euro riesumando vecchi pc/server destinati ad essere ferraglia da macello.
Su usb perchè l’obiettivo del tutorial è tenere separate le partizioni del sistema operativo dalle partizioni per i dati da condividere per svariati motivi:
- Sicurezza: Se si auto annichilisce la tabella delle partizioni del sistema operativo tengo salva quella dei dati e viceversa
- Prestazioni: Sebbene l’accesso usb sia lento (ma neanche tanto) sono sicuro che il 100% delle risorse hardware dei dischi sono dedicate ai dati.
- Spazio: Non devo sacrificare una piccola porzione di ogni disco per installarci il sistema operativo e quindi ho il 100% di spazio disponibile dell’array come utilizzabile.
L’ideale sarebbe poter installare Openfiler su una scheda di memoria da poter installare nel lettore interno del server, nel mio caso purtroppo non è stato possibile in quanto l’ho dovuto installare su un Dell PowerEdge 2850 serie “Anteguerra” che è già tanto se ha 4 porte USB (però ha anche il floppy eheh).
Proceda dottore!
Vediamo quindi come installare OF su questa benedetta pennetta usb;
Prima di tutto assicuriamoci di poter effettuare il boot da usb secondo il volere del nostro bios, in caso contrario potete benissimo seguire la seconda schiera di persone menzionata ad inizio articolo.
Soddisfatto questo primo requisito assicuriamoci di disattivare tutti i dischi rigidi presenti sulla macchina, se come me avete tra le mani una macchina con controller RAID Hardware è sufficiente sfilare tutti i dischi e riavviare la macchina.
Impostiamo il boot in modo che esegua PRIMA il cd e POI la porta USB;
Con il cd inserito riavviamo il server ed al prompt del boot digitiamo “expert” (per la modalità testuale digitiamo “expert text“.)
Scegliamo di configurare le partizioni manualmente con Disk Druid, io ho usato un unica partizione per la root “/”, in giro ho trovato anche chi ha settato una partizione per lo swap ed una per il boot, ma ritengo che su una penna usb la partizione di boot sia alquanto inutile, inoltre openfiler è parecchio leggero e già con 2GB di ram la partizione di swap si rende altrettanto inutile.
A fine installazione l’intero sistema occupa circa 600MB di spazio quindi una penna con un paio di giga dovrebbe essere sufficiente, io ho usato una da 4GB perchè quella avevo ![]()
Continuate con gli step normalmente ed iniziate l’installazione;
Prendetevi un paio di caffè perchè l’installazione su USB è parecchio lunga, a fine installazione eseguite come richiesto il reboot.
NON togliete il cd dal drive perchè se lasciate il sistema cosi com’è otterrete un bel kernel panic al boot in quanto dentro l’immagine initrd non sono presenti i moduli usb.
Fix!Fix!Fix!Fix!Fix!
Per far questo rientriamo nel boot da CD ed al prompt digitiamo “linux rescue” per ottenere una shell di salvataggio, qui entra in gioco il prode chroot.
Montiamo la penna usb
:~# mount /dev/sda1 /mnt/source
:~# chroot /mnt/source
ed iniziamo ad editare la configurazione di initrd:
:~# cp /boot/initrd*img /tmp/initrd.gz
:~# gunzip /tmp/initrd.gz
:~# mkdir /tmp/a
:~# cd /tmp/a
:~# cpio -i < /tmp/initrd
:~# vi init
…cerchiamo la stringa che contiene “insmod /lib/sd_mod.ko” ed inseriamo subito sotto:
insmod /lib/sr_mod.ko
insmod /lib/ehci-hcd.ko
insmod /lib/uhci-hcd.ko
sleep 5
insmod /lib/usb-storage.ko
sleep8
…salviamo a chiudiamo il file…
:~# cd /lib/modules/`uname -r`/kernel/drivers
:~# cp usb/storage/usb-storage.o /tmp/a/lib
:~# cp usb/host/ehci-hcd.ko /tmp/a/lib
:~# cp usb/host/uhci-hcd.ko /tmp/a/lib
:~# cd /tmp/a
:~# find . | cpio -c -o | gzip -9 > /boot/usbinitrd.img
…ed aggiustiamo il file /boot/grub/grub.conf per fargli caricare l’immagine initrd corretta. Questa procedura si dovrebbe ripetere ad ogni aggiornamento del kernel, ma come il buon Murhpy insegna: “se un sistema funziona non cambiarlo ne modificarlo, e non ti darà mai un problema.“
Adesso abbiamo finito un bel reboot del sistema, questa volta col cd espulso, ed il sistema verrà caricato dalla penna usb. Durante la fase di boot ottengo un pò di errori circa il modulo sr_mod non trovato, ma fino adesso non ho assistito a combustioni spontanee della macchina quindi ho deciso che posso pure fottermene di quegli errori, il boot procede a meraviglia. SE a voi da cosi tanto fastidio ricevere quegli errori potete eliminare la stringa relativa dal file di init, ma non so se questo può comportare qualcosa.
A lil’ bit of tuning
Siccome le usb notoriamente non brillano in velocità, un pò di sano tuning non fa mai male giusto per dare una bottarella alle prestazioni, e cosi leggendo un pò di qua ed un pò di la ho capito che è consigliabile spostare /tmp e /var/tmp su filesystem tmpfs e quindi montarle direttamente in RAM. Ho inserito quindi queste due stringhe in /etc/fstab:
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
Fine!, un ultimo reboot oppure un “mount -a -o remount” e siamo a posto, godetevi il vostro openfiler lavorare da usb.
M0rF3uS
| |














Molto interessante … ho appena messo su un pc con 3 diski in raid e una debian che bootta da usb …
Sapresti dirmi i vantaggi nell' usare openfiller piuttosto che Freenas piuttosto che Debian ?
… a me serve che tutto sia integrabile con LDAP …
ciao e grazie
Ciao, il vantaggio di usare openfiler/freenas rispetto a debian è che hai una distribuzione minimale rispetto a debian, concepita e creata per fare da nas quindi non hai la menata di doverti ricompilare il kernel su misura, rimuovere tutta la fetenzìa di software inutile su uno storage, ecc ecc…
io ho usato openfiler rispetto a freenas (nonostante freenas mi piaccia MOLTO di più) perchè dai pochi test che ho condotto freenas non concede l'utilizzo dell'array in volumi, in pratica devi sapere prima di installare freenas quanti e quali volumi vorrai utilizzare e partizionare i dischi a seconda delle tue esigenze, con freenas invece puoi creare tutti i volumi che vuoi della grandezza che vuoi.
Probabilmente mi sbaglio su questa cosa di freenas però nelle tempistiche lavorative che mi sono state concesse (come al solito tutto pronto per “ieri”) ho trovato più immediato l'uso di openfiler, nonostante, ripeto, a primo impatto mi piacesse di più freenas.
“Per far questo rientriamo nel boot da CD ed al prompt digitiamo “linux rescue” per ottenere una shell di salvataggio, qui entra in gioco il prode chroot.”
A me qui appare una schermata blu…e non riesco a vedere niente, se digito i comandi e premo nvio un po' di volte, dopo appaiano, ma non riesco a montare la usb.
HELP!
grazie
ciao riesci a linkarmi uno screen shot (o una foto visto il tuo caso) di questa schermata blu. Infine cosa significa “non riesco a montare la usb”? ti da errore? cosa ti dice?
Più specifico sei più è facile aiutarti.
ok, la schermata è completamente blu.
Premendo invio mi appare scritto “Una volta terminato, uscire dalla shell. Il sistema si riavvierà.” e non riesco a vedere niente, se digito i comandi e premo invio un po’ di volte, dopo appaiano, ma non riesco a montare la usb.
il prompt mi appare così: -/bin/sh-3.00#
I miei passi – scelta della lingua, interfaccia rete, o provato siasì che no,
scelta “mantieni” o provato tutte e tre le opzioni (continua-read-only-ignora).
dopo mi da il messaggio che non è stata trovata alcuna partizione linux. dopo l'ok mi appare lo schermo blu.
grazie
:~# mount /dev/sda1 /mnt/source
quando dai questo comando cosa ti dice?
hai provato ad installarlo su una macchina differente?
mount: Mounting /dev/sda1 on /mnt/source failed: No such device or address
Non posso provarlo su un altra macchina.
Grazie
probabilmente ti riconosce la penna usb come un device diverso, prova a inserire la penna usb ed a lanciare fdisk -l (ammesso che abbia quel comando sinceramente non ricordo)
con fdisk mi dice
disk /dev/sda: 120.0 gb ecc (dovrebbe essere l'hdd interno)
disk /dev/sda: 4043 gb ecc (dovrebbe essere la penna usb)
device
/dev/sdb1 boot
/dev/sdb2
ho provato mount /dev/sdb1 /mnt/source sempre mount: Mounting /dev/sda1 on /mnt/source failed: No such device or address
0
Salve
come si devono configurare i parametri in ldap,
Server:
Base DN:
Authenticated bind DN:
Authenticated bind password:
Root bind DN:
Le condivisioni funzionano solo in Public guest access.
grazie
Non posso dirti IO i parametri del TUO ldap
devi vedere la configurazione del tuo server
Non posso dirti IO i parametri del TUO ldap
devi vedere la configurazione del tuo server