FreeNAS è veramente un ottimo prodotto, altamente performante. Purtroppo manca di una funzione fondamentale di ogni buon server che si rispetti: la possibilità di poter fare backup da macchine remote. Mi spiego meglio: FreeNAS esporta (condivide) il suo spazio storage verso altre macchine, permette anche di sincronizzarsi via rsync con altre macchine FreeNAS ma non permette (da web GUI) di avviare un processo rsync verso una macchina non FreeNAS. Ovviamente è possibile agire da riga di comando, anche se nel caso in cui si abbia un avvio da stick USB servano alcuni accorgimenti. In particolare, essendo il file system di root montato in sola lettura, non sarà possibile memorizzare le chiavi ssh degli host ai quali ci si vuole connettere, cosa indispensabile per gli script automatizzati. Il trucco consiste quindi nel montare il file system root in lettura scrittura, generare le chiavi ssh e collegarsi ad ogni host remoto, e successivamente rimontare il file system in sola lettura. Anche gli script wrapper per rsync (a patto che si usino degli script - scelta consigliata) devono essere memorizzati in una posizione accessibile in lettura/scrittura (oppure nel file system principale, che verrà rimontato in sola lettura e quindi impedirà agli script di essere modificati successivamente); io ad esempio ho creato un dataset "nascosto" (ossia non condiviso) appunto per gli script. Dopodiché si potrà procedere con la web GUI per inserire l'esecuzione dello script al momento voluto.
Visualizzazione post con etichetta freenas. Mostra tutti i post
Visualizzazione post con etichetta freenas. Mostra tutti i post
martedì 24 gennaio 2012
venerdì 6 gennaio 2012
FreeBSD NULLFS
Ho trovato il mio primo impiego pratico del nullfs di FreeBSD. Il nullfs consente di esportare un filesystem in modalità stacked (uno sopra all'altro).
Nel mio caso ho montato il sistema dei ports di un FreeNAS con installazione su chiave USB (e quindi file system in sola lettura):
mount -uw /
mkdir /usr/ports
mount -ur /
mount -t nullfs /mnt/RPOOL/ports/ /usr/ports
mount
...
/mnt/RPOOL/ports on /usr/ports (nullfs, local)
martedì 3 gennaio 2012
FreeNAS & ports
Installare l'albero dei ports su FreeNAS quando questo efettua il boot da una chiavetta USB potrebbe non essere così semplice come si può pensare, perché il filesystem di sistema è limitato e alcune locazioni sono montate in sola lettura. Io personalmente ho optato per la seguente strategia:
- creare uno spazio temporaneo di lavoro per portsnap:
zfs create RPOOL/ports-tmp
- scaricare l'albero dei ports
portsnap -d /mnt/RPOOL/ports-tmp fetch
- creare lo spazio finale dei ports
zfs create RPOOL/ports
- decomprimere l'albero dei port
portsnap -d /mnt/RPOOL/ports-tmp -p /mnt/RPOOL/ports extract
- rimuovere lo spazio temporaneo
zfs destroy RPOOL/ports-tmp
- sovrascrivere la configurazione di default dei ports, che si trova nel file /usr/share/mk/bsd.port.subdir.mk e che è alla base del sistema di compilazione dei ports. Questo passo è il piu' importante, perché il filesystem /usr è insola lettura in questa installazione. Ci sono due soluzioni: la prima consiste nel linkare la directory a /usr/ports, la seconda nello esportare la directory dei ports come link in /usr. Quindi si deve eseguire uno dei due comandi seguenti:
set PORTSDIR=/mnt/RPOOL/ports
ln -s /mnt/RPOOL/ports/ /usr/ports
E il gioco è fatto. Occorre però prestare attenzione al fatto che /usr rimane in sola lettura, quindi molto del software che si vuole installare non funzionerà a meno di definire una cartella nel NAS vero e proprio e di compilare dai ports usando tale cartella.
Iscriviti a:
Post (Atom)