Ripristino di una macchina virtuale Linux

mercoledì 13 maggio 2009 alle 13:02 | Pubblicato su Installation and Configuration, Linux | Lascia un commento
Tag:

L’altro giorno avevo bisogno di testare una funzionalità su Oracle 11g, per questo motivo ho pensato di accendere la macchina virtuale che ho gia utilizzato tempo fa per fare un po’ di test su questa release di Oracle che in azienda ancora non utiliziamo. Dopo aver lanciato il comando “xm create test11g” ho atteso un po’ ed ho provato a collegarmi via SSH con putty, senza successo, infatti la macchina non rispondeva neppure ai ping. Allora mi sono collegato via VNC alla macchina “madre” (quella che ospita le macchine virtuali che ho creato con XEN, una Oracle Enterprise Linux Server 5) e da li ho aperto il “Virtual Machine Manager” che permette fra l’altro di accedere alla console delle macchine virtuali. Ho così scoperto con mio disappunto che la fase di boot della mia macchina virtuale test11g (quella con installato Oracle 11g) era bloccata perché i processo non trovata il file /etc/fstab. Il file sembrava essere li, però al posto dei suoi attributi comparivano dei punti di domanda e cercando di visualizzarlo ad esempio con “cat” si ottenere un input/output error.

Io non sono un sistemista esperto, e situazioni del genere non mi erano mai capitate. Per prima cosa ho seguito il consiglio che compariva in console di lanciare fsck, procedura che però falliva  perché si lamentava proprio del fatto di non riuscire ad accedere al file /etc/fstab; solo oggi ho visto che il comando fsck vuole come parametro di input un “mount point” o un device su cui c’è il filesystem da controllare e che altrimenti usa /dev/fstab. In ogni caso facendo una ricerca veloce su Google sono arrivato al comando e2fsck che a differenza di fsck accetta solo un device come input, quindi sono riuscito a lanciarlo e a sistemare il filesystem. A quel punto ho provato a fare un reboot, operazione però fallita di nuovo in quanto e2fsck aveva eliminato il cadavere di /etc/fstab che era rimasto, quindi a quel punto dovevo ricreare il file /dev/fstab, operazione facilitata per un verso dal fatto di avere ancora una copia di mtab creata all’ultimo avvio sano, ma resa difficoltosa dal fatto che nella shell di emergenza aperta al boot il filesystem di root era montato in modalità read-only. Ho così dovuto scoprire ed utilizzare l’opzione “-o remount” del comando mount per rimontare il filesystem di root in modalità read-write (essendo filesystem di root non me lo lasciava smontare e rimontare).

In realtà nella fretta in fstab ho messo solo il filesystem di root e il filesystem virtuale /proc ma oggi riaccendendo la macchina virtuale e cercando di collegarmi via ssh con putty ho trovato l’errore: “Server refused to allocate pty“.

Ho così scoperto che in /dev/fstab è bene ci sia anche la riga:

none /dev/pts devpts rw,gid=5,mode=620 0 0

Questo grazie a questo link.

Non mi ero mai posto il problema di cosa fosse /dev/pts, ma oggi mi ci sono scontrato, ho trovato un paio di spiegazioni, qui e qui scoprendo che per risparmiare qualche file sotto /dev è stato introdotto questo meccanismo basato su un’altro filesystem virtuale.

Non essendo un sistemista professionista sono comunque riuscito a cavarmela, ho cercato di riassumere qui velocemente il procedimento che ho seguito per arrangiarmi più velocemente la prossima volta che mi capiterà.

Lascia un commento »

RSS feed for comments on this post. TrackBack URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Blog su WordPress.com.
Entries e commenti feeds.

%d blogger cliccano Mi Piace per questo: