viernes, julio 06, 2007

Reorganizando el disco duro

El portátil cuando lo compre venia con tres particiones ntfs, la primera 6.83GB, la segunda y la tercera de unos 52 GB cada una. La primera tiene los datos para hacer una recuperación, es decir, reinstalar windows vista y poner el ordenador como venía de fábrica, en la segunda es donde estaba instalado windows vista, y la tercera era para guardar datos.

Yo quería instalar linux en el portátil, ubuntu concretamente, pero no podía eliminar windows porque el ordenador en principio no era solo para mi, os cuento, una de las razones era para poder llevarlo a Badajoz, ya que por la muerte de mi tía, en Febrero tuvimos que ir allí, luego ibamos a hacer un segundo viaje, pero antes decidimos comprar un ordenador portátil para tenerlo allí, bueno no me enrollo mas, el caso es que el portátil no iba a ser yo el único que lo usara, así que no iba a borrar windows. De todas formas por si algun dia quería probar algo pues tampoco está demás tenerlo.

Lo que hice fue borrar la tercera partición, con lo que tenía 50GB para instalar ubuntu, en ese espacio hice dos particiones primarias, de 36.50GB y de 15.80GB respectivamente, ambas con el sistema de archivos ext3. La primera de ellas era para ubuntu y la segunda tanto para guardar datos cuando la de ubuntu se me quedara corta, como para instalar otra distro si me diera por probar alguna o me interesara también tener otra. La partición de ubuntu era una extendida, y dentro de ella hice una de 6GB (/), una de 30GB (/home) y una swap de 500MB, aunque realmente la swap teniendo 2GB de ram nunca se ha usado, pero bueno por si acaso. En la ultima partición, la de 15 GB, al final opté por instalar wifislax, una distro para hacking wifi.

Hace poco, cuando los 30GB del /home se me estaban quedando cortos, pensé que dejar 50 GB para windows vista era exagerado, así que fui a reducir la partición pensando en dejarle unos 15 o 20 gb, pero cuando fui a hacerlo veo que esa particion de 50 GB, con windows vista y el software por defecto de acer, tenía ocupados nada mas y nada menos que 20GB, WTF!!!, al final opté por dejarle 30GB. Así que la situación del disco duro cambió, ahora estaba (y está) así:

-Partición 1: 6.83 GB
-Partición 2: 32.95 GB
-Espacio sin particionar: 19.70 GB
-Partición 3 (extendida):
-Partición 5: 6.00 GB
-Partición 6: 30.01 GB
-Partición 7: 509.84 MB
-Partición 4: 15.80 GB

Y como ya tengo /home al 100% y la partición cuatro, la estoy llenando también pues he pensado que debería "mover" todo y dejar los 20 GB al final y poder hacer la particion 4 mas grande (20+15), así tendré mas espacio útil. Hay varias formas de hacerlo:

-Borrar y hacer todo de nuevo (reinstalar ubuntu, backups...).
-Mover las particiones si es que es posible.
-Hacer una imagen de la partición 3 y borrarla junto con la 4, luego hacer las mismas particiones pero antes, es decir justo después de la partición 2. Restauraría las imágenes de la partición 3, y todo el espacio libre que quedara sería la partición 4.

Voy a optar por la opción, porque yo en ubuntu tengo muchos paquetes instalados y no quiero tener que instalar todo de nuevo, simplemente creo una imagen de la partición y luego la restuaro, pero claro esto trae consigo un problema, dónde guardo la imagen, la solución se me vino a la cabeza enseguida, enviarla según se va creando a mi server y que la guarde en mi flamante disco duro de 320 GB. Todo parece estar bien planeado así que ayer por la tarde me dispuse a hacerlo, para aligerar la tarea conecté la laptop al router con un cable ethernet, porque haciéndolo por wifi es mas lento. Luego ejecuté en mi server:

nc -l -p 9999 >particion.img

Donde 9999 es el puerto por el que va a recibir los datos y particion.img el nombre de archivo donde va a guardar los datos. En la laptop ejecuté esto:

dd if=/dev/sda6 | nc debian 9999

Donde /dev/sda6 es la partición a clonar y debian 9999 son, respectivamente, el host y el puerto a donde se enviaran los datos. El procedimiento es el siguiente, el servidor escucha en el puerto 9999 y lo que reciba en ese puerto lo redirecciona y lo guarda en el archivo particion.img, luego desde el pc cliente (el portátil en mi caso) obtiene bit a bit los datos guardados en el archivo /dev/sda6, que es un archivo especial que representa a la partición 6 del primer disco, entonces se conecta al puerto 9999 de la maquina conocida como debian (es el hostname de mi server) y le envía los datos. Fácil no?

Pues no, no es fácil, porque no se muy bien porque, pero mi router no tragó bien los 30 GB que quise pasar por él, se cortaba muy de vez en cuando y al poco continuaba enviando, y eso la verdad para mi no fue muy buena señal, así que opté por desmontar el disco duro de 320 GB de mi server y externalizarlo usando la caja de mi disco duro externo de 250 GB, hecho esto realize el mismo procedimiento, solo que en vez de enviarlo por la red lo guarde en el disco duro usb:

dd if=/dev/sda6 of=/media/disk/particion.img

Después calculé el md5sum de ambas imágenes, la que hice en local y la que envié por red, fueron resultados diferentes, por lo tanto son archivos distintos, ergo uno o dos están mal, así que tampoco me fié de esta última imagen. Hoy voy a hacer otra imagen de la misma partición y si el md5sum es el mismo que el de alguna de las otras imágenes la tomaré por buena. En caso contrario seguiré hasta que haya dos con el mismo md5sum, ya que no quiero arriesgarme a perder algunos de mis datos. Bueno eso para el /home. Luego tengo que hacer lo mismo con la partición /. La swap obviamente no voy a clonarla y la partición 4 no me interesa clonarla tampoco, ya que simplemente tiene una wifislax y algunos datos que quiero, esos datos los copiaré y el resto lo borro.

Ese es el plan para hoy, así que voy a ponerme a trabajar ahora mismo, a ver si consigo ganar los 19 GB que hay ahí perdidos.