これが可能かどうか疑問に思っています。ローカルのマシンに/
リモートのLinuxマシンをマウントするLinuxシステムをセットアップしたい/
。ただし、ローカルマシン上のすべての変更をramに保存して、リモートマシンに影響が及ばないようにしたいのですが。理想的には、変更が書き込まれることは決してないので、再起動すると/
、前のセッション中に行われたすべての変更を無視して、元のパーティションが再びマウントされます。
そのようなことは可能ですか?
これが可能かどうか疑問に思っています。ローカルのマシンに/
リモートのLinuxマシンをマウントするLinuxシステムをセットアップしたい/
。ただし、ローカルマシン上のすべての変更をramに保存して、リモートマシンに影響が及ばないようにしたいのですが。理想的には、変更が書き込まれることは決してないので、再起動すると/
、前のセッション中に行われたすべての変更を無視して、元のパーティションが再びマウントされます。
そのようなことは可能ですか?
回答:
使用 unionfsの、AUFS(両方ともカーネル外部パッチである)またはunionfsfuse / funionfs(FUSEを使用)およびRO及び内部ファイルシステムのような外部/マーキングすることにより組合を作成するには、(毎回洗浄さTMPFS / ramfs /追加パーティションとしてマウント)。
あるいは、スナップショットでファイルシステムまたはLVMを使用できます。その後、変更が書き込まれますが、起動ごとにスナップショットを消去できます。
これにはいくつかの方法があります。最も簡単な設定は、すべての変更がBに保存されるように、2つのディレクトリツリーAとBの単一のビューを表示するユニオンファイルシステムを使用することです。この場合、AはNFS / Samba / sshfs /…マウントポイントになります。 Bは、tmpfsファイルシステム上の最初は空のディレクトリです。
Linuxはカーネル内組合のファイルシステムを持っていませんが、いくつかあるFUSEの実装:funionfs、unionfsのヒューズが。
あなたが行くことができBtrfs
、それはコピーオンライト(CoW)機能です。
あなたが探しているかもしれないものは、シードデバイスとしてBtrfs Wikiで説明されています:
基本的な考え方は、別の書き込み可能なパーティションである「その上に追加のレイヤーを追加する」よりも、元のデータで読み取り専用のパーティションを作成することです(たとえば、RAMなどでいつでも作成できます/dev/shm
)。
btrfstune -S 1 /dev/RO #make it read-only
mount /dev/RO /mnt/temp
btrfs device add /dev/RW /mnt/temp
umount /mnt/temp
その瞬間から、マウントするたびに
mount /dev/RW /mnt/test
変更は/ dev / RWに保存されますが、/ dev / ROは変更されません。
これは、PXEブートで非常に簡単にアーカイブできます。私はpxe tftp nfs bootでライブxbmcシステムを実行しています。変更は、COWを使用してNFS共有に書き込まれます。