GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un archivo de intercambio en un disco SSD con btrfs

Estado en 2019

El desarrollo de Btrfs y el kernel de Linux dejó mi respuesta original obsoleta . Por favor vea esta otra respuesta.

Respuesta original de 2016

De las preguntas frecuentes de btrfs:

¿Btrfs admite archivos de intercambio? Actualmente no. Simplemente hacer un archivo NOCOW no ayuda, el soporte de archivos de intercambio se basa en una función que btrfs no implementa intencionalmente debido a posibles corrupciones. (...) Una solución alternativa, aunque con bajo rendimiento, es montar un archivo de intercambio a través de un dispositivo de bucle.

Por lo tanto, todavía no hay una buena forma de crear un archivo de intercambio en la partición btrfs.


Como se mencionó anteriormente, desde Linux 5.0 ahora es posible crear archivos de intercambio en BTRFS. Pero deben estar sin comprimir y NoCOW. Así es como se crea realmente un archivo de este tipo:

  1. Cree un archivo vacío:touch /swap
  2. Usar chattr para configurar NoCOW atribuirle:chattr +C /swap
  3. Verifique que C apareció el atributo:lsattr /swap
  4. Llénalo:dd if=/dev/zero of=/swap bs=1M count=1024 # por 1 gigabyte
  5. mkswap /swap && chmod 600 /swap && swapon /swap

Alternativamente, puede crear un directorio, configurar chattr +C a ese directorio y luego cree un archivo de intercambio debajo de él.

Tenga en cuenta que no puede hacer chattr +C a un archivo no vacío ya existente. Está documentado como un comportamiento indefinido (de hecho, simplemente no cambia los atributos). Por lo tanto, debe crear un archivo vacío y luego chattr , o crea un directorio con chattr y luego cree un archivo en él (en tal caso, todos los archivos creados después de chattr abrir el directorio tendrá el atributo nocow).

Advertencia: como se mencionó, esto requiere la versión del kernel 5.0 o superior. Raspberry Pi, por ejemplo, usa kernels 4.19.*, por lo que no podrá usar esta técnica en él.


Se agregó compatibilidad con archivos de intercambio a la versión 5.0 del kernel, como se puede ver en la confirmación https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ed46ff3d423780fa5173b38a844bf0fdb210a2a7Para activar el intercambio archivo en btrfs, el archivo debe estar completamente asignado como NOCOW sin compresión en un dispositivo.


Linux
  1. Cómo crear un intercambio en Linux

  2. Cómo crear un archivo de intercambio en Linux

  3. ¿Cómo crear un sistema en vivo en una unidad USB con cambios persistentes en el disco/disco duro?

  4. Cómo crear y montar el sistema de archivos Btrfs (explicado con ejemplos)

  5. Cómo crear y consultar un sistema de archivos BTRFS

Cómo crear un archivo en Linux

Cómo crear un archivo Tar Gz

Cómo crear y administrar particiones de disco con Fdisk en Linux

Cómo crear nuevos usuarios en OpenShift con htpasswd y OAuth

Cómo crear un archivo de sitio web

Cómo crear un comercio electrónico con Magento