희소 파일에서 네트워크를 통한 장치 차단까지

희소 파일에서 네트워크를 통한 장치 차단까지

블록 장치를 나타내는 희소 파일이 있는 경우 네트워크를 통해 해당 파일을 어떻게 효율적으로 복구할 수 있습니까? 이상적으로는 블록 장치를 사용 rsync -S host:file /dev/sdb하지만 쓰지는 않을 것입니다. rsync사용 중이지만 ssh host dd if=file | dd of=/dev/sdb0바이트가 네트워크를 통해 전송되어 장치에 기록되므로 이는 효율적이지 않습니다. 그것을 사용할 수 있나요 ? tar -S아니면 cp --sparse=always어떤 방식으로든 사용할 수 있나요? 파일을 로컬에 저장하지 않고(임시라도) 이 작업을 수행할 수 있습니까? SSHF가 희소 파일을 인식할 수 있나요?

답변1

아직 테스트하지는 않았지만 write-devices문제를 해결할 수 있는 rsync 패치가 있습니다. 패치는 다음에서 찾을 수 있습니다.rsync 패치저장소.

답변2

당신은 설치할 수 있습니다iSCSI 기업 목표소프트웨어를 사용하고 다음과 같이 스파스 파일에서 iSCSI LUN을 설정합니다.

/etc/iet/ietd.conf에서:

Target iqn.my.iscsi.test:disk1
        Lun 0 Path=/path/to/my/sparse_file,Type=fileio

그런 다음 복원해야 하는 호스트에서 대상을 부팅합니다. 대상이 로컬 장치(예: /dev/sdd)로 나타나므로 dd해당 장치에서 로컬 장치에 연결할 수 있습니다.

답변3

즉시 데이터 압축/압축 해제를 시도해 보셨나요? 로트 0은 잘 압축되어야 합니다.

사실 다시 생각해보면 아주 간단하다. 원격 호스트에서 평소 mkfifo와 같이 scp./를 사용하여 파이프를 만든 dd다음 cp --sparse=always이 파이프에서 실제 대상 파일로 연결됩니다.

내 설치에서 테스트되었으며 출력에 스파스 파일이 생성됩니다. 좋은 질문을 해주셔서 감사합니다!

관련 정보