익스포트

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

부트 디스크 내보내기

소스 환경에서 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

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

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 백업 가이드에서 발췌한 것입니다. 이 프로세스는 Oracle VM 스토리지 저장소에 있는 모든 VM을 대량 익스포트하는 데 사용할 수 있습니다.

  1. Oracle VM Manager에서 서버 및 VM 탭을 선택합니다. 서버 풀에서 서버 풀 이름을 확장하여 서버 이름을 표시하고 서버 중 하나를 선택합니다. 관리 패널의 관점 드롭다운에서 저장소 익스포트를 선택합니다.
  2. + 아이콘을 누릅니다. 저장소 익스포트 생성 대화상자에서 익스포트할 저장소를 선택합니다. 관리 노드 중 하나의 주소인 NFS 공유를 마운트할 호스트의 IP 주소 또는 호스트 이름을 입력합니다. 옵션 필드에 ro,no_root_squash 옵션을 입력하여 모든 저장소 파일이 표시되도록 하는 읽기 전용 마운트를 확인합니다.
  3. 확인을 누르고 저장소 익스포트 목록에서 익스포트를 찾습니다.
  4. Repository Path(저장소 경로) 열의 값을 복사하고 선택한 컴퓨트 노드를 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에 대해 준비 중인 부트 디스크에서 부트 디스크를 처리합니다. 이 단계는 Exalogic 또는 PCA 2.x의 Oracle VM 디스크 이미지에 필요한 단계입니다.

    주:

    이 단계는 .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 파일 유형 준비

Private Cloud Appliance X9-2 이미지와 OCI 이미지는 다음 두 구성요소로 구성된 .oci 파일 유형을 사용합니다.

  • 이미지를 JSON 형식으로 설명하는 image_metadata.json 파일과 생성한 output.QCOW2라는 실제 디스크 이미지입니다.
  • 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"
}