[완료]리눅스에서 효율적으로 복사하는 방법 문의드립니다.

labiz의 이미지

안녕하세요.
가입한지는 오래되었지만 처음 글써보네요. :)

첫 글이 질문이네요 ^^)
제가 업무상 작은 파일(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 를 사용하기도 쉽지가 않습니다.

조언 부탁드립니다. ^^

elflord의 이미지

수백, 수천만개의 파일을 카피한다면 파일단위로 작업하기보다는 블럭혹은 이미지 단위로 작업하는게 더 나을듯 합니다.
파일 복사의 개념보다는 차라리 네트워크 미러링을 생각해보시는 것이 어떠신지요. DRBD같은 쪽으로 발상을 돌려보는 것도 하나의 방법이 아닐까 싶네요.

===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

labiz의 이미지

답변 감사드립니다. 새롭게 알려주신 방법(+_+)도 참고를 해서 살펴보도록 하겠습니다.

흠 몇가지 걸리는 부분이 있는데, 현재 제가 사용하는 시스템의 FS 는 EXT3 로 구성되어있고,
데이터를 전송해서 넘겨야 하는 하드디스크는 파일시스템을 XFS 로 전달해야 합니다. 이런부분에 문제가 없는지요.
그리고 일단 미러링은 사용하기가 쉽지 않은것이 생성되는 파일들의 내용이 달라서 적용이 될수 있을지 의문이 있습니다.

현재는 중간에 데이터를 병합하는 과정이 있어서 이 병합하는 부분에서 오래걸리구요.
그래서 지금 이 부분을 삼바나 NTFS 로 구성을 바꿔서 하나의 하드디스크를 공유하는 개념에 각각 다른데이터를 작성을 해서
한번에 디스크 이미지를 보관하려고 구상중입니다.^^;

다시한번 좋은 정보 감사합니다~

안뇽하세요^^)/

slc의 이미지

이미 적용했을지도 모르겠습니다..
크기가 작고 많은 파일을 다룰때는 파일 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 옵션은 모르겠네요.. 사용해보지 않아서.

labiz의 이미지

일단 주말에 그냥 아무것도 못하고 걸어버려서 아무것도 적용못했습니다. ^^;

아직 이쪽에 대한 지식이 거의 없다보니 slc님의 힌트들이 많이 도움이 되었습니다.
덕분에 다음과 같은 링크를 찾아서 조만간 적용해보려고 합니다.

http://kldp.org/node/101444

답변 감사합니다.^^

안뇽하세요^^)/

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.