Me pregunto si esto es posible. Quiero configurar un sistema Linux que monte /
la máquina Linux remota /
en la máquina local. Sin embargo, quiero que todos los cambios en la máquina local se guarden en la memoria RAM para que no afecte a la máquina remota. Idealmente, los cambios NUNCA se escribirían, de modo que cuando reinicie, /
vuelva a montar la partición original sin tener en cuenta todos los cambios realizados durante la sesión anterior.
¿Es posible algo así?
Respuestas:
Use unionfs , aufs (ambos son parches externos para el núcleo) o unionfsfuse / funionfs (usa FUSE) y cree la unión marcando externo / como RO y sistema de archivos interno (montado como tmpfs / ramfs / partición adicional que se limpia cada vez).
Alternativamente, puede usar el sistema de archivos o LVM con instantáneas. Luego se escriben los cambios, pero puede limpiar las instantáneas en cada arranque.
fuente
Hay varias formas de hacerlo. La configuración más sencilla usaría un sistema de archivos de unión, que presenta una vista única de dos árboles de directorio A y B, de modo que todos los cambios se guarden en B. En su caso, A sería un punto de montaje NFS / Samba / sshfs / ... y B sería un directorio inicialmente vacío en un sistema de archivos tmpfs.
Linux no tiene un sistema de archivos de unión en el núcleo, pero hay varias implementaciones de FUSE : funionfs , Unionfs -fuse .
fuente
Si / cabe en la RAM de la máquina local y deja suficiente espacio para ejecutar aplicaciones, la idea básica probablemente sería arrancar un sistema Linux mínimo en la máquina de destino y luego crear automáticamente un disco virtual ramfs, copiar / desde el control remoto y entrar en este nuevo /. Si la RAM no es suficiente, básicamente puede seguir el mismo procedimiento pero no usar ramfs sino una partición de disco real cuyo contenido debe borrar antes de copiar. En lugar de borrar y copiar por completo, también puede usar rsync con las opciones apropiadas.
fuente
Puede buscar
Btrfs
y es la función Copiar en escritura (CoW).El que podrías estar buscando se describe en Btrfs Wiki como Seed-device :
La idea básica es hacer una partición con datos originales de solo lectura, que "agregar una capa adicional en la parte superior", que es otra partición grabable (siempre se puede hacer en la RAM, por ejemplo, en
/dev/shm
) y montarla:y desde ese momento, cada vez que montas
los cambios se guardan en / dev / RW, mientras que / dev / RO permanece intacto.
(los ejemplos se basan en los de wiki )
fuente
Esto puede ser muy fácil con el arranque PXE. Estoy ejecutando un sistema xbmc en vivo sobre el arranque pxe tftp nfs. los cambios se escriben con COW en NFS share.
fuente