/home을 내가 사용하고 있는 다른 디스크로 간단히 전송하는 경우 cp -a
이 방법은 매우 느린 방법인 것 같습니다. 작업을 수행하는 보다 효율적인 방법을 알고 싶습니다. /home을 논리 볼륨으로 마운트했지만 대상 디스크가 LVM 시스템이 아닙니다.
답변1
버퍼링을 사용하여 tar
, pax
, 을 시도해 보세요 .cpio
(cd /home && bsdtar cf - .) |
pv -trab -B 500M |
(cd /dest && bsdtar xpSf -)
bsdtar
대신 에 (from )과 달리 tar
적어도 일부 Linux 배포판에서는 tar
GNU tar가 확장 속성이나 ACL 또는 Linux 속성 보존을 처리하지 않기 때문에 권장합니다 .bsdtar
libarchive
pv
최대 500M의 데이터를 버퍼링하므로 두 파일 시스템 모두에서 읽기 및 쓰기 속도의 변동을 더 잘 수용할 수 있습니다(실제로는 디스크가 다른 파일 시스템보다 느릴 수 있으며 OS의 쓰기 저장 메커니즘이 이와 같이 작동함) 알겠습니다. , 아마도 그다지 큰 차이는 아닐 것입니다). 이전 버전 (평균 속도 보고서) 에서는 pv
지원되지 않으므로 해당 버전에서만 사용할 수 있습니다.-a
pv -B 200M
cp
어떤 경우 에도 이는 다음에 의해 제한되지 않습니다.읽다그리고쓰다차례로. 여기서는 두 개가 tar
동시에 작동하므로 하나는 하나의 FS에서 읽을 수 있고 다른 하나는 다른 FS가 쓰기를 마칠 때까지 기다리느라 바쁩니다.
ext4의 경우 최소한 소스 크기만큼 큰 파티션에 복사하는 경우 다음도 참조하세요.clone2fs
즉 ntfsclone
, 할당된 블록만 순차적으로 복사되므로 회전 저장소가 아마도 가장 효율적일 것입니다.
부분 클론이를 여러 다른 파일 시스템에 일반화합니다.
이제 파일 시스템을 복제할 때 고려해야 할 몇 가지 사항이 있습니다.
복제는 모든 디렉터리, 파일 및 해당 내용을 비롯한 모든 것을 복사합니다. 지금그 밖의 모든 것파일 시스템에 따라 다릅니다. 기존 Unix 파일 시스템의 공통 특성만 고려하더라도 다음 사항도 고려해야 합니다.
- 링크: 심볼릭 링크와 하드 링크. 때때로 우리는 절대 심볼릭 링크나 복제하려는 파일 시스템/디렉터리를 가리키는 심볼릭 링크를 처리하는 방법을 고려해야 합니다.
- 마지막 수정, 액세스 및 변경 시간: 파일 시스템 API(cp, tar, rsync...)를 사용하여 처음 두 개만 복사할 수 있습니다.
- 희소성: 3GB의 디스크 공간만 차지하는 VM 디스크 이미지인 2TB 희소 파일이 있고 나머지는 희박하며 간단한 복사본이 대상 드라이브를 채울 것입니다.
그런 다음 대부분의 Linux 파일 시스템에 대해 생각한다면 다음을 ext4
고려해야 합니다.
- ACL 및 기타 확장 속성(예: 에 사용되는 속성
SELinux
) - 변경할 수 없거나 추가 전용 플래그와 같은 Linux 속성
모든 도구가 이들 모두를 지원하는 것은 아닙니다. 또는 지원하는 경우 이를 명시적으로 활성화해야 합니다(예: ... 에 대한 --sparse
옵션 ). 다른 파일 시스템에 복사할 때 동일한 기능 세트를 지원하지 않는 경우를 고려해야 합니다. .--acls
rsync
tar
UUID, 루트에 예약된 공간, fsck 빈도, 로깅 동작, 디렉터리 형식 등과 같은 파일 시스템 자체의 속성을 고려해야 할 수도 있습니다.
그리고 파일을 복사하여 실제로 데이터를 복사할 수 없는 더 복잡한 파일 시스템이 있습니다. 예를 들어 하위 볼륨의 스냅샷을 찍어 분기할 수 있는 경우... 데이터를 복사하기 위한 전용 도구가 있습니다 zfs
.btrfs
모든 것이 복사되었는지 확인하려면 일반적으로 블록 장치(또는 가능하면 적어도 할당된 블록)의 바이트 단위 복사본이 가장 안전합니다. 그러나 UUID 충돌 문제에 유의하세요. 이는 더 큰 항목으로 복사하고 있음을 의미합니다(복사하기 전에 소스 스냅샷 복사본의 크기를 조정할 수 있음).
답변2
예를 들어 rsync를 권장합니다.
rsync -av --progress --stats dest orig
또는 압축을 통해 전송합니다.
rsync -avz --progress --stats dest orig