IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix

Particionado / Replanteamiento de particiones para alojar dos sistemas

Comandos:

Aplicaciones:

Enunciado:


    Los sistemas GNU/Linux® con frecuencia se instalan en múltiples particiones, cada una de las cuales posee un tamaño determinado. A medida que cambian las necesidades, sin embargo, es necesario redimensionar las particiones para responder a las necesidades cambiantes. Hay diversas herramientas para lograr esto en Linux, pero existe una cantidad de dificultades y restricciones posibles que pueden hacer que esta tarea sea más complicada de lo que parece. Esta práctica guiará al alumno en el proceso de redimensión de particiones en GNU/Linux.

    A continuación se proporciona una tabla de recursos necesarios para la realización del procedimiento.


COPIA DE SEGURIDAD DEL SISTEMA partix

Nombre del archivo

Descripción / Contenido / Características

root-save.img.bz2

  • Este archivo es el resultado de una copia de seguridad de una partición de disco hecha con dd. El tamaño de la partición es 1682964992 bytes.
  • En esta partición se aloja el directorio / de un S.O. GNU/Linux x86_64 completamente funcional cuyo nombre de $HOSTNAME es partix. La palabra de paso del usuario root de este sistema es entrada.

boot-save.img.bz2

  • Este archivo es el resultado de una copia de seguridad de una partición primaria de disco hecha con dd. El tamaño de la partición es 99615232 bytes.
  • En esta partición se aloja el directorio /boot de partix.

P R O C E D I M I E N T O

1 - Establecimiento de la infraestructura

MAQUINA VIRTUAL

Usando el comando vboxmanage crear un disco de nombre deb-partitioned-p02-disk con un tamaño de 10 Gb, clase VDI y tipo de almacenamiento dinámico y ampliar el tamaño del disco deb-partitioned-auxiliar (utilizado en el taller partitioned_p01) a 10Gb. A continuación actuar sobre la VM deb-partioned para ajustarla a las siguientes especificaciones:
SISTEMA

2 - Redimensionado de particiones

    Completado el apartado anterior, disponemos de una VM dotada de dos discos duros, uno de los cuales tiene dos particiones: Una con un filesystem ext4 donde reside el sistema operativo (en adelante sda1)  y otra dedicada a área de intercambio. Ahora debemos retranquear (reducir el tamaño) de la partición sda1 para dejar espacio suficiente sobre el que restaurar sendas particiones del sistema partix y hacer que convivan los dos en la misma VM (partix + pp02).

    Los pasos que se deben seguir son los siguientes:
  1. Conectar una imagen iso de un sistema LIVE a la controladora SATA de la VM (se recomienda systemrescuecd)
  2. Arrancar la VM desde el sistema LIVE y hacer lo siguiente:
    1. Chequear la consistencia del sistema de ficheros de la partición sda1 con la herramienta fsck.
    2. Reducir el tamaño del sistema de ficheros de sda1 con la herramienta resize2fs para dejar espacio libre en el disco donde puedan ubicarse las copias de seguridad de las particiones de partix. El alumno se aplicará en hacer cálculos precisos que permitan optimizar el espacio del disco en los siguientes terminos: Para la partición que ocupa el ramal /boot de partix se liberará el espacio total de la partición más un 10% adicional. Para la partición que ocupa el ramal / de partix se liberará el espacio total de la partición más un 20% adicional. Los cálculos deben hacerse usando como unidad de medida el sector (1 sector = 512 bytes, verificar antes con fdisk -l /dev/sda), hacerlo con otra unidad de almacenamiento (Kb, Mb ,Gb,etc...) resulta más cómodo pero altamente impreciso.
    3. Ajustar el tamaño de la partición sda1 en la tabla de particiones de sda con alguna herramienta apropiada (fdisk, parted, cfdisk, etc...) . Guardar los cambios y reiniciar el sistema para verificar que pp02 sigue arrancando sin problemas después de la sustracción de espacio en sda1
  3. Si pp02 no funciona empezar desde el principio toda práctica, en caso contrario, continuar por el siguiente apartado con pp02 iniciado.

3 - Restauración de las particiones

    Ya tenemos espacio libre en el disco1 para restaurar partix y además tenemos un disco adicional (disco2)  para auxiliarnos en dicha tarea. Los pasos son los siguientes:

  1. Con la herramienta gdisk preparar disco2 para su uso creando una tabla de particiones gpt y dos particiones tal que cada una de ellas tenga el 50% del disco (en adelante las llamaremos sdb1 y sdb2).
  2. Formatear sdb1 con un sistema de ficheros xfs.
  3. Formatear sdb2 con un sistema de ficheros btrfs.
  4. Montar sdb1 en el directorio /mnt/xfs (hay que crear el directorio).
  5. Montar sdb2 en el directorio /mnt/btrfs (hay que crear el directorio).
  6. Descargar en /mnt/xfs el fichero root-save* y en /mnt/btrfs el fichero boot-save*.
  7. Descomprimir ambos ficheros.
  8. Crear en sda las dos particiones cuyos tamaños se calcularon en el apartado anterior (dimensionarlas en sectores).
  9. Restaurar sobre las particiones creadas en el punto anterior los archivos imagen (.img) obtenidos en el paso 7. Esto se hará el comando dd.
  10. Desmontar las dos particiones que cuelgan de /mnt
  11. Montar alternativamente las particiones de partix sobre el directorio /mnt/check y verificar que tienen el contenido que se espera, a saber, en la mayor de ellas el árbol de directorios de primer nivel de un sistema GNU/Linux (/etc, /usr, /bin, /media, etc..) y en la menor de ellas el material de arranque típico del ramal /boot (comparar dichos directorios con los de pp02 para despejar dudas).
  12. Reconstruir el cargador de arranque (GRUB) de manera que permita iniciar cualquiera de los dos sistemas al arrancar la VM. Debe aparecer un menú simplificado con sólo dos opciones (una para pp02 y otra para partix). En esta receta está el procedimiento para reinstalar GRUB.