'샌드 박스'에 파티션 마운트


9

이것이 가능한지 궁금합니다. /원격 리눅스 머신을 /로컬 머신에 마운트하는 리눅스 시스템을 설정하고 싶습니다 . 그러나 로컬 컴퓨터의 모든 변경 사항을 원격 컴퓨터에 영향을 미치지 않도록 램에 저장하려고합니다. 이상적으로는 변경 사항이 기록되지 않으므로 재부팅 할 때 /이전 세션에서 변경된 모든 내용을 무시 하고 원래 파티션을 다시 마운트합니다 .

그런 것이 가능합니까?


나는 당신의 남자의 답변을 테스트하기 위해 가지 않았으므로 솔루션으로 선택하기 위해 1을 선택하는 것은 어렵습니다. 그래서 난 당신을 모두
찬성

답변:


7

사용 unionfs , AUFS 또는 (모두 외부 커널 패치입니다) unionfsfuse / funionfs (사용의 FUSE) 및 RO 및 내부 파일 시스템과 같은 외부 / 표시하여 노동 조합을 생성 (때마다 청소의 tmpfs / ramfs / 추가 파티션으로 설치).

또는 스냅 샷과 함께 파일 시스템 또는 LVM을 사용할 수 있습니다. 그런 다음 변경 사항이 기록되지만 부팅 할 때마다 스냅 샷을 정리할 수 있습니다.


또는 btrfs시드 기능 (< en.wikipedia.org/wiki/Btrfs#cite_ref-16> 참조 )을 사용하여 읽기 전용 기반으로 읽기 / 쓰기 fs를 시드 할 수 있습니다. 기본 fs가 btrfs라면 ...
imz-Ivan Zakharyaschev

5

이것에 대해 여러 가지 방법이 있습니다. 가장 쉬운 설정은 통합 파일 시스템을 사용하여 두 디렉토리 트리 A와 B의 단일보기를 제공하므로 모든 변경 사항이 B에 저장됩니다. A의 경우 NFS / Samba / sshfs /… 마운트 지점입니다. B는 tmpfs 파일 시스템의 초기에 비어있는 디렉토리입니다.

Linux에는 커널 내부 통합 파일 시스템이 없지만 funionfs , Unionfs-fuse 와 같은 몇 가지 FUSE 구현 이 있습니다 .


3

로컬 시스템의 RAM에 /가 있고 응용 프로그램을 실행하기에 충분한 공간을 남겨 둔 경우 기본 아이디어는 대상 시스템에서 최소 Linux 시스템을 부팅 한 다음 ramfs 가상 디스크를 자동으로 생성하고 원격에서 가상 시스템으로 복사 / 복사하고 이 새로운 /에 chroot. RAM이 충분하지 않은 경우 기본적으로 동일한 절차를 따르지만 ramfs를 사용하지 않고 복사하기 전에 내용을 지워야하는 실제 디스크 파티션을 사용할 수 있습니다. 지우기 및 전체 복사 대신 rsync를 적절한 옵션과 함께 사용할 수도 있습니다.


1

계속해서 BtrfsCoW (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의 예제를 기반으로 함 )


0

이것은 PXE 부팅으로 매우 쉽게 달성 할 수 있습니다. pxe tftp nfs 부팅을 통해 라이브 xbmc 시스템을 실행하고 있습니다. COW에서 NFS 공유로 변경 사항이 기록됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.