Primeros pasos con APFS

Antes de seguir adelante, quiero dejar claro que este artículo está basado en la versión de evaluación de este sistema de archivos y que puede haber grandes cambios en la versión final para la que faltan aún muchos meses.

La idea es, no solo comprender cómo se va a estructurar este sistema de archivos, sino cómo vamos a poder acceder a él a través del Terminal con una serie de comandos de ejemplo que te pueden dar una idea muy clara de cómo vas a poder gestionar las diferentes unidades de almacenamiento conectadas a tu Mac.

Éste artículo es, pues, una vista previa de esta tecnología y seguramente no será válido para la versión final de la misma así que si en el futuro llegas a través de una búsqueda en tu navegador a este artículo debes consultar con la información más reciente de Apple ya que, de nuevo, éste es sólo un primer vistazo a este nuevo sistema de archivos con muchos meses de antelación.

Cómo se va a estructurar tu disco duro cuando empieces a utilizar APFS

El primer paso es entender cómo se va a estructurar un disco duro cuando saltes de el actual sistema de archivos al nuevo sistema de archivos de Apple.

Tu disco duro se dividirá en un primer nivel en Contenedores, algo muy parecido a cómo se realiza ahora en CoreStorage con una serie de UUIDS específicas para cada uno de ellos.

Estos Contenedores se podrán dividir en diferentes Volúmenes, lo que equivaldría en nuestro caso a tener particiones dentro de un disco, y después cada volumen tendrá su propio sistema de archivos, denominados por Apple Namespaces.

Conceptualmente los contenedores son muy parecidos a los que estamos utilizando ahora con CoreStorage y que llamamos volúmenes lógicos.

Aunque no hay, de nuevo, soporte completo para APFS a fecha de hoy, es factible ya crear con la implementación actual Contenedores, Volúmenes y Namespaces utilizando el comando diskutil que no desaparece de la línea de comandos sino que se mantiene, ahora con el soporte necesario para el nuevo sistema de archivos.

Para particionar un disco y crear un Contenedor APFS y un volumen APFS usaremos el comando:

diskutil partitionDisk ID_del_disco 1 GPT APFS Nombre_volumen_APFS 100%

donde la ID del disco sería por ejemplo /dev/disk0 y Nombre_volumen_APFS el nombre para humanos que le daremos al disco. Evidentemente, el porcentaje expresado es para capturar todo el espacio disponible del disco, con porcentajes menores quedaría espacio libre.

A la hora de listar los discos que se encuentran bajo este nuevo formato, usaremos el tradicional comando list pero indicando que lo que queremos es inspeccionar las unidades bajo APFS, de la misma manera que ocurre con CoreStorage. Con CoreStorage usábamos diskutil cs list y ahora con APFS usaremos diskutil apfs list.

Apple nos indicará, no obstante y de forma clara, que la actual versión de APFS es un trabajo en progreso y con cada comando incluirá un texto de advertencia al respecto.

Para crear un contenedor dentro de un disco usaremos entonces:

diskutil apfs createContainer /dev/Id_dispositivo

A todos los efectos, esa ID del dispositivo será la partición real que correspondería, en HFS+ a un disk0s1, disk0s2, etc…

Para destruir un contenedor APFS y todos los volúmenes y namespaces asociados al mismo usaremos el verano deleteContainer. Al utilizarlo, se desmontarán todos los Volúmenes asociados a ese Contenedor, se borrarán junto al Contenedor y el disco o espacio eliminado del contenedor se reformateará a HFS+ con el nombre «Sin título» si no especificas un nombre a la hora de eliminarlo.

También es factible redimensionar un Contenedor usando el verbo resizeContainer en función del espacio libre disponible en el disco. Para aprovechar todo el espacio disponible del disco, si es lo que buscas, entonces usaremos 0.

diskutil apfs resizeContainer /dev/disksXsX 0

La creación de Volúmenes, después de gestionar los Contenedores, se realiza a través de addVolume y el correspondiente nombre para el mismo.

diskutil apfs addVolume /dev/disksXsX APFS "MACINTOSH HD"

Evidentemente, la eliminación de un Volumen dependerá de deleteVolume.

El espacio libre del disco

Esto causará muchas dudas a los usuarios con la versión final, salvo que Apple haga modificaciones al respecto, así que siempre sobre esta versión aún sin terminar de AFPS, voy a intentar explicar cómo funciona la gestión del espacio libre del disco.

El espacio libre del disco se gestiona a nivel de Contenedor. Esto quiere decir que si tienes un disco de, por ejemplo, 1 TB con 2 Volúmenes, ambos Volúmenes mostrarán 1 TB de espacio aunque este espacio es compartido para ambos. A efectos prácticos, te parecerán dos discos diferentes, pero ya no estás limitado a una cantidad específica de espacio para una partición como con HFS+, sino que ambos volúmenes comparten el espacio libre del Contenedor. Con el, actual formato, si tienes una partición de 500 GB, cuando llegas a 500 o amplías esa partición o ya no puedes ir más lejos, mientras que ahora, simplemente, ese espacio libre del disco está compartido, de forma que no tienes más limitación que el espacio asignado al Contenedor incluso cuando tienes varios Volúmenes montados en el Escritorio. El espacio libre es, pues, dinámico al respecto de su uso y no estas limitado a un espacio determinado como ocurre ahora cuando ajustas la partición de un disco a un número específico de GB.

Archivos duplicados y Versiones

La gestión de archivos duplicados y versiones del documento ahora ocuparán mucho menos espacio ya que cuando se duplique un archivo este hará referencia al archivo original y el archivo duplicado sólo guardará los cambios específicos realizados al mismo.

Esto será especialmente útil a la hora de trabajar con Versiones de ese archivo de forma que se utilizará el espacio del disco de forma mucho más eficiente y permitiendo disponer de mucho más espacio libre, aprovechando así las propias limitaciones de tamaño de los SSD.

A todos los efectos, cuando un archivo es duplicado no se crea una copia que ocupa todo el espacio del archivo y se crea de forma instantánea sin ese proceso de copia que se muestra ahora bajo nuestro actual sistema de archivos. En el momento en el que se modifica esa copia del archivo sólo en los bloques del disco al respecto del original son modificados. Una de las primeras dudas que se me han creado al respecto de este sistema es que ocurrirá cuando el archivo original tenga un problema ya que de él depende la copia o las copias creadas de ese archivo y si esto puede producir un fallo en cascada con el resto de archivos dependientes pero es todavía muy pronto para definir cómo se solucionará este problema y tendremos que esperar a la versión final de este nuevo sistema de archivos para ver cómo se gestionan este tipo de errores.

Snapshots

APFS es capaz de gestionar instantáneas (Snapshots) del sistema de archivos. Si no estás familiarizado con esto, una instantánea es una instancia sólo de lectura del sistema de archivos de un volumen. Las instantáneas pueden ser utilizadas para hacer que las copias de seguridad sean mucho más eficientes y sobre todo para revertir los cambios realizados a un sistema de archivos en un punto específico del tiempo.

En la versión de desarrollo de APFS Apple ha incluido una utilidad llamada apfs_snapshot para esta gestión, pero Apple indica en la documentación que esta utilidad será sustituida más adelante por otra diferente a lo largo del desarrollo antes de llegar a la versión final.

Reparación de discos

Si tienes un problema con tus discos duros siempre tendrás la posibilidad de intentar una reparación utilizando la, en el caso de APFS, herramienta de reparación de discos que ahora se llamará fsck_apfs que debe ser ejecutada con privilegios de super administrador. Así para reparar un disco, usaremos el comando:

sudo fsck_apfs /dev/ID_del_disco

Es evidente que en este punto del desarrollo este nuevo sistema de archivos todavía está muy verde pero su funcionamiento es prometedor. Con este artículo he intentado mostrarte como la gestión del nuevo sistema de archivos depende de una serie de comandos de Terminal que no difieren mucho de los comandos que estamos utilizando hasta ahora con nuestro tradicional HFS+.

A lo largo de los próximos meses vamos a ir viendo, conforme se acerque la siguiente versión de macOS, cómo Apple va implementando las diferentes características que de momento le faltan al nuevo sistema de archivos.

Actualmente en la situación en la que se encuentra, no es factible utilizar el nuevo sistema de archivos como disco de arranque cosa que evidentemente va a cambiar, de forma forzosa este nuevo sistema de archivos solo utiliza discriminación entre mayúsculas y minúsculas, las copias de seguridad de Time Machine no están soportadas, FileVault tampoco está soportado, y tampoco lo están las unidades Fussion Drive, pero muchas de estas características evidentemente han de ser implementadas antes de la versión final en la que tendremos a nuestra disposición, por lo que parece, un sistema de archivos muchísimo más sólido que el que tenemos ahora con un cifrado muy potente pero sobre todo, a efectos prácticos, con una mejor gestión del espacio disponible que haga que archivos y sistema ocupen menos por lo que en nuestros SSD tendremos bastante más espacio disponible para una misma cantidad de archivos.

9 Comments

    1. Carlos Burges Ruiz de Gopegui Post author

      Gracias. Tienen que estar trabajando ahora mismo a marchas forzadas y de hecho la base debería estar hecha conforme en iOS 10.3 lo piensan implementar «sí o sí», pero a mi me surgen muchas dudas todavía al respecto de muchas cosas como por ejemplo, volúmenes de red, imágenes de disco, procesos de copia bajo SMB desde máquinas externas y mucho mas. También el tema de creación de imágenes para clonado y similar. hay mucho tajo que cortar.

  1. uti

    Tengo un disco de arranque SSD y, por supuesto, backup con Time Machine. . . . . .Si el sistema APFS no sirve ni para arranque, ni para Time Machine ¿Qué van a hacer con todo lo que hay ya establecido y funcionando?

  2. LETRA

    Los snapshots proporcionarán una de las funcionalidades más interesantes en materia de seguridad que tienen las máquinas virtuales, que son las instantáneas. Con esto podremos guardar una imagen estática de Mac OS e iniciar sesión de forma que cualquier cambio en el sistema se borre al apagarlo. Para protegernos de virus y de todo tipo de malware, troyanos, etc, es excelente, y hoy día se usa muchísimo gracias a aplicaciones como Parallels o Virtual Box para cosas tan sencillas, y que pueden ser tan peligrosas, como leer el correo o interaccionar en las redes sociales. A nivel empresarial, y para usuarios avanzados, disponer de ello sin tener que crear segunda capas de sistemas operativos corriendo por encima del matriz será un bombazo. Veremos muchas aplicaciones usando esas características. Y a Apple, una vez más, por delante de Linux y Windows.

    Salud.

  3. Alquimista

    No sé por qué pero sospecho que Apple va poner esto en macOS 10.13 esté acabado o no, ósea, como casi todo lo que hace últimamente. Luego ya llegaran los problemas de los usuarios, los enfados y demás pero, qué más da, mientras la empresa siga vendiendo iPhones…

  4. rosuna

    Una pregunta: para pasar al nuevo sistema de archivos… ¿tendremos que hacer una «instalación limpia» de MacOS, es decir, formateando y reinstalando todo? ¿O habrá alguna forma de transformar un sistema de archivos al otro «sobre la marcha» (como se podía hacer en Windows, desde FAT a NTFS)?

Deja una respuesta