lvm에 대한 "dd" 원시 드라이브는 비효율적입니다. 더 좋은 방법이 있나요?

lvm에 대한 "dd" 원시 드라이브는 비효율적입니다. 더 좋은 방법이 있나요?

Proxmox를 설치했습니다. vmdk를 lvm으로 가져오고 싶습니다. 프로세스는 다음과 같습니다.

$ qemu-img convert -p -f vmdk "IE11 - Win7-disk1.vmdk" -O raw "IE11 - Win7-disk1.raw"

그런 다음:

$ dd if="IE11 - Win7-disk1.raw" bs=1M|pv| dd of=/dev/mapper/pve-vm--103--disk--1

좋은 결과.

하지만 127GB 가상 드라이브에는 8.8GB의 데이터가 있습니다.

$ qemu-img info "IE11 - Win7-disk1.raw"
image: IE11 - Win7-disk1.raw
file format: raw
virtual size: 127G (136365211648 bytes)
disk size: 8.8G

원래 드라이브를 "dd"하면 127GB가 복사된 것을 볼 수 있으며 그 중 8.8G만 중요합니다. 이것은 매우 느립니다.

더 좋은 방법이 있나요?

답변1

더 빠른 방법은 사용하지 않는 것입니다dd

pv < "IE11 - Win7-disk1.raw" > /dev/mapper/pve-vm--103--disk--1

cat직접 사용하는 것이 가장 빠릅니다.

cat "IE11 - Win7-disk1.raw" > /dev/mapper/pve-vm--103--disk--1

호출에서는 dd512바이트 블록을 사용하므로 KB 읽기당 2개의 시스템 호출 또는 MB당 약 2000개의 읽기가 발생합니다. 그것으로 cat당신은 아마도 MB 당 하나를 얻을 수 있습니다.

답변2

XenServer에서 Proxmox로 마이그레이션하는 중인데 이 솔루션을 찾았습니다.

아직 qcow2 파일이 없으면 먼저 가져오십시오(소스 파일이 원시 디스크 이미지가 아닌 경우 여기에서 다른 명령을 사용해야 할 수 있으므로 결과적으로 qcow2 파일을 가져오는 것이 중요합니다)

qemu-img convert rawimage.img -O qcow2 thinimage.qcow2

qcow2 이미지를 원본 이미지로 변환스파스 파일:

qemu-img convert -p -f qcow2 -O raw -t none -T none thinimage.qcow2 rawsparce.raw

VM의 Thin LV에 스파스 파일을 작성합니다.

dd if=rawsparce.raw of=/dev/mapper/pve-vm--100--disk--1 bs=8M conv=sparse status=progress

답변3

RAW 형식은 사전 할당만 지원하므로 qemu-img.

vmdk이미지 파일을 qcow2사전 할당 없이 작동할 수 있는 형식 으로 변환 해 보세요 .

관련 정보