unix ubuntu – ¿Cómo puedo zerofill / swapfile sin borrar lo que lo convierte en un swapfile?

Pregunta:

Tengo un script que ejecuto para optimizar el espacio en disco antes de hacer una copia de seguridad de un invitado virtual (realmente no importa demasiado qué hipervisor se use).

Las versiones modernas de Ubuntu (por ejemplo, 18.04) parecen utilizar de forma predeterminada un /swapfile lugar de una partición para este propósito. Eso también está bien.

Sin embargo, me gustaría completar el archivo de intercambio junto con la partición raíz que lo contiene.

Con las particiones de intercambio, esto fue relativamente sencillo, ya que siempre había una forma de extraer el $UUID existente de la partición de intercambio y, después de completar la partición, ejecute mkswap -U $UUID para volver a crear dicha partición de intercambio.

Sin embargo, con /swapfile no veo cómo hacerlo. Si bien me doy cuenta de que no puede montar un /etc/fstab /swapfile por UUID en /etc/fstab , aún me gustaría conservar el UUID.

Así que creo que necesito uno de los siguientes para continuar:

  1. Necesito un método que pueda completar el archivo de intercambio sin borrar también esas estructuras que lo convierten en una partición de intercambio (es decir, evitar tener que ejecutar mkswap -U $UUID )
  2. Necesito un método para recuperar el UUID existente de un archivo de intercambio (a diferencia de una partición donde puedo usar cualquier cosa, desde blkid hasta mirar /dev/disk/by-uuid/$UUID …)

Respuesta:

  1. Esto no borrará el archivo de intercambio tan a fondo como volver a crearlo, pero si lo borra después de omitir los primeros 4 KB (estrictamente hablando, la primera página, que depende de su arquitectura), no tocará ninguna de las estructuras. que identifican un archivo de intercambio.

  2. blkid funciona bien en archivos de intercambio:

     $ mkswap swap Setting up swapspace version 1, size = 512 MiB (536866816 bytes) no label, UUID=7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc $ blkid swap swap: UUID="7916b81f-1faa-4b7d-84ef-b0bf2f75dbbc" TYPE="swap"

El formato de encabezado se define en el kernel : el formato antiguo tiene un valor mágico al final de la primera página, el nuevo formato lo combina con un área libre de 1 KB, luego una cantidad de campos (versión, tamaño, páginas incorrectas, UUID, etiqueta) que caben cómodamente dentro de la primera página.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım