VM GuestOS(redhat개열)에서의 Network Adapter장치 이름
VMware/vSphere

VM GuestOS(redhat개열)에서의 Network Adapter장치 이름

VM에 2개 이상의 Network 를 할당 하면서 guestOS(redhat개열)에 보이는 네트워크 장치의 이름이 다르다는 고객의 요청으로 해결방법을 찾아보게 되었습니다.

 

RHEL 7이상으로 설치 하면서 NIC의 이름을 표시하는 방법이 변경되었는데

이전에는 eth0, eth1 ... ethx 형태로 표시 되다가 ens[X] or eno[X] 의 형태로 표시되는 것으로 변경되었습니다.

 

[참고]

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/consistent-network-interface-device-naming_configuring-and-managing-networking

 

Chapter 2. Consistent network interface device naming Red Hat Enterprise Linux 8 | Red Hat Customer Portal

The Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat subscription.

access.redhat.com

VMware에서 REDHAT 개열의 리눅스에서는 ens[xxx] 형태로 네트워크 장치 이름을 표시 하는데 VM에 할당 하는 디바이스에 따라서 네트워크 장치의 이름이 다르게 나오는 문제를 발견했습니다.

 

이를 해결하기위해 여러가지로 확인한 사항을 정리합니다.

 


1. 네트웍크 장치명 이슈

 

같은 첫 번째 network adapter인데 OS에서 보이는 network adapter 장치 이름이 서로 다르게 보임

 

test-vm1 VM : SCSI 2개, Network adapter 2개 구성

test-vm2 VM : SCSI 1개, Network adapter 1개 구성

 

2개의 VM에 각각 2개 or 1개의 SCSI 및 Network adapter 할당

 

- 해당 VM에 CentOS8  설치한 이 후 Network 장치명이 아래 사진과 같이 서로 다르게 보임

test-vm1의 첫번째 nic는 ens224이고 test-vm2의 첫번째 nic는 ens192 입니다.

redhat 계열에서 NIC 장치명


2. VMware 원인 확인

REDHAT에서 ens[xxx]로 표시되는 부분에 xxx는 PCI hot-plug slot 번호로 나온다는것을 확인하고

VM의 속성을 확인합니다.

VM 속성중 pciSlotNumber

2개의 VM에서 PCI SLOT 번호를 확인해보는데 서로 다르게 나오고있습니다.

그리고 ethernet[0,1].pciSlotNumber에 나오는 값으로 ens[xxx]의 xxx에 해당하는 pci 번호가 사용되는것을 확인하였습니다.

 

[참고] VMware확인결과 해당 pcislotnumber 번호를 직접 수정하는것을 권장 하지 않네요

(변경이 원하는데로 안될때도 있습니다.)

 

VM에 할당되는 장치순서대로 미리 정해진 pci slot 번호가  할당되는 구조로 되어있다고합니다.

첫번째는 무조건 SCSI 0번 장치이고 pci slot 160 입니다.

나머지는 할당하는 장치 순서로 pci slot 번호가 할당됩니다.

 

순서 pci slot number 장치
1 160 SCSI 0
2 192  
3 224  
4 256  
5 1184  
6 1216  
7 1248  
8 1280  
9 2208  
10 2240  
11 2272  
12 2304  
13 3232  
14 3264  
15 3296  
16 3328  

 


3. 해결방법

 

VM구성에 guest os에 HA 솔루션을 구성하기위해서 SCSI 및 Network adapter 가 1개 이상이 필요한 경우가 있는데,

위의 표에서 보면 VM에 할당하는 장치에 따라서 사용하는 PCI 슬롯이 구성되어 Network adapter 가 다르게 나오게되어 장치명을 기존의 VM과 일치하게 하기 위해서 처음에 VM을 생성할때 여유있게 SCSI 를 미리 할당해놓고 필요한 수 많큼의 Network adapter 를 할당하는 순으로 만들어야 합니다.

(반드시 VM을 생성하고 전원을 켜야 합니다.-장치를 추가하고 전원을켜지 않으면 pci slot이 할당되지 않습니다)

(pci-passthru 장치도 마찮가지로 pci slot 을 차지 하기 때문에 순서를 지켜서 생성합니다.)

 

반드시 VM생성시 먼저 SCSI를 2~4개(scsi 장치 4개 max수량)를 미리 만들고(전원을 켜고), 나중에 필요한 수량의 network adapter 를 할당

-> 그러면 ens161, ens193, ens225,ens257 순으로 VM 마다 동일한 장치로 생성이 됩니다.

 

(미리 생성된 VM에서 하려면  SCSI 0제외한 다른 장치를 삭제하고, 전원을 켜서 할당된 pci slot 을 초기화 하고 필요한 장치를 순서대로 할당하면 됩니다. ->후속작업 : OS에서 기존에 생성된 device 이름은 수동으로 삭제 하고 다시 재부팅 후 생성된 device 이름을 사용해야 합니다. 장치의 uuid가 변경되어 장치가 추가로 보여지게됩니다.)

scsi1개 추가 후 network adapter pcislot번호

위와 같이 첫번째 network adapter pcislot 번호가 224로 같은 번호를 사용하게 만들었습니다.

 

=> 처음부터 VM에 필요한 scsi 및 nic, pci passthru 할당시 os에서 보여지는 장치명에 대한 고려가 필요합니다.

반응형