Red Hat Blog를 보다가 관심 가는 글이 보여서 AI번역+약간 교정해 보았습니다.
출처: https://developers.redhat.com/articles/2025/06/05/how-openshift-virtualization-supports-vm-live-migration
향상된 성능, 안정성, 보안 및 관리 용이성이 필요한 특정 상황에서는 Red Hat OpenShift Virtualization 내 전용 네트워크에서 가상 머신(VM) 라이브 마이그레이션 트래픽을 격리할 수 있습니다 . Nmstate Operator에서 제공하는 NodeNetworkConfigurationPolicy(NNCP)를 사용하여 해당 브리지를 참조하는 NetworkAttachmentDefinition(NAD)을 포함하는 Open vSwitch(OVS) 브리지를 생성합니다. 이 구성을 통해 OpenShift Virtualization은 마이그레이션 데이터에 별도의 물리적 네트워크 또는 VLAN을 활용할 수 있습니다. 이 문서에서는 이러한 설정에 대한 단계별 가이드를 제공합니다.
NodeNetworkConfigurationPolicy(NNCP) 생성
NNCP(NodeNetworkConfigurationPolicy)는 2일차 작업 중에 클러스터 노드에 네트워크 구성을 적용하는 방식을 나타냅니다. 이러한 설정은 간단한 YAML 형식으로 적용하거나 Red Hat OpenShift 웹 콘솔 GUI를 사용하여 추가 네트워크 및 브리지를 구성할 수 있습니다.
NodeNetworkConfigurationPolicy를 생성하려면 다음 단계를 따르세요(그림 1).
- OpenShift 웹 콘솔 UI에서 Networking → NodeNetworkConfigurationPolicy로 이동합니다.
- Create → From Form에서를 클릭 하고 요구 사항에 맞게 양식을 작성하세요.

이 페이지에서 주의할 주요 사항은 다음과 같습니다.
br-lm는 브리지의 인터페이스 이름입니다.- 유형:
ovs-bridge는 Nmstate에게 Open vSwitch(OVS) 브리지를 생성하라고 지시합니다. - OVN 로컬넷 이름:
ovs-lm는 OVS 브리지에 대한 로컬넷 매핑의 이름입니다. - OVN 브리지 이름:
br-lm는ovs-bridge에 지정된 OVS 브리지의 이름입니다.
다음은 NNCP의 YAML 정의입니다.
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
annotations:
description: Network configuration for enp4s0 on all nodes
name: live-migration
spec:
desiredState:
interfaces:
- bridge:
allow-extra-patch-ports: true
options:
stp: false
port:
- name: enp4s0
- name: br-lm
name: br-lm
state: up
type: ovs-bridge
ovn:
bridge-mappings:
- bridge: br-lm
localnet: ovs-lm
state: presentNetworkAttachmentDefinition(NAD) 만들기
NetworkAttachmentDefinition(NAD)은 Multus (및 OVN-Kubernetes )가 Pod 또는 가상 머신을 특정 네트워크에 연결하도록 지시합니다. 예를 들어, 앞서 언급한 NNCP의 로컬 네트워크 매핑(ovs-lm)과 3030과 같은 VLAN을 참조하여 openshift-cnv 네임스페이스에 NAD를 생성합니다.
NetworkAttachmentDefinition을 생성하려면 다음 단계를 따르세요(그림 2).
- OpenShift 웹 콘솔 UI에서 Networking → NetworkAttachmentDefinition을 선택합니다.
- Project 메뉴 에서 openshift-cnv를 선택하세요 . 모든 시스템 프로젝트를 나열하려면 Show default projects를 활성화해야 할 수도 있습니다 .
- Create NetworkAttachmentDefinition를 클릭 하고 요구 사항에 맞게 양식을 작성하세요.
- Create를 클릭합니다 .

이 페이지에서 주의할 주요 사항은 다음과 같습니다.
- 프로젝트
openshift-cnv: NAD가 생성될 프로젝트 또는 네임스페이스입니다. nad-live-migrate: 이는 OpenShift Virtualization이 라이브 마이그레이션 네트워크로 사용할 NAD의 이름입니다.- 네트워크 유형
OVN Kubernetes secondary localnet network: NNCP를 사용하여 로컬넷을 만들었으므로 이를 선택해야 합니다. - 브리지 매핑
ovs-lm: 이는 OVN 로컬넷 이름에 대해 NNCP에서 제공된 이름과 동일합니다. - VLAN
3030: VLAN을 사용하는 경우 해당 VLAN ID를 입력하세요.
NAD에 서브넷 추가
이제 다음 단계에 따라 네임스페이스 openshift-cnv의 virt-handler 포드에 자동으로 IP를 할당하기 위한 서브넷을 포함하도록 새로 생성된 NAD를 편집합니다 (그림 3).
- OpenShift 웹 콘솔에서 Networking → NetworkAttachmentDefinition을 선택합니다.
- 프로젝트 목록 에서 openshift-cnv 프로젝트를 선택합니다 .
- 새로 생성된 NAD nad-live-migrate를 클릭합니다 .
- YAML을 클릭합니다 .
- JSON 구성을 편집하고 필요한 서브넷을 추가하세요. 오류를 방지하려면 JSON 형식을 올바르게 지정하세요.

다음은 NAD의 결합된 YAML 정의입니다.
apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachmentDefinition
metadata:
name: nad-live-migrate
namespace: openshift-cnv
spec:
config: |-
{
"cniVersion": "0.4.0",
"name": "ovs-lm",
"type": "ovn-k8s-cni-overlay",
"netAttachDefName": "openshift-cnv/nad-live-migrate",
"topology": "localnet",
"vlanID": 3030,
"subnets": "192.168.100.0/24",
"excludeSubnets": "192.168.100.0/30"
}OpenShift Virtualization 구성 업데이트
새로 생성된 NAD를 사용하도록 OpenShift Virtualization 구성을 업데이트해 보겠습니다. 다음 단계를 보여주는 그림 4를 참조하십시오.
- 클러스터 관리자로서 OpenShift 웹 콘솔의 왼쪽에 있는 Virtualization → Overview 로 이동합니다.
- Settings → General Settings → Live Migration을 클릭합니다 .
- 라이브 마이그레이션 네트워크 목록에서 nad-live-migrate를 선택합니다 .

다음과 같이 명령줄 인터페이스(CLI)를 사용하여 이 작업을 수행할 수도 있습니다.
oc patch HyperConverged kubevirt-hyperconverged -n openshift-cnv --type=merge -p '{"spec":{"liveMigrationConfig":{"network":"nad-live-migrate"}}}'주의할 점:
HyperConverged: 사용자 정의 리소스(CR)Kubevirt-hyperconverged: 사용자 지정 리소스의 이름입니다. 올바른 이름을 지정했는지 확인하세요.oc get HyperConverged -n openshift-cnv명령을 사용하여 CR을 나열할 수 있습니다.openshift-cnv: 네임스페이스입니다.nad-live-migrate: 우리가 이전에 만든 NAD입니다.
변화 모니터링
이제 보조 네트워크에서 라이브 마이그레이션을 시작할 준비가 거의 되었습니다. 하지만 마이그레이션을 시도하기 전에 네임스페이스 virt-handler의 openshift-cnv모든 포드가 재시작되었고 상태가 양호한지 확인하는 것이 좋습니다.
클러스터에는 베어 메탈 노드가 네 개 있습니다. 따라서 네 개의 포드가 있으며 virt-handler, 각 포드는 해당 노드 중 하나에서 실행됩니다. 모든 포드가 실행 중 상태이고 준비 상태가 1/1인지 확인하세요. 또한 그림 5와 같이 생성 시간을 확인하여 모든 포드가 최근에 재시작되었는지 확인하세요.

마이그레이션 테스트
virt-handler 포드가 실행 중이고 정상 상태인지 확인한 후 VM의 라이브 마이그레이션을 테스트할 수 있습니다. 예를 들어, 그림 6은 fedora-01이라는 가상 머신의 라이브 마이그레이션을 보여줍니다.
라이브 마이그레이션을 실행하려면 다음 단계를 따르세요.
- 왼쪽 탐색 메뉴에서 Virtualization → VirtualMachines를 선택합니다 .
- 마이그레이션이 필요한 가상 머신의 오른쪽에 있는 세 개의 점(케밥)을 클릭합니다(예: fedora-01).
- Migrate을 클릭하여 라이브 마이그레이션 프로세스를 시작합니다. 몇 초 안에 가상 머신이 기존 호스트에서 클러스터의 다른 호스트로 마이그레이션됩니다.

다음과 같이 새로운 라이브 마이그레이션 네트워크에서 해당 VMI에 targetNodeAddress 항목이 있는지 확인할 수도 있습니다.
$ oc get vmi fedora-01 -o json | jq '.status.migrationState | {targetNode, targetNodeAddress, targetPod}'
{
"targetNode": "master-2",
"targetNodeAddress": "192.168.100.15",
"targetPod": "virt-launcher-fedora-01-7gr8p"
}
보시다시피, NAD에 할당된 IP 주소 풀에서 IP 주소가 표시되고 해당 주소가 속한 노드가 표시됩니다.
마지막 생각
라이브 마이그레이션을 위한 전용 네트워크를 설정하여 OpenShift Virtualization이 실제 기업의 요구 사항을 어떻게 지원하는지 확인할 수 있습니다. OpenShift Virtualization은 강력하고 관리하기 쉬운 방식으로 중요한 애플리케이션을 처리하도록 설계되었습니다. OpenShift Virtualization을 사용해 보고 가상 머신을 빠르고 안정적으로 실행하는 데 얼마나 도움이 되는지 직접 확인해 보세요. Red Hat OpenShift Container Platform 문서 “라이브 마이그레이션을 위한 전용 네트워크 구성”을 참조하세요 .