sabato 31 marzo 2012

Recupero dati con TestDisk





Storia di un recupero dati..

Problema

MI è stato chiesto di recente di recuperare dei dati da un disco rigido sata da 500G; per windnows il disco risultava vuoto e chiedeva, come prevedibile di formattarlo.




Prima analisi

Da linux ho cercato di ricavare qualche info con il comando "fdisk -l", scoprendo che il disco conteneva una partizione estesa al cui interno si trovava una FAT16 da 500G!!

Alla fonte

Inquisendo il proprietario si è scoperto che un amico dell'amico aveva messo questo disco su un pc di provenienza XYZ e che il PC lo aveva accettato solo configurando il controller RAID in modo da tenere il disco come unico componente di un volume jbod. JBOD!
Naturalmente il PC in questione è sparito in una voragine, nulla si sa di lui e non esiste più.

Il manufatto atlantideo svelato

Avevo quindi a che fare con un "hardware jbod" di un pool costituito da un solo disco, ma ero ottimista; il raid1 hardware spesso non crea problemi e il singolo disco inserito in un PC anche in configurazione non raid risulta generalmente accessibile ed usabile, essendo il JBOD una mera concatenazione di dischi speravo che la partizione NTFS fosse li, integra, liscia, intonsa, al massimo preceduta da immondizia lasciata dal controller.

Fase 0

Essendo un malfidente e un pessimista cronico ho prima effettuato da Linux una copia dell'MBR e quanto di vitale, quotando http://www.partimage.org/Partimage-manual_Backup-partition-table (riporto esempio, differisce dal mio caso dove il discpositivo è /dev/sdc):

dd if=/dev/hda of=backup-hda.mbr count=1 bs=512
It will produce a very small, but very important file: 512 bytes of data. Now, we will save entries of the extended partitions:
sfdisk -d /dev/hda > backup-hda.sf

questi files sono necessari per ripristinare la struttura delle partizioni in caso di errori

Tentativo 1, montare il JBOD su Linux

Il primo tentativo era verificare (più per curiosità) se il formato in qualche modo coincideva con il --linear del mdadm di Linux (che da quanto sapevo dovrebbe corrispondere al jbod).
Naturalmente Mdadm (mdadm -Q /dev/sdc) dice che non c'è nulla, ma ero pessimista pure io.

Tentativo 2

Vari tentativi con utility Windows(falliti)

Tentativo 3 (che invero sapevo che doveva essere il primo) l'utility TestDisk

Questa prodigiosa utility, sommo taumaturgo, ineguagliabile panacea, è sicuramente l'implementazione informatica di sciamanici riti di guarigione.
Dopo aver scaricato da http://www.cgsecurity.org/wiki/TestDisk_Download la versione 6.13 sulla mia fedele OpenSuse 11.2 e eseguito testdisk come root, mi è bastato selezionare il device (nel mio caso /dev/sdc) e lanciare la "Quick Analisys".

Figura di esempio, non legata al caso specifico

TestDisk ha subito identificato un unica partizione NTFS da 500G!!
Certo di lavorare in sicurezza, grazie al backup già fatto nella Fase0 dell'MBR, ho fatto scrivere la nuova tabella a TestDisk sul disco con il comando "Write" (Oh dolce Semplicità, a volte uno dimentica quanto sei bella!)
Finito bisogna dire a linux di caricare la nuova tabella delle partizioni, con il seguente comando (/dev/sdc nel mio caso è il nome del device che stavo recuperando):
partprobe /dev/sdc
A questo punto resta da verificare il successo!
Il resto è discesa, riavviare in windows ed effettuare un chkdsk (readonly, ovvero senza l'opzione /F) per verificare che tutto sia a posto.
Anche il comando smartctl utilizzato da linux conferma che il disco è vetusto ma non imploso.
Windows è in grado di montare la nuova partizione e di accedere ai files, perfettamente integri.
Finito in 10 minuti.

Conclusioni

TestDisk è una grande applicazione per il recupero delle partizioni e fa molto, molto di più di quanto vi ho raccontato. Tenetevela sempre a portata di mano(e mi pare sia anche inclusa in systemrescuecd).


Note per i posteri

Il recupero dati non si fa così , non ci si accontenta mai del semplice backup dell'MBR e poi lavorando direttamente sul disco originale ma si deve sempre fare una copia raw con ddrescue e creare un file immagine del disco.
Tutte le operazioni successive dovrebbero essere fatte su questa copia perché le operazioni di recupero sono operazioni di lettura/seek/scrittura molto intense ed è possibile che il disco decida di mollarvi durante l'operazione; ddrescue in questo caso è un tool grandioso e gestisce in modo intelligente i bad sector.
Nel mio caso ho deciso di lavorare a cuore aperto per più motivi:
  1. non avevo un posto dove mettere 500G di immagine
  2. sapevo dalle info Smart e dal racconto che il disco non era fisicamente danneggiato(la causa del malfunzionamento era l'estrazione dal PC atlantideo)
  3. non avevo molto tempo a disposizione
  4. c'erano foto ma il valore dei dati non era altissimo (alias non erano dati miei :-) )

mercoledì 7 dicembre 2011

How to Zero-fill a drive with Windows

Little howto,
 are you a linux user ?Do you like to find a windows native "dd" alternative for zero-fill a drive?
In order to delete both used and free disk space I have used commandline SDelete sysinternals utility, here are the steps:

  1. Download Sysinternals SDelete , and unzip the archive
  2. If your drive is unformatted and has not a drive letter, do a quick ntfs format of all drive (and mount it as drive X: , for example)
  3. open from command prompt, cd into download folder use this command: Sdelete –s -z X:\*.*

And then you have simply to wait for the wiping to complete.


Explanation: -s, recurse  subdirs; -z, zero fill free disk space;
default is -p 1 which means only one pass


WARNING: Deleted data in unrecoverable, PAY ATTENTION to the drive letter!

venerdì 25 novembre 2011

Un server SVN facile per Linux - CollabNet Subversion Edge

Prologo

Per il controllo versione dei miei progetti uso SVN, per semplici motivi, lo conosco già abbastanza bene e basta per quello che devo fare.
Anche a casa, tempo fa avevo installato un server SVN (su Linux Opensuse) per i miei progetti personali, per backup e sincronizzazione dei progetti sui miei diversi pc.
Recentemente ho sperimentato un server SVN per windows chiamato VisualSVN e sono restato colpito dalla semplicità con cui permette di creare e gestire i repository e i permessi utente in un modo no-brain.
Diciamocelo, queste operazioni devono e possono essere gestibili in modo immediato e visuale.
Proprio oggi sono stato costretto a creare un nuovo repository casalingo per un nuovo progetto divertente e ... "freezeeee" .... mi sono ritrovato a rimembrare la sequenza di comandi utili alla creazione del repository e sopratutto alla corretta configurazione del server-subversion di apache.
Mi son detto:  "BASTA! questo è un attentato alla mia creatività"


Missione

Trovare un equivalente di VisualSVN per Linux OpenSuse che sia:
  1. veloce da installare
  2. altrettanto semplice da usare
  3. simili funzionalità
Primo tentativo Webmin+Virtualmin+plugin SVN 

Webmin funziona egregiamente ma Virtualmin non si installava su OpenSuse (almeno non in mezzora di tentativi e quindi violando il primo requisito), non ho quindi potuto valutare il livello di cura di questo modulo WebMin. 
FALLITO

Secondo tentativo  CollabNet Subversion Edge

Prima di incappare in questo prodotto le ricerche mi hanno portato ad altri analoghi non free.
CSE è free, ha il vantaggio di includere tutto, anche il server apache locale e quindi richiede pochissime dipendenze (una installazione Java con le variabili d'ambiente a posto, e una isntallazione Python). La politica suggerita è la seguente, crearsi un utente locale sulla macchian Linux, ad esempio io l'ho chiamato "svnguy", registrarsi sul sito CollabNet e scaricare l'archivio gz contenente i binari per linux, scompattare il .gz (comando unzip) dei binari nella home dell'utente creato.
Verrà creata una cartella csvn, entrate nella cartella ./csvn/bin
Basta usare da utente "svnguy" il comando csvn start ed è fatta, un istanza di apache sarà eseguita con un console di amministrazione su una porta non standard. (per averlo come servizio al boot  sudo csvn install)
Altre spiegazioni sono futili perché dalla console di amministrazione tutto risulta immediato ed autoesplicativo come dovrebbe essere.
VITTORIA

Concludendo

Consiglio CollabNet Subversion Edge server a tutti coloro che debbano installare e gestire un server SVN in ambiente Linux.


Note di installazione

Ho eseguito un unica modifica rispetto al README di CollabNet, sudo csvn install invece di sudo -E csvn install a causa di un comando che altrimenti no trovava in path e consiglio di abilitare nella console di amministrazione l'opzione "Start Subversion server when the management console is started" per far partire il servizio al boot.

mercoledì 27 luglio 2011

Internet running slow with windows7 32bit (x86) - Avira related

Intro
I have had network problems with 2 computers running windows7 x86 and Avira AntiVir Professional, Internet browsing stops after a while (webpage's load sticks for minutes).  I have tracked down  the problem and found out the cause.

Solution
The Avira Webguard is not working well on Windows7 32bit (x86), the solution is right click on Avira's tray icon and disable Avira WebGuard.

Notes
We have a lot of windows XP PC/VMs and a bunch of windows7 64bit and WebGuard is running just fine on those machines.

Hope useful & have fun!

mercoledì 20 aprile 2011

Utilizzare più utenti Google contemporaneamente con Google Talk

Piccolo post pillola..
Siccome possiedo due account Google, uno per lavoro e uno per uso privato, mi sono ritrovato nella situazione di voler effettuare il login di Google Talk su due account google contemporaneamente.

Soluzione
Basta modificare (o creare) un link all'eseguibile Google Talk aggiungendo il parametro nomutex. Es:
"C:\Program Files (x86)\Google\Google Talk\googletalk.exe" /nomutex

A questo punto eseguendo Google Talk da questo nuovo link potrete avere n-istanze di GoogleTalk, una per ogni vostro utente.

Gioia&Tripudio

sabato 12 marzo 2011

Linux WOL (Wake on Lan) configuration



Two steps:


1)Enable WOL's BIOS support


Usually the WOL feature is located inside the BIOS's Power Management menu.
You have to look for an option which looks like "Wake On Lan" or "Manageability WOL/ WOR by PME" or "Power On By PCI Devices" and let's enable it.

2)Linux WOL (network card configuration)

There are three different ways:


The old&dirty way

OpenSuse users: edit the file /etc/init.d/boot.local and add this line:
(Other Linux's users: edit the file rc.local)

ethtool -s eth0 wol g

Let's change "eth0" in order to match your network adapter's name and save the file.
Reboot and shutdown the system and you are ready to wake it up ;-)
This procedure has worked right with Linux OpenSuse 11.3 and ASUS mobo (integrated ethernet card).

Note: boot.local is a dangerous place for network configuration's tasks (eth names may be wrong at the moment)
rc.local is the last executed boot's script and is the best place but OpenSuse lacks it.


The right way (RedHat, Fedora, SuSE)

Edit /etc/sysconfig/network-scripts/ifcfg-eth0 (or similar name).

RedHat, let's add this option:

ETHTOOL_OPTS="wol g"

SuSe option's name is different:

ETHTOOL_OPTIONS="wol g"


The Yast way



The beloved&blessed SuSE users should use Yast in order to enable WOL (you have to disable NetwokManager first) .
Network settings->Edit the network adapter configuration->ethtool options"

Feedback is appreciated.


Have fun!

Useful tips:
in order to get you mac (HWaddr) address, use this command (with superuser rights):

ifconfig -a eth0

Wireless N, impressioni e consigli per l'acquisto (Beta)



Recentemente ho deciso di installare a casa una rete wireless N,
la mia rete è costituita da:
  • modem ADSL /AP TP-Link TD-W8960N
  • Asus notebook con scheda  wifi 11n (AR9285)
  • 1 PC con penna usb wifi 11n (RTL8191S)
  • 1 Mediabox Medley3-mkv con usb dongle 11n (RTL8191S)
  •  NAS Qnap collegato allo switch fast ethernet del modem

Tutti i dispositivi elencati sono felicemente pubblicizzati come 11n,;sulla scatola del modem TP-Link capeggiano poi le solite deliranti scritte del tipo: "300Mbps , 600% in performance in + rispetto a wireless G!!!"  etc ..

Risultati rilevati

Test effettuati in scaricamento ed in invio di file dal NAS (nfs e samba), con un solo dispositivo connesso alla rete wifi; prima di effettuare le misure si è cercato di configurare in modo ottimale la connessione WiFi.
La massima velocità di trasferimento ottenuta restando vicinissimo all'AP sono, con linux, di 4MByte/sec (scarsi) e con windows di 7Mbyte/sec (scarsi).
Le performance, anche tenendo conto di fantozziani overhead resta comunque troppo lontana dai dichiarati (300Mbps) 38Mbyte/sec.
In un caso d'uso normale, a 8m di distanza e qualche ostacolo, la situazione peggiora e l' incremento del transfer rate rilevato rispetto allo standard G  è solo del 30%.


Dove sta il problema


In sintesi il mio errore di valutazione si può spezzare in due punti:
  1. Pensavo che i dispositivi wireless N fossero tutti uguali, purtroppo non è vero
  2. Il troughput dichiarato per 11n (300Mbps) non tiene conto dell'overhead e fa riferimento a condizioni particolari e difficilmente riproducibili (un esempio: una stalla di Betlemme circa 2000 anni fa).
Nel mio caso specifico, scavando nelle specifiche del chip AR9285 esso supporta connessione alla massima velocità di 150Mbps, il chip RTL8191S supporta connessioni a 300Mbps in download e 150Mbps in upload.
Il   TP-Link TD-W8960N invece sembra essere OK, ma leggendo bene le specifiche salta fuori che supporta solo la banda 2.4GHz e non quella 5GHz.
Segnatevelo:  
Non tutti i dispositivi wireless N supportano i 300Mbps e non tutti sono Dual Band.

(Non mi è ancora chiaro se la banda 5Ghz sia già utilizzabile in Italia ma potrebbe esserci sicuramente qualche Regio Decreto che ne vieta l'utilizzo.)

A questo punto la colpa della performance scarsa sembra ricadere tutta su di me per non aver effettuato un più approfondito studio del mercato e dei protocolli prima di procedere all'acquisto.
E invece no.. il wireless N fa schifo di suo, vi prego di leggere questo articolo:
http://www.tomshardware.com/reviews/802.11n-wireless-router-access-point,2605-13.html

Si evince che alla meglio si ottengono performance paragonabili a quelle di una vecchia fast-ethernet.. non otterrete mai più di 100Mbps!!

Fatti:
  • Il wifi 11n è una chimera
  • non si potrà mai sostituire una bella rete cablata con un wifi 11n
  • cablate la casa e lasciate perdere sta robaccia se potete
  • molti dispositivi 11n sono limitati (Singola banda, 150Mbps invece di 300Mbps etc..)

Guida agli acquisti

Qualora vogliate comunque procedere sull'infelice strada del wireless N ecco il mio umile consiglio:
  • verificate che l' Access Point/modem/router 11n sia Dual Band (la banda 5Ghz è meno disturbata da altri dispositivi e da altri AP wireless G) e sperate che sia utilizzabile in Italia
  • verificate che le schede wireless dei vostri dispositivi 11n supportino i 300Mbps e che siano anche essi Dual Band.

I dispositivi con queste caratteristiche costano di più, ad esempio un router wireless dual band  (privo di modem ADSL che dovrete comprare a parte) con 4 porte GbitLan costa 80 €.

Chi più spende meglio spende