더 작은 파일로 구성된 가상 파일(Mac과 같은 스파스 번들링 솔루션용)

더 작은 파일로 구성된 가상 파일(Mac과 같은 스파스 번들링 솔루션용)

나는 Mac OS X의 기능을 재현하고 싶었습니다.희소 번들(디스크 이미지는 작은 파일들로 구성되어 있어 작은 변경 후에도 쉽게 백업할 수 있습니다.) 이를 위해 저는 더 작은 파일들로부터 연결된 단일 파일을 "가상으로" 생성하는 방법을 찾고 있습니다(big.file은 해당 공간을 모두 사용해서는 안 됩니다.협회파일로):

4096 0.file
4096 1.file
4096 2.file
4096 3.file
4096 4.file
20480 big.file

이렇게 하면 btrfs로 포맷된 루프 장치를 사용하여 big.file을 마운트할 수 있으며, 해당 디스크에 기록할 때 데이터는 쉽게 백업할 수 있도록 특정 .files에만 기록되어야 합니다.

이를 달성하는 방법에 대한 제안 사항이 있습니까? 어쩌면 FUSE와 관련이 있을까요?

답변1

나는 또한 비슷한 이유로 이 기능을 찾고 있습니다(클라우드 저장소에 대한 원격 백업). 또한 MacOS 스파스 번들 디스크 이미지처럼 디스크 이미지가 작게 시작되었다가 데이터가 추가됨에 따라 커지기를 원합니다.

Linux에서는 비슷한 것을 찾을 수 없었기 때문에 결국 이 작업을 수행하기 위해 FUSE 드라이버를 작성하게 되었습니다.모자이크 FS.

4MB 슬라이스 파일(76800개 파일)로 구성된 300GB mosaicFS 디스크 이미지를 생성하려면 다음을 수행해야 합니다.

# Create MosaicFS disk image
# (the individual tile files will be stored in the directory 'disk.img')
mosaicfs create --number 76800 --size 4M disk.img

# Mount disk image
# (the virtual image is mounted as 'myimage' with a size of 300 GB)
mosaicfs mount disk.img myimage

# Create file system 
mkfs.ext4 myimage

# Mount it
mkdir -p /media/mydrive
mount -o loop myimage /media/mydrive

# Unmount everything
umount /media/mydrive
fusermount -u myimage

Linux에서 지원하는 모든 파일 시스템을 사용할 수 있습니다. 또는 dm-crypt(파일 시스템 아래) 또는 EncFS(파일 시스템 위)를 사용하여 암호화 계층을 추가할 수도 있습니다.

자세한 내용과 소스 코드는 다음을 확인하세요.GitHub의 mosaicFS

답변2

이를 수행하는 한 가지 방법은 각 파일을 LVM 물리 볼륨으로 생성하고 물리 볼륨을 볼륨 그룹에 결합한 다음 해당 공간을 사용하여 LVM 논리 볼륨을 생성하는 것입니다. 하지만 이는 번거로운 작업입니다. 파일을 루핑 장치와 연결해야 합니다.

dd if=/dev/zero of=0.file bs=1024k count=4
losetup /dev/loop0 0.file
pvcreate /dev/loop0
# … repeat for all parts …
vgcreate -s 1m foo /dev/loop0 /dev/loop1 …
lvcreate -l 19 -n big foo
mkfs.btrfs /dev/mapper/foo-big

부팅 스크립트가 부품 재조립을 직접 지원하는 경우는 거의 없으므로 많은 부분을 수동으로 작성해야 합니다.

이해가 안 돼요. 파일을 분할하면 백업이 어떻게 용이해집니까? 많은 변경 사항이 전체 볼륨에 분산될 수 있습니다(예를 들어 여러 섹션에 슈퍼블록의 복사본이 포함됨). 변경된 부분을 백업하는 것만으로는 많은 이점을 얻을 수 없습니다. 어쨌든 해당 부분을 더 자세히 살펴봐야 합니다.

증분 백업을 수행하려면 파일 시스템 수준에서 백업하십시오.

전체 이미지를 전체 백업하고 싶지만 빈 공간을 무시하고 싶다면 반드시 백업을 생성하세요.스파스 파일, 희소 파일에서 효율적으로 작동하고 정기적으로 파일 시스템의 빈 공간을 0과 0으로 채우는 백업 도구를 사용하십시오.희소화하다그것.

관련 정보