7.14.2.2. 지정된 MAC 주소로 PXE 부팅
관리자는 PXE 네트워크에 대한 NetworkAttachmentDefinition
오브젝트를 생성한 후 네트워크를 통해 클라이언트를 부팅할 수 있습니다. 그런 다음 가상 머신 인스턴스 구성 파일에서 네트워크 연결 정의를 참조한 후 가상 머신 인스턴스를 시작할 수 있습니다. PXE 서버에 필요한 경우 가상 머신 인스턴스 구성 파일에 MAC 주소를 지정할 수도 있습니다.
사전 요구 사항
- Linux 브리지가 연결되어 있어야 합니다.
- PXE 서버는 브리지와 동일한 VLAN에 연결되어 있어야 합니다.
절차
클러스터에서 PXE 네트워크를 구성합니다.
PXE 네트워크
pxe-net-conf
에 대한 네트워크 연결 정의 파일을 만듭니다.apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: pxe-net-conf spec: config: '{ "cniVersion": "0.3.1", "name": "pxe-net-conf", "plugins": [ { "type": "cnv-bridge", "bridge": "br1", "vlan": 1 1 }, { "type": "cnv-tuning" 2 } ] }'
참고VLAN이 요청된 액세스 포트를 통해 가상 머신 인스턴스가 브리지
br1
에 연결됩니다.
이전 단계에서 만든 파일을 사용하여 네트워크 연결 정의를 생성합니다.
$ oc create -f pxe-net-conf.yaml
인터페이스 및 네트워크에 대한 세부 정보를 포함하도록 가상 머신 인스턴스 구성 파일을 편집합니다.
PXE 서버에 필요한 경우 네트워크 및 MAC 주소를 지정합니다. MAC 주소를 지정하지 않으면 값이 자동으로 할당됩니다. 그러나 이때 자동으로 할당된 MAC 주소는 영구적이지 않습니다.
인터페이스가 먼저 부팅되도록
bootOrder
가1
로 설정되어 있는지 확인하십시오. 이 예에서는 인터페이스가<pxe-net>
이라는 네트워크에 연결되어 있습니다.interfaces: - masquerade: {} name: default - bridge: {} name: pxe-net macAddress: de:00:00:00:00:de bootOrder: 1
참고부팅 순서는 인터페이스 및 디스크에 대해 전역적입니다.
운영 체제가 프로비저닝되면 올바르게 부팅되도록 부팅 장치 번호를 디스크에 할당합니다.
디스크의
bootOrder
값을2
로 설정합니다.devices: disks: - disk: bus: virtio name: containerdisk bootOrder: 2
네트워크를 이전에 생성한 네트워크 연결 정의에 연결하도록 지정합니다. 이 시나리오에서
<pxe-net>
는<pxe-net-conf>
라는 네트워크 연결 정의에 연결됩니다.networks: - name: default pod: {} - name: pxe-net multus: networkName: pxe-net-conf
가상 머신 인스턴스를 생성합니다.
$ oc create -f vmi-pxe-boot.yaml
출력 예
virtualmachineinstance.kubevirt.io "vmi-pxe-boot" created
가상 머신 인스턴스가 실행될 때까지 기다립니다.
$ oc get vmi vmi-pxe-boot -o yaml | grep -i phase phase: Running
VNC를 사용하여 가상 머신 인스턴스를 확인합니다.
$ virtctl vnc vmi-pxe-boot
- 부팅 화면에서 PXE 부팅에 성공했는지 확인합니다.
가상 머신 인스턴스에 로그인합니다.
$ virtctl console vmi-pxe-boot
가상 머신의 인터페이스 및 MAC 주소를 확인하고, 브릿지에 연결된 인터페이스에 MAC 주소가 지정되었는지 확인합니다. 이 예제에서는 IP 주소 없이 PXE 부팅에
eth1
을 사용했습니다. 다른 인터페이스인eth0
은 OpenShift Container Platform에서 IP 주소를 가져왔습니다.$ ip addr
출력 예
... 3. eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether de:00:00:00:00:de brd ff:ff:ff:ff:ff:ff