partición

  • En este breve artículo voy a explicar cómo utilizar el comando file para determinar si una partición tiene formato ext2, ext3, o ext4. Y algunas cosillas extra...

  • Hace algunos días tuve que de hacer un manejo algo turbio sobre una tabla de particiones MBR. Necesitaba que una partición lógica, dentro de una partición MBR extendida, pase a ser una partición primaria, por razones que no vienen al caso.

    Como muchos veteranos saben, las tablas de particiones DOS sólo soportan 4 particiones, que pueden ser primarias o extendidas. Las particiones primarias presumiblemente contienen un sistema de archivos, mientras que las particiones extendidas son particiones que contienen subparticiones internas, llamadas "lógicas". Esto permite que un disco posea más de 4 particiones, y es lo que se utilizó tradicionalmente en sistemas Windows y GNU/Linux hasta la adopción de GPT.

    Mi problema era que necesitaba deshacerme de toda partición "lógica" en la tabla de particiones uno de mis discos rígidos, por cuestiones de compatibilidad. Y para empeorar las cosas, una de las particiones utilizada para almacenar datos (la más valiosa) era justamente una partición lógica, y a su vez la de mayor tamaño (ocupando un 70% del espacio total del disco rígido). Esta situación me imposibilitaba mover su contenido hacia otras particiones para poder borrar la partición extendida (junto con todas sus particiones lógicas), para luego crearla como primaria.

    La solución fácil hubiera sido conseguir un disco adicional para mover todos los datos y crear una nueva tabla GPT en el disco (hacer borrón y cuenta nueva). Pero en lugar de eso, y como buen sysadmin, opté por una solución más elegante: convertir la gigantesca partición lógica en primaria (desechando las restantes particiones lógicas dentro de la misma extendida), poniendo en juego unos 350 GB de datos. Mentira, en realidad no tenía un disco de 500 GB a mano, por eso decidí arriesgarme.

  • Desde que instalé FreeBSD 10 en mi workstation le tuve que decir adiós a QEMU/KVM y "welcome back" a VirtualBox. Saber que me iba a quedar sin QEMU/KVM fue una de las decisiones más dificiles al momento de despedirme de CentOS 7. Pero hoy, luego de conocer la noticia de que CentOS deja de ser una distribución estable para pasar a ser rolling (una distro desktop en mis servers, claro que sí, ¡cómo mo!) y además de la incorporación del virus systemd, no me arrepiento en lo más mínimo. QEMU/KVM es una gran tecnología de virtualización, pero lamentablemente está desarrollada por Red Hat. Y desde que utiliza cgroups, Libvirt sólo funciona con el kernel Linux (no encontré forma de deshabilitar el uso de cgroups, a pesar de que probé diferentes configuraciones). Por otro lado, no me sorprendería para nada que en breve pase a depender de systemd.

    Mi pragmatismo característico me llevó a despedirme rápidamente de QEMU/KVM (y también de Dropbox porque el cliente no funciona en FreeBSD) y pasar a la siguiente tecnología disponible, en este caso: el viejo y querido VirtualBox.

  • Uno de los sistemas de archivos de un servidor, alojado en un volumen lógico LVM, necesitaba más espacio. Pero el grupo LVM al que pertenecía el volumen no tenía espacio libre. Por ende no quedó otra alternativa que incrementar el tamaño del grupo LVM. Para hacerlo existen dos posibilidades: agregar un nuevo disco o partición al grupo; o redimensionar uno de los discos o particiones pertenecientes al mismo. Anteriormente he explicado cómo redimensionar un disco físico perteneciente a un grupo LVM, pero en este caso en particular necesitaba redimensionar una partición LVM de un disco físico, lo que significa que además de aumentar el tamaño del disco es necesario luego modificar el tamaño de la partición subyacente. Es decir, aumentar el tamaño del disco y luego expandir la última partición del mismo para que utilice el nuevo espacio disponible al final del disco.

    En síntesis, se deben realizar los siguientes pasos:

    1. Hacer un backup fresco de toda la información en el servidor.
    2. Crear un snapshot del disco si la tecnología de virtualización lo permite.
    3. Modificar el tamaño del disco (lógicamente se trata de una máquina virtual).
    4. Hacer un backup
    5. Hacer un backup
    6. Hacer un backup
    7. ¿Mencioné hacer un backup?
    8. Redimensionar la partición dentro del disco.
    9. Notificar al grupo LVM acerca del nuevo tamaño de la partición.
    10. Aumentar el tamaño del volumen lógico LVM de acuerdo al nuevo espacio disponible en el grupo LVM.
    11. Expandir el sistema de archivos en el volumen lógico.
  • De vuelta al ruedo, luego de unas merecidas (¿?) vacaciones. Pido disculpas por no haber dejado un batch de artículos para que se entretengan durante mi ausencia, pero tuve un fin de año bastante agitado.

    En este artículo voy a explicar cómo dar formato NTFS a una partición de forma sencilla desde la línea de comandos. El formato NTFS (New Technology File System) es un sistema de archivos propietario desarrollado por Microsoft a partir de Windows NT. Es el sistema de archivos por defecto para los sistemas operativos Windows en la actualidad. NTFS tiene varias mejoras tecnológicas sobre FAT y HPFS, tales como un mejor soporte para metadatos; el uso de estructuras de datos avanzadas para mejorar la performance, confiabilidad y utilización de espacio en disco; y extensiones adicionales tales como listas de control de acceso (ACL) y journaling.

    En GNU/Linux, la capacidad para gestionar sistemas de archivos NTFS es provista por el driver NTFS-3G. NTFS-3G provee la funcionalidad necesaria para leer y escribir sistemas de archivos NTFS desde Linux, Mac OS X, FreeBSD, BeOS y Haiku con licencia GNU GPL y open-source. A diferencia del driver NTFS incluido en el kernel Linux, tiene muy pocas limitaciones en cuanto a la escritura de archivos: permite crear, renombrar, mover o borrar ficheros de cualquier tamaño en particiones NTFS, con la excepción de ficheros cifrados. Aunque todavía no posee la funcionalidad necesaria para modificar ACLs ni permisos. A partir de la versión 2.6 del kernel Linux, NTFS-3G monta las particiones NTFS usando el módulo de espacio de usuario FUSE (Filesystem in Userspace).