4.7. 이미지를 고정 VHD 형식으로 변환
모든 Microsoft Azure VM 이미지는 고정 VHD
형식이어야 합니다. 이미지는 VHD로 변환되기 전에 1MB 경계에 정렬해야 합니다. 이미지를 qcow2
에서 고정 VHD
형식으로 변환하고 이미지를 정렬하려면 다음 절차를 참조하십시오. 이미지를 변환한 후에는 Azure에 업로드할 수 있습니다.
절차
이미지를
qcow2
에서raw
형식으로 변환합니다.$ qemu-img convert -f qcow2 -O raw <image-name>.qcow2 <image-name>.raw
아래 내용을 사용하여 쉘 스크립트를 생성합니다.
#!/bin/bash MB=$((1024 * 1024)) size=$(qemu-img info -f raw --output json "$1" | gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}') rounded_size=$((($size/$MB + 1) * $MB)) if [ $(($size % $MB)) -eq 0 ] then echo "Your image is already aligned. You do not need to resize." exit 1 fi echo "rounded size = $rounded_size" export rounded_size
스크립트를 실행합니다. 이 예에서는
align.sh
라는 이름을 사용합니다.$ sh align.sh <image-xxx>.raw
- "이미지가 이미 정렬되어 있습니다. 크기를 조정할 필요가 없습니다."라는 메시지가 표시되면 다음 단계로 진행합니다.
- 값이 표시되면 이미지가 정렬되지 않은 것입니다.
다음 명령을 사용하여 파일을 고정
VHD
형식으로 변환합니다.샘플은 qemu-img 버전 2.12.0을 사용합니다.
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
변환되면
VHD
파일을 Azure에 업로드할 준비가 된 것입니다.raw
이미지가 정렬되지 않은 경우 다음 단계를 완료하여 정렬합니다.확인 스크립트를 실행할 때 표시되는 반올림 값을 사용하여
raw
파일의 크기를 조정합니다.$ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
raw
이미지 파일을VHD
형식으로 변환합니다.샘플은 qemu-img 버전 2.12.0을 사용합니다.
$ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd
변환되면
VHD
파일을 Azure에 업로드할 준비가 된 것입니다.