Eu estou querendo saber se isso é possível. Quero configurar um sistema Linux que monta /
uma máquina Linux remota /
na máquina local. No entanto, quero que todas as alterações na máquina local sejam salvas no ram, para que não afetem a máquina remota. Idealmente, as alterações NUNCA seriam gravadas, para que, quando eu reiniciar, monte /
novamente a partição original, desconsiderando todas as alterações feitas durante a sessão anterior.
É algo assim possível?
Respostas:
Use unionfs , aufs (ambos são patches externos para o kernel) ou unionfsfuse / funionfs (usa FUSE) e crie union marcando externo / como RO e sistema de arquivos interno (montado como tmpfs / ramfs / partição adicional que é limpa a cada vez).
Alternativamente, você pode usar o sistema de arquivos ou o LVM com capturas instantâneas. Em seguida, as alterações são gravadas, mas você pode limpar os instantâneos a cada inicialização.
fonte
Existem várias maneiras de fazer isso. A configuração mais fácil seria usar um sistema de arquivos union, que apresenta uma única visualização de duas árvores de diretório A e B, de modo que todas as alterações sejam salvas em B. No seu caso, A seria um ponto de montagem NFS / Samba / sshfs /…, e B seria um diretório inicialmente vazio em um sistema de arquivos tmpfs.
O Linux não possui um sistema de arquivos de união no kernel, mas existem várias implementações do FUSE : funionfs , Unionfs-fuse .
fonte
Se / se encaixar na RAM da máquina local e deixar espaço suficiente para a execução de aplicativos, a idéia básica provavelmente seria inicializar um sistema Linux mínimo na máquina de destino e criar automaticamente um disco virtual ramfs, copiar / remotamente para ele e chroot para este novo /. Se a RAM não for suficiente, você poderá basicamente seguir o mesmo procedimento, mas não usar ramfs, mas uma partição de disco real, cujo conteúdo você precisará limpar antes de copiar. Em vez de limpar e copiar completamente, você também pode usar o rsync com as opções apropriadas.
fonte
Você pode usar o
Btrfs
recurso Copy-on-Write (CoW).O que você pode estar procurando é descrito no Btrfs Wiki como dispositivo Seed :
A idéia básica é criar uma partição com dados originais somente leitura, do que "adicionar uma camada adicional em cima dela", que é outra partição gravável (você sempre pode configurá-la na RAM, por exemplo
/dev/shm
) e montá-la:e a partir desse momento, toda vez que você monta
as alterações são salvas em / dev / RW, enquanto / dev / RO permanece intocado.
(exemplos são baseados nos do wiki )
fonte
Isso pode ser muito fácil com a inicialização do PXE. Estou executando um sistema xbmc ao vivo sobre inicialização pxe tftp nfs. as alterações são gravadas com o compartilhamento COW to NFS.
fonte