[완료]리눅스에서 효율적으로 복사하는 방법 문의드립니다.
글쓴이: labiz / 작성시간: 화, 2010/02/23 - 5:47오후
안녕하세요.
가입한지는 오래되었지만 처음 글써보네요. :)
첫 글이 질문이네요 ^^)
제가 업무상 작은 파일(1~30Kb)들을 많이 다루는데요. (이미지 생성업무로 대략 8천만개 정도 됩니다.)
현재는 PC 2대(각각 HDD 가 500GBx2 RAID 0)로해서 2천만개씩 tar 로 압축해서
하나의 디스크에 압축을 푸는 방법을 사용중인데요. 이것도 시간이 2~3일 걸리는것 같아서요.
즉, 프로세스는 다음과 같습니다.
1. PC 2대로 2천만개씩 생성.
2. 생성이 완료되면 tar 로 압축해서 압축파일 2개를 추가분의 하드디스크에 압축 해제.
3. 다른 이미지 생성을 위해 1~2번을 반복합니다. (도합 8천만개)
PC2대에서 중간에 데이터를 하나의 하드디스크에 병합하는 과정때문에 파티션을 나눠서
partimage 를 사용하기도 쉽지가 않습니다.
조언 부탁드립니다. ^^
Forums:
수백, 수천만개의
수백, 수천만개의 파일을 카피한다면 파일단위로 작업하기보다는 블럭혹은 이미지 단위로 작업하는게 더 나을듯 합니다.
파일 복사의 개념보다는 차라리 네트워크 미러링을 생각해보시는 것이 어떠신지요. DRBD같은 쪽으로 발상을 돌려보는 것도 하나의 방법이 아닐까 싶네요.
===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com
===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com
답변 감사드립니다.
답변 감사드립니다. 새롭게 알려주신 방법(+_+)도 참고를 해서 살펴보도록 하겠습니다.
흠 몇가지 걸리는 부분이 있는데, 현재 제가 사용하는 시스템의 FS 는 EXT3 로 구성되어있고,
데이터를 전송해서 넘겨야 하는 하드디스크는 파일시스템을 XFS 로 전달해야 합니다. 이런부분에 문제가 없는지요.
그리고 일단 미러링은 사용하기가 쉽지 않은것이 생성되는 파일들의 내용이 달라서 적용이 될수 있을지 의문이 있습니다.
현재는 중간에 데이터를 병합하는 과정이 있어서 이 병합하는 부분에서 오래걸리구요.
그래서 지금 이 부분을 삼바나 NTFS 로 구성을 바꿔서 하나의 하드디스크를 공유하는 개념에 각각 다른데이터를 작성을 해서
한번에 디스크 이미지를 보관하려고 구상중입니다.^^;
다시한번 좋은 정보 감사합니다~
안뇽하세요^^)/
이미 적용했을지도..
이미 적용했을지도 모르겠습니다..
크기가 작고 많은 파일을 다룰때는 파일 access time을 기록하지 않도록 하는 방법이
도움이 됩니다.
ext3 file system이라면..
noatime,nodiratime 옵션을 주시고 mount해보세요.
이건 도움이 될지는 모르겠지만..
commit=3600 옵션도 한번 줘보시구요..
fstab에는
/dev/sda1 /home ext3 commit=3600,defaults,noatime,nodiratime 0 2
이런식이 될 겁니다.
크기가 작고 많은 파일에 대한 disk 작업에는 cache가 많은 대용량 디스크도
크게 도움이 되질않습니다.
오히려 system call을 최소화하는 것이 도움이 됩니다.
그리고 xfs 옵션은 모르겠네요.. 사용해보지 않아서.
답변 감사드립니다. :)
일단 주말에 그냥 아무것도 못하고 걸어버려서 아무것도 적용못했습니다. ^^;
아직 이쪽에 대한 지식이 거의 없다보니 slc님의 힌트들이 많이 도움이 되었습니다.
덕분에 다음과 같은 링크를 찾아서 조만간 적용해보려고 합니다.
http://kldp.org/node/101444
답변 감사합니다.^^
안뇽하세요^^)/
댓글 달기