10.15. NBD 전송 모드의 AIO 크기 및 버퍼 수 증가


MTV(Migration Toolkit for Virtualization)와 함께 AIO(Asynchronous Input/Output) 버퍼링을 사용할 때 마이그레이션 성능을 높이기 위해 NBD(Network Block Device) 전송 네트워크 파일 복사(NFC) 매개변수를 변경할 수 있습니다.

주의

AIO 버퍼링을 사용하는 것은 콜드 마이그레이션 사용 사례에만 적합합니다.

웜 마이그레이션을 초기화하기 전에 AIO 설정을 비활성화합니다. 자세한 내용은 AIO 버퍼 구성 비활성화를 참조하십시오.

10.15.1. 주요 결과

  • 최상의 마이그레이션 성능은 다음 값을 사용하여 단일 ESXi 호스트에서 여러 가상 머신(VM)을 마이그레이션하여 달성되었습니다.

    • VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
    • vixDiskLib.nfcAio.Session.BufCount=4
  • AIO 버퍼 설정(동기 버퍼 수)을 사용할 때 다음과 같은 개선 사항이 기록되었습니다.

    • 마이그레이션 시간이 31.1% 로 단축되었으며 0:24:32에서 0:16:54로 단축되었습니다.
    • 읽기 속도가 347.83MB/s에서 504.93MB/s로 증가했습니다.
  • 단일 VM과 함께 AIO 버퍼 설정을 사용할 때 상당한 개선이 관찰되지 않았습니다.
  • 여러 호스트의 여러 VM과 함께 AIO 버퍼 설정을 사용할 때 상당한 개선이 관찰되지 않았습니다.

10.15.2. AIO 크기 및 버퍼 수 지원에 대한 주요 요구 사항

지원은 다음 버전을 사용하여 수행되는 테스트를 기반으로 합니다.

  • vSphere 7.0.3
  • VDDK 7.0.3

10.15.3. AIO 버퍼링 활성화 및 구성

MCP(Migration Toolkit for Virtualization)와 함께 사용할 비동기 입력/출력(AIO) 버퍼링을 활성화하고 구성할 수 있습니다.

프로세스

  1. openshift-mtv 네임스페이스의 forklift-controller Pod가 AIO 버퍼 값을 지원하는지 확인합니다. Pod 이름 접두사가 동적이므로 다음 명령을 실행하여 Pod 이름을 확인합니다.

    oc get pods -n openshift-mtv | grep forklift-controller | awk '{print $1}'
    Copy to Clipboard Toggle word wrap

    예를 들어 Pod 이름 접두사가 "forklift-controller-667f57c8f8-qllnx"인 경우 출력은 다음과 같습니다.

    forklift-controller-667f57c8f8-qllnx
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 Pod의 환경 변수를 확인합니다.

    oc get pod forklift-controller-667f57c8f8-qllnx -n openshift-mtv -o yaml
    Copy to Clipboard Toggle word wrap
  3. 출력에서 다음 행을 확인합니다.

    ...
    \- name: VIRT\_V2V\_EXTRA\_ARGS
    \- name: VIRT\_V2V\_EXTRA\_CONF\_CONFIG\_MAP
    ...
    Copy to Clipboard Toggle word wrap
  4. openshift-mtv 네임스페이스 에서 다음 단계를 수행하여 ForkliftController CR(사용자 정의 리소스)을 편집합니다.

    1. 다음 명령을 실행하여 편집을 위해 ForkliftController CR에 액세스합니다.

      oc edit forkliftcontroller -n openshift-mtv
      Copy to Clipboard Toggle word wrap
    2. ForkliftController CR의 spec 섹션에 다음 행을 추가합니다.

      virt_v2v_extra_args: "--vddk-config /mnt/extra-v2v-conf/input.conf"
      virt_v2v_extra_conf_config_map: "perf"
      Copy to Clipboard Toggle word wrap
  5. 다음 명령을 실행하여 필요한 구성 맵 perf 를 생성합니다.

    oc -n openshift-mtv create cm perf
    Copy to Clipboard Toggle word wrap
  6. 원하는 버퍼 구성 값을 Base64로 변환합니다. 예를 들어 16/4의 경우 다음 명령을 실행합니다.

    echo -e "VixDiskLib.nfcAio.Session.BufSizeIn64KB=16\nvixDiskLib.nfcAio.Session.BufCount=4" | base64
    Copy to Clipboard Toggle word wrap

    출력은 다음과 유사합니다.

    Vml4RGlza0xpYi5uZmNBaW8uU2Vzc2lvbi5CdWZTaXplSW42NEtCPTE2CnZpeERpc2tMaWIubmZjQWlvLlNlc3Npb24uQnVmQ291bnQ9NAo=
    Copy to Clipboard Toggle word wrap
  7. 구성 맵 perf 에서 binaryData 섹션에 Base64 문자열을 입력합니다. 예를 들면 다음과 같습니다.

    apiVersion: v1
    kind: ConfigMap
    binaryData:
      input.conf: Vml4RGlza0xpYi5uZmNBaW8uU2Vzc2lvbi5CdWZTaXplSW42NEtCPTE2CnZpeERpc2tMaWIubmZjQWlvLlNlc3Npb24uQnVmQ291bnQ9NAo=
    metadata:
      name: perf
      namespace: openshift-mtv
    Copy to Clipboard Toggle word wrap
  8. forklift-controller Pod를 다시 시작하여 새 구성을 적용합니다.
  9. VIRT_V2V_EXTRA_ARGS 환경 변수가 업데이트된 설정을 반영하는지 확인합니다.
  10. 마이그레이션 계획을 실행하고 마이그레이션 Pod의 로그를 확인합니다. AIO 버퍼 설정이 매개 변수, 특히 --vddk-config 값으로 전달되는지 확인합니다.

    예를 들어 다음 명령을 실행하는 경우 다음을 수행합니다.

    exec: /usr/bin/virt-v2v … --vddk-config /mnt/extra-v2v-conf/input.conf
    Copy to Clipboard Toggle word wrap

    debug_level = 4 인 경우 로그에 다음과 유사한 섹션이 포함됩니다.

    Buffer size calc for 16 value:
    (16 * 64 * 1024 = 1048576)
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAio_OpenSession:
    Opening an AIO session.
    nbdkit: vddk[1]: debug: [NFC INFO] NfcAioInitSession:
    Disabling
    read-ahead buffer since the AIO buffer size of 1048576 is >=
    the read-ahead buffer size of 65536. Explicitly setting flag
    '`NFC_AIO_SESSION_NO_NET_READ_AHEAD`'
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAioInitSession: AIO Buffer Size is 1048576
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAioInitSession: AIO Buffer
    Count is 4
    Copy to Clipboard Toggle word wrap
  11. 올바른 구성 맵 값이 마이그레이션 Pod에 있는지 확인합니다. 마이그레이션 Pod에 로그인하고 다음 명령을 실행하여 이 작업을 수행합니다.

    cat /mnt/extra-v2v-conf/input.conf
    Copy to Clipboard Toggle word wrap

    출력 예는 다음과 같습니다.

    VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
    vixDiskLib.nfcAio.Session.BufCount=4
    Copy to Clipboard Toggle word wrap
  12. 선택 사항: 다음 명령을 실행하여 디버그 로그를 활성화합니다. 이 명령은 높은 로그 수준을 포함하여 구성을 Base64로 변환합니다.

    echo -e
    "`VixDiskLib.nfcAio.Session.BufSizeIn64KB=16\nVixDiskLib.nfcAio.Session.BufCount=4\nVixDiskLib.nfc.LogLevel=4`"
    | base64
    Copy to Clipboard Toggle word wrap
    참고

    높은 로그 수준을 추가하면 성능이 저하되고 디버깅 목적으로만 사용됩니다.

10.15.4. AIO 버퍼링 비활성화

MCP(Migration Toolkit for Virtualization)를 사용하여 콜드 마이그레이션에 대한 AIO 버퍼링을 비활성화할 수 있습니다. MTV를 사용하여 웜 마이그레이션에 대해 AIO 버퍼링을 비활성화해야 합니다.

참고

다음 절차에서는 AIO 버퍼링 활성화 및 구성의 절차에 따라 AIO 버퍼링 이 활성화되고 구성되어 있다고 가정합니다.

프로세스

  1. openshift-mtv 네임스페이스 에서 다음 단계를 수행하여 ForkliftController CR(사용자 정의 리소스)을 편집합니다.

    1. 다음 명령을 실행하여 편집을 위해 ForkliftController CR에 액세스합니다.

      oc edit forkliftcontroller -n openshift-mtv
      Copy to Clipboard Toggle word wrap
    2. ForkliftController CR의 spec 섹션에서 다음 행을 제거합니다.

      virt_v2v_extra_args: "`–vddk-config /mnt/extra-v2v-conf/input.conf`"
      virt_v2v_extra_conf_config_map: "`perf`"
      Copy to Clipboard Toggle word wrap
  2. perf 라는 구성 맵을 삭제합니다.

    oc delete cm perf -n openshift-mtv
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: forklift-controller Pod를 다시 시작하여 변경 사항이 적용되었는지 확인합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동