it-swarm-ko.tech

병렬 파일 아카이버 (tar와 같은)가 있습니까?

파일의 병렬 보관을 위해 무언가가 있습니까?

Tar는 훌륭하지만 테이프 아카이브를 사용하지 않으며, smp가 있기 때문에 아카이브가 bzip2와 같은 압축으로 빠르게 발생하는 것이 더 중요합니다.

42
supercheetah

Pbzip2를 찾고 있다고 생각합니다.

PBZIP2는 pthread를 사용하고 SMP 머신에서 거의 선형 속도 향상을 달성하는 bzip2 블록 정렬 파일 압축기의 병렬 구현입니다.

project homepage 를 보거나 즐겨 찾는 패키지 저장소를 확인하십시오.

36
echox

7Zip-mmt 플래그가 주어지면 여러 스레드에서 실행될 수 있지만 7z- 아카이브로 압축 할 때만 압축이 가능하지만 일반적으로 Zip보다 속도가 느려 아카이브를 만듭니다. 다음과 같이하십시오 :

7z a -mmt foo.7z /opt/myhugefile.dat
21
fschmitt

OP는 병렬 압축이 아닌 병렬 아카이브에 대해 질문했습니다.

소스 자료가 다른 디렉토리/파일이 다른 디스크에 있거나 파일이 압축 도구의 입력 속도를 초과하는 빠른 단일 디스크 인 파일 시스템에서 온 경우 실제로 여러 입력 스트림을 갖는 것이 유리할 수 있습니다 압축 레이어로 이동합니다.

의미있는 질문은 병렬 아카이브의 출력이 어떻게 생깁니 까? 더 이상 단일 파일 디스크립터/stdout가 아니라 스레드 당 파일 디스크립터입니다.

지금까지의 예는 Postgresql pg_dump의 병렬 덤프 모드로, 백업 할 테이블 세트에서 작업하는 스레드 (대기열을 소비하는 여러 스레드가있는 작업 큐)와 함께 디렉토리로 덤프합니다.

주류에 해당하는 실제 병렬 아카이브는 확실하지 않습니다. ZFS에서 사용하기 위해 Solaris Tar에 대한 해킹이있었습니다 : http://www.maier-komor.de/mtwrite.html

여러 스레드를 성공적으로 실행하는 일부 전용 백업 도구가 있지만 작업 부하를 디렉터리별로 높은 수준으로 나누는 것보다 훨씬 많은 도구가 있습니다.

16
robbat2
tar --use-compress-program=pigz  ....

pigz를 자주 사용하는 병렬 압축 프로그램으로 바꾸십시오. tar을 (를) 사용하는 이유는 소유자, 그룹, 권한을 저장할 수 있기 때문입니다. 이 메타 데이터는 종종 유용합니다 (예 : 복잡한 시스템에서 디렉토리 트리 복원).

12
uDude

pigz 는 gzip의 병렬 구현이지만 압축이 아닌 여러 프로세서 만 압축에 사용할 수 있습니다.

10
Jay Hacker

tar은 파일을 정확하게 복제하고 디렉토리 트리와 원본 파일 속성을 보존하는 데 매우 유용한 아카이브 형식입니다. TAR은 모든 것이 보존되기 때문에 백업에 매우 좋습니다. 나는 사용한다 pbzip2 시스템 백업에 사용하는 tar 아카이브를 압축하여 결과가 매우 좋습니다.

이 명령은 트릭을 수행해야합니다.

tar -cpS "infile" | pbzip2 > "outfile"

pbzip2는 다른 압축 유틸리티로 대체 할 수 있지만 LzMA 압축 (pxz와 같은)은 큰 파일을 압축/압축 해제 할 때 RAM의 TON을 사용합니다 (8GB로 8 개의 스레드를 실행하려고했습니다) RAM과 pxz가 디스크로 교체되기 시작했습니다.

8
lovot

또 다른 경쟁자는 lbzip2 . pbzip2와 매우 비슷합니다.

4
Felipe Alvarez

압축이 고려되는 한, 버전 5.2부터 xz-T 옵션.

2
peterph