11.4. 전용 추가 네트워크를 통한 가상 머신 마이그레이션
실시간 마이그레이션을 위해 전용 Multus 네트워크를 구성할 수 있습니다. 전용 네트워크는 실시간 마이그레이션 중에 테넌트 워크로드에 대한 네트워크 포화도의 영향을 최소화합니다.
11.4.1. 가상 머신 실시간 마이그레이션을 위한 전용 보조 네트워크 구성
실시간 마이그레이션을 위해 전용 보조 네트워크를 구성하려면 먼저 CLI를 사용하여 openshift-cnv
네임스페이스에 대한 브리지 네트워크 연결 정의를 생성해야 합니다. 그런 다음 NetworkAttachmentDefinition
오브젝트의 이름을 HyperConverged
CR(사용자 정의 리소스)에 추가합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
역할의 사용자로 클러스터에 로그인했습니다. - Multus CNI(Container Network Interface) 플러그인이 클러스터에 설치되어 있습니다.
- 클러스터의 모든 노드에는 NIC(네트워크 인터페이스 카드)가 두 개 이상 있고 실시간 마이그레이션에 사용되는 NIC가 동일한 VLAN에 연결됩니다.
-
VM(가상 머신)은
LiveMigrate
제거 전략을 사용하여 실행됩니다.
절차
NetworkAttachmentDefinition
매니페스트를 생성합니다.설정 파일 예
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: my-secondary-network 1 namespace: openshift-cnv 2 spec: config: '{ "cniVersion": "0.3.1", "name": "migration-bridge", "type": "macvlan", "master": "eth1", 3 "mode": "bridge", "ipam": { "type": "whereabouts", 4 "range": "10.200.5.0/24" 5 } }'
다음 명령을 실행하여 기본 편집기에서
HyperConverged
CR을 엽니다.oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
NetworkAttachmentDefinition
오브젝트의 이름을HyperConverged
CR의spec.liveMigrationConfig
스탠자에 추가합니다. 예를 들어 다음과 같습니다.설정 파일 예
apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: liveMigrationConfig: completionTimeoutPerGiB: 800 network: my-secondary-network 1 parallelMigrationsPerCluster: 5 parallelOutboundMigrationsPerNode: 2 progressTimeout: 150 ...
- 1
- 실시간 마이그레이션에 사용할 Multus
NetworkAttachmentDefinition
오브젝트의 이름입니다.
-
변경 사항을 저장하고 편집기를 종료합니다.
virt-handler
Pod가 다시 시작하고 보조 네트워크에 연결합니다.
검증
가상 머신이 실행되는 노드가 유지 관리 모드로 전환되면 VM이 클러스터의 다른 노드로 자동으로 마이그레이션됩니다. VMI(가상 머신 인스턴스) 메타데이터에서 대상 IP 주소를 확인하여 보조 네트워크를 통해 마이그레이션이 발생했는지 확인할 수 있습니다.
oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'