이것이 가능한지 궁금합니다. /
원격 리눅스 머신을 /
로컬 머신에 마운트하는 리눅스 시스템을 설정하고 싶습니다 . 그러나 로컬 컴퓨터의 모든 변경 사항을 원격 컴퓨터에 영향을 미치지 않도록 램에 저장하려고합니다. 이상적으로는 변경 사항이 기록되지 않으므로 재부팅 할 때 /
이전 세션에서 변경된 모든 내용을 무시 하고 원래 파티션을 다시 마운트합니다 .
그런 것이 가능합니까?
이것이 가능한지 궁금합니다. /
원격 리눅스 머신을 /
로컬 머신에 마운트하는 리눅스 시스템을 설정하고 싶습니다 . 그러나 로컬 컴퓨터의 모든 변경 사항을 원격 컴퓨터에 영향을 미치지 않도록 램에 저장하려고합니다. 이상적으로는 변경 사항이 기록되지 않으므로 재부팅 할 때 /
이전 세션에서 변경된 모든 내용을 무시 하고 원래 파티션을 다시 마운트합니다 .
그런 것이 가능합니까?
답변:
사용 unionfs , AUFS 또는 (모두 외부 커널 패치입니다) unionfsfuse / funionfs (사용의 FUSE) 및 RO 및 내부 파일 시스템과 같은 외부 / 표시하여 노동 조합을 생성 (때마다 청소의 tmpfs / ramfs / 추가 파티션으로 설치).
또는 스냅 샷과 함께 파일 시스템 또는 LVM을 사용할 수 있습니다. 그런 다음 변경 사항이 기록되지만 부팅 할 때마다 스냅 샷을 정리할 수 있습니다.
이것에 대해 여러 가지 방법이 있습니다. 가장 쉬운 설정은 통합 파일 시스템을 사용하여 두 디렉토리 트리 A와 B의 단일보기를 제공하므로 모든 변경 사항이 B에 저장됩니다. A의 경우 NFS / Samba / sshfs /… 마운트 지점입니다. B는 tmpfs 파일 시스템의 초기에 비어있는 디렉토리입니다.
Linux에는 커널 내부 통합 파일 시스템이 없지만 funionfs , Unionfs-fuse 와 같은 몇 가지 FUSE 구현 이 있습니다 .
로컬 시스템의 RAM에 /가 있고 응용 프로그램을 실행하기에 충분한 공간을 남겨 둔 경우 기본 아이디어는 대상 시스템에서 최소 Linux 시스템을 부팅 한 다음 ramfs 가상 디스크를 자동으로 생성하고 원격에서 가상 시스템으로 복사 / 복사하고 이 새로운 /에 chroot. RAM이 충분하지 않은 경우 기본적으로 동일한 절차를 따르지만 ramfs를 사용하지 않고 복사하기 전에 내용을 지워야하는 실제 디스크 파티션을 사용할 수 있습니다. 지우기 및 전체 복사 대신 rsync를 적절한 옵션과 함께 사용할 수도 있습니다.
계속해서 Btrfs
CoW (Copy-On-Write) 기능을 사용할 수 있습니다.
당신이 찾고있는 것은 Btrfs Wiki 에서 Seed-device 로 설명되어 있습니다 :
기본 아이디어는 쓰기 가능한 다른 파티션 인 "그 위에 추가 레이어를 추가하는 것"보다 원본 데이터가있는 파티션을 읽기 전용으로 만드는 것입니다 /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는 그대로 유지됩니다.
(예는 Wiki의 예제를 기반으로 함 )
이것은 PXE 부팅으로 매우 쉽게 달성 할 수 있습니다. pxe tftp nfs 부팅을 통해 라이브 xbmc 시스템을 실행하고 있습니다. COW에서 NFS 공유로 변경 사항이 기록됩니다.