익스포트

모든 작업 로드 데이터(저장소, 이미지, 파일)를 외부 호스트로 내보내고 유틸리티 호스트를 설정하고 부트 디스크를 변환합니다.

부트 디스크 내보내기

PCA에 업로드할 이미지를 준비하는 데 사용할 유틸리티 서버로 소스 환경에서 부트 디스크를 복사합니다.

사용하는 방법은 소스 하이퍼바이저 및 관리 플랫폼에 따라 다릅니다. 예를 들어, Oracle VM 또는 PCA 2.4에서는 VM의 VM.cfg 파일에 표시된 저장소에서 부트 디스크를 복사하여 부트 디스크에 대한 .img 파일을 가져옵니다. 컴퓨트 노드 또는 OVS(Oracle VM Server)에서 명령을 실행합니다. 예를 들면 다음과 같습니다.

cd /OVS/Repositories/0004fb00000300007b2cd14ca0d48e8b/VirtualDisks
scp 0004fb0000120000fcd80512881d4979.img
utilityhost:/data/0004fb0000120000fcd80512881d4979.raw

이 예에서 출력 파일은 Oracle VM .img 파일이 '원시 디스크' 이미지 형식을 사용함을 나타내는 선택적 변경인 파일 확장자 .raw로 이름이 바뀝니다.

Private Cloud Appliance 2.x 스토리지 저장소 익스포트

Private Cloud Appliance 2.x 배치에서 스토리지 저장소를 익스포트할 수 있는 몇 가지 옵션이 있습니다.

Private Cloud Appliance 2.4에서 스토리지 저장소는 컴퓨트 노드에 마운트됩니다. 이 노드는 기본적으로 PCA의 개인 네트워크에 있으며 데이터 센터에 대해 미리 구성된 네트워크 연결이 없습니다. 이 경우 다음과 같이 적용됩니다.

  • .img 파일을 두 관리 노드 중 하나에 scp할 수 있습니다.
  • 또는 관리 노드로 읽기 전용 Oracle VM 저장소 익스포트를 만든 다음 외부 호스트로 scp를 만듭니다.

다음 단계는 Oracle Private Cloud Appliance Backup Guide에서 발췌한 것입니다. 이 프로세스를 사용하여 Oracle VM 저장소의 모든 VM을 대량으로 내보낼 수 있습니다.

  1. Oracle VM Manager에서 서버 및 VM 탭을 선택합니다. 서버 풀에서 서버 풀 이름을 확장하여 서버 이름을 표시하고 서버 중 하나를 선택합니다. 관리 패널의 관심 드롭다운에서 저장소 익스포트를 선택합니다.
  2. + 아이콘을 누릅니다. 저장소 익스포트 생성 대화상자에서 익스포트할 저장소를 선택합니다. 관리 노드 중 하나의 주소인 NFS 공유를 마운트할 호스트의 IP 주소 또는 호스트 이름을 입력합니다. Options 필드에 ro,no_root_squash 옵션을 입력하여 모든 저장소 파일을 볼 수 있는 읽기 전용 마운트를 확인합니다.
  3. 확인을 누르고 저장소 익스포트 목록에서 익스포트를 찾습니다.
  4. 저장소 경로 열에서 값을 복사하고 선택한 컴퓨트 노드를 NFS 서버로 사용하여 mount 명령을 실행합니다. 관리 노드는 저장소 저장소에 대한 읽기 전용 보기를 가지며, 먼저 계산 노드에서 scp하지 않고도 저장소의 VirtualDisks 디렉토리에서 직접 디스크 이미지를 복사할 수 있습니다. 예제:
    # mount 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0/ /mnt
    # ls -la /mnt
    total 2077 
    drwxr-xr-x   8 root root  3896 Aug 10  2019 .
    dr-xr-xr-x. 22 root root  4096 Jan  5 20:10 ..
    drwx------   9 root root  3896 Jan 24 14:10 Assemblies
    drwx------   2 root root  3896 Dec  9 14:23 ISOs
    drwxr-xr-x   2 root root  3896 Aug  8  2019 lost+found
    -rw-------   1 root root 15014 Mar  9 11:48 .ovsmeta
    -rw-------   1 root root   151 Sep 10  2020 .ovsrepo
    drwx------  11 root root  3896 Nov 25 16:12 Templates
    drwx------   2 root root  8192 Mar  9 11:48 VirtualDisks
    drwx------  53 root root  3896 Mar  9 11:48 VirtualMachines

    마운트 옵션을 최적화할 수 있습니다. 예를 들면 다음과 같습니다.

    mount -o ro,bg,hard,rsize=524288,wsize=524288,nfsvers=3,tcp 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0 /mnt

VM VirtualBox 디스크 이미지 찾기 및 내보내기

Oracle VM VirtualBox는 대개 VM과 이름이 같은 하위 디렉토리의 VirtualBox VMs 디렉토리에 디스크 이미지를 저장합니다.

  1. 사용자 인터페이스의 VM 정보는 전체 경로를 제공합니다.
    $ vboxmanage showvminfo "Solaris 11.4"|more
    Name: Solaris 11.4
    Groups: /
    Guest OS: Oracle Solaris 11 (64-bit)
    UUID: 3a4ce795-d6b1-44f8-a16b-8b7fb0fbb4a8
    Config file: /Users/jeff/VirtualBox VMs/Solaris 11.4/Solaris 11.4.vbox
    Snapshot folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Snapshots
    Log folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Logs
  2. 해당 폴더에서 VM의 부트 디스크에 대한 .vdi 또는 .vmdk 디스크 이미지 및 유틸리티 호스트에 대한 scp를 찾습니다.

KVM 디스크 이미지 찾기 및 내보내기

가상 시스템 디스크 이미지는 아래 표시된 명령을 실행하여 찾을 수 있습니다.

  1. 디스크 이미지 나열:
    $ virsh vol-list default
    Name Path
    ------------------------------------------------------------------------------
    guest-ol8-minimal-serial.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimalserial.qcow2
    guest-ol8-minimal.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimal.qcow2
    guest-ol8.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8.qcow2
    guest-ovsx54-ol7.qcow2 /home/admin/.local/share/libvirt/images/guest-ovsx54-ol7.qcow2 
    juniper-kvm-ol7.qcow2 /home/admin/.local/share/libvirt/images/juniper-kvm-ol7.qcow2
  2. Private Cloud Appliance로 내보낼 VM의 디스크 이미지를 찾아 유틸리티 호스트로 scp합니다.

VMware 디스크 이미지 찾기 및 내보내기

VMware 이미지는 실제로 디스크 이미지를 포함하는 tar 파일인 "가상 어플라이언스"로 내보낼 수 있습니다.

유사한 절차를 사용하여 가상 어플라이언스를 가져온 다음 tar 명령을 사용하여 .ova 파일에서 .vmdk 파일을 추출하고 유틸리티 호스트로 복사합니다.

디스크 이미지 파일을 압축하여 내보내기 속도 향상

디스크 이미지 파일이 커서 다른 호스트에 복사하는 데 시간이 오래 걸릴 수 있습니다. 특히 희소 디스크 이미지의 경우 압축을 사용하면 이러한 속도가 훨씬 빨라질 수 있습니다.

선택적으로 gzip 또는 lzop와 같은 명령을 사용하여 디스크 이미지 파일을 압축하여 유틸리티 호스트에 복사하는 시간을 줄일 수 있습니다. 예를 들어, lzop 및 파이핑 출력을 scp에 사용합니다.

lzop -1 < 0004fb0000120000fcd80512881d4979.img | ssh utilityhost 'lzop -d > /data/0004fb0000120000fcd80512881d4979.raw' 

이 경우 고속 네트워크를 사용할 수 있으므로 압축 속도가 압축 비율보다 더 중요했기 때문에 압축에 lzop을 사용합니다. 네트워크 속도가 느린 경우 gzip 또는 bzip2 사용과 같은 다른 접근 방법을 선택할 수 있습니다.

gzip 0004fb00001200008190ce0329fdacdf.img
scp 0004fb00001200008190ce0329fdacdf.img.gz utilityhost:/data/

이러한 모든 방법 또는 압축을 전혀 사용하지 않는 방법은 동일하게 유효하며 기본 설정에 따라 달라집니다.

유틸리티 호스트 설정

Oracle Linux를 실행하는 유틸리티 호스트를 만듭니다. 가상 머신 또는 베어메탈 인스턴스일 수 있습니다.

OCI CLI를 설치하여 유틸리티 호스트를 준비합니다. 지침은 Oracle Private Cloud Appliance 사용 설명서의 1.2 섹션을 참조하십시오.

다음 명령을 사용하여 qemu-imgvirt-sparsify를 설치합니다. 이 예에서는 Oracle Linux 7 호스트를 가정합니다.

$ sudo yum upgrade 
$ sudo yum-config-manager --enable ol7_kvm_utils 
$ sudo yum install qemu-img libguestfs-tools

부트 디스크 변환

부트 디스크를 PCA 하이퍼바이저에서 사용하는 개방형 표준 qcow2 형식으로 변환해야 할 수 있습니다.

참고:

vmdk 또는 qcow2 형식으로 이미 디스크 이미지를 변환하고 .oci 파일로 패키지화하는 것이 좋지만 반드시 필요한 것은 아닙니다. .oci 파일에는 qcow2 형식의 디스크 이미지와 이미지 메타데이터가 포함됩니다. 따라서 이미지에 대한 올바른 메타데이터가 디스크 컨텐츠와 함께 제공됩니다.
  1. OCI CLI, qemu-img 명령 및 기타 선택적 유틸리티에 대한 액세스 권한이 있는 유틸리티 호스트에서 부트 디스크를 변환합니다.
  2. PCA용으로 준비 중인 부트 디스크에서 부트 디스크를 처리합니다. Oracle VM on Exalogic 또는 PCA 2.x의 디스크 이미지에 필요한 단계입니다.

    참고:

    이 단계는 .vmdk 형식(VMware 또는 Oracle VirtualBox)의 디스크 이미지에 대해 선택 사항입니다. KVM에서 qcow2 형식의 파일은 변환할 필요가 없습니다.
  3. 유틸리티 노드에서 다음과 같은 명령을 입력하고 디스크 이미지 파일의 실제 파일 이름을 대체합니다.
    $ qemu-img convert -f raw -O qcow2 0004fb0000120000fcd80512881d4979.raw output.QCOW2
    $ qemu-img convert -f vdi -O qcow2 ol8.vdi output.QCOW
    $ qemu-img convert -f vmdk -O qcow2 myVMwareVM.vmdk output.QCOW2
    • Oracle VM 및 PCA 2.x의 가상 디스크에 -f raw 사용
    • Oracle VM VirtualBox의 .vdi 파일에 -f vdi 사용
    • VMware에서 제공되는 .vmdk 이미지에 -f vmdk 사용

    참고:

    1. 출력 파일의 이름을 output.QCOW2로 지정해야 합니다.
    2. qemu-img 명령은 이미지 파일 크기 및 시스템 속도에 따라 실행에 상당한 시간이 걸릴 수 있습니다. "-p" 플래그를 사용하여 (nn.nn/100% 형식의 진행률을 백분율로 표시할 수 있습니다.

    Private Cloud Appliance는 해당 파일 유형을 사용할 수 있으므로 .vmdk 이미지를 변환할 필요는 없습니다. 이 솔루션 뒷부분의 마이그레이션 섹션을 참조하십시오.

  4. virt-sparsify 도구를 사용하여 디스크 이미지의 크기를 줄일 수 있습니다. 이 도구는 많은 파일 시스템 ext2/3/4에서 작동합니다. xfs, btrfs, NTFS, LVM. 파일이 소유하지 않은 디스크 블록을 제거하여 희소 디스크 이미지 크기를 줄입니다. 감소량은 내보내기 전에 디스크 이미지의 내용에 따라 달라집니다. 유틸리티 환경에 따라 다음 명령을 실행하기 전에 export LIBGUESTFS_BACKEND=direct를 실행해야 할 수도 있습니다.
    $ virt-sparsify --in-place output.QCOW2 

임포트할 OCI 파일 유형 준비

프라이빗 클라우드 어플라이언스 X9-2 이미지 및 OCI 이미지는 다음 두 구성요소가 있는 .oci 파일 유형을 사용합니다.

  • JSON 형식의 이미지와 만든 실제 디스크 이미지 output.QCOW2를 설명하는 image_metadata.json 파일입니다.
  • image_metadata.json 파일은 이미지 설정(BIOS 대 UEFI, 가상 장치 구현 방법) 및 이미지가 실행되는 운영 체제에 대해 설명합니다.

소스에 따라 BIOS 또는 UEFI 버전을 선택하고 운영 체제 설명을 변경합니다.

Oracle Exalogic 이미지가 BIOS 모드에 있습니다.

$ tar zcf MyImage.oci image_metadata.json output.QCOW2

image_metadata.json 파일

업로드를 위해 .oci 번들에 포함된 이 예제 image_metadata.json 파일을 사용합니다.

다음 BIOS 및 UEFI 메타 데이터 파일 버전을 검토하고 관련된 버전을 사용합니다. 가져온 이미지에 따라 operatingSystemoperatingSystemVersion의 소스 환경 값에 따라 결정되는 대로 BIOS 또는 UEFI 버전을 설정합니다.

BIOS 이미지


{
   "version": 2,
   "externalLaunchOptions": {
       "firmware": "BIOS",
       "networkType": "PARAVIRTUALIZED",
       "bootVolumeType": "PARAVIRTUALIZED",
       "remoteDataVolumeType": "PARAVIRTUALIZED",
       "localDataVolumeType": "PARAVIRTUALIZED",
       "launchOptionsSource": "CUSTOM",
       "pvAttachmentVersion": 1,
       "pvEncryptionInTransitEnabled": false,
       "consistentVolumeNamingEnabled": false
    },
    "imageCapabilityData": null,
    "imageCapsFormatVersion": null,
    "operatingSystem": "Oracle Linux",
    "operatingSystemVersion": "8.5"
}

UEFI 이미지


{
    "version": 2,
    "externalLaunchOptions": {
        "firmware": "UEFI_64",
        "networkType": "PARAVIRTUALIZED",
        "bootVolumeType": "PARAVIRTUALIZED",
        "remoteDataVolumeType": "PARAVIRTUALIZED",
        "localDataVolumeType": "PARAVIRTUALIZED",
        "launchOptionsSource": "CUSTOM",
        "pvAttachmentVersion": 1,
        "pvEncryptionInTransitEnabled": false,
        "consistentVolumeNamingEnabled": false
     },
     "imageCapabilityData": null,
     "imageCapsFormatVersion": null,
     "operatingSystem": "Oracle Linux",
     "operatingSystemVersion": "7.9"
}