Amazon Cloud에서 일부 데이터를 다운로드하는 코드를 실행하고있었습니다. 내가 실행중인 인스턴스에는 내가 구입 한 8GB 스토리지와 140GB의 추가 인스턴스 스토리지 (일종의 하드 드라이브로 연결됨)가있었습니다. 이제 데이터가 거의 가득 찬이 여분의 140GB 스토리지에 데이터를 다운로드했습니다.
이제이 데이터를 "타르 (tar)"하고 Amazon S3 (클라우드 저장소 - 이미 인스턴스에 마운트 한 상태)에 저장하여 다운로드 할 수있게하려고합니다. 이제 문제는 우분투 (이 인스턴스에 설정되어 있음)가 8GB 저장소 (우분투가 설치된 파티션)에 임시 파일을 생성하고 공간이 충분하지 않기 때문에 (심지어 tar 파일의 경우에도) S3에서 불완전한 타르를 생성합니다. 나 한테 길을 제안 해 주 시겠어요?
S3에 파일을 복사 한 다음 분할하여 작은 조각을 타르도록했습니다. (다른 인스턴스가 있고 70GB 정도 타르를 알고 있습니다.) 하지만 cp조차 일종의 임시 복사본을 만듭니다. 어떤 방법으로?
아니, 나는 그런 네트워크가 있다고 생각하지 않는다. 게다가 나는 40 개의 그런 경우가 있고 나는 이것 모두가 가능할 것이라고 생각하지 않는다. 따라서 S3에서 파일의 타르를 생성해야합니다. 도움 주셔서 감사합니다. 파일의 절반을 한 번, 나머지 절반을 다른 반복으로 타르를 수 있습니까?
—
user533550
S3가 "마운트"되어서 s3fs를 사용하는 것처럼 들리 겠지만 s3fs는 tar 및 cp가 아닌 임시 파일을 사용하는 것 같습니다. s3fs에서 디스크 캐시를 활성화 한 경우 가장 먼저 시도해보십시오. 그렇지 않다면 s3fs를 사용하는 것보다 s3fs를 사용하는 것보다 s3fs를 사용하는 것보다는 t3을 사용하는 것보다는 t3을 사용하는 것이 타당합니다. 또는 임시 디스크가 필요할 때 EBS 볼륨이나 임시 디스크가 있으면 마운트하십시오.
—
Michael - sqlbot
s3fs에서 디스크 캐시를 비활성화하는 방법을 확인합니다. 그 사이에 큰 파일을 ~ 4GB 청크 (약 5Gb 인스턴스 공간이 남아 있음)로 분할하고 s3fs에 기록하는 코드를 작성한 임시 솔루션이 채택되었습니다. 나는 빠른 해결책을 찾아야했다.
—
user533550
nc -l 4321 | tar -xf -
(파일을 추출하고, std in을 입력하고, std는 포트 4321에서 수신하는 netcat으로 채워진다.). 그리고 보내는 사이트에서 아마존 호스트의 포트 4321에 netcat을 연결하십시오. 뭔가 라인nc IP.IP.IP.IP 4321 < mytarball.tar
).