리눅스/OS 설정

[리눅스] Bus 주소를 이용한 binding

ㅎㄷㄹㅁㅇ 2022. 1. 18. 10:19
반응형

PCI Bus 주소 바인딩

 

현재 Redhat ,CentOS 등 OS 하위 버전인 6버전 이하의 제품들은 NIC 카드의 인터페이스 이름이 eth로 시작했습니다.
하지만 7버전부터는 실제 서버의 NIC 카드의 위치에 따라 혹은 다른 이유에 따라 ens, eno enp 등 다양한 이름으로 설정됩니다.(HP 기준)

이를 이전에 사용하던 eth로 변경하는 방법 중 bus 주소를 이용하여 방법을 간단하게 적었습니다. (OS 파라미터를 통한 eth인터페이스 명령어로 변경도 가능하지만, 순서를 마음대로 설정 할 수 없습니다.)

 

* 작업 전 백업은 필수

 

 /etc/udev/rules.d/ 70-persistent-net.rules 설정

 

# for i in $(ifconfig -a | grep ^enp | awk -F ':' '{print$1}'); do echo "KERNELS==\"`ethtool -i $i | grep bus | awk '{print$2}'`\",NAME=\"$i\"" ; done
KERNELS=="0000:02:00.0",NAME="enp2s0"
KERNELS=="0000:05:00.0",NAME="enp5s0"

 

 

위의 결과를 아래 명령어를 통해 udev 파일에 넣어 줍니다. (복사를 통해도 가능하고 기존 내용은 주석 또는 삭제합니다)

 

# for i in $(ifconfig -a | grep ^enp | awk -F ':' '{print$1}'); do echo "KERNELS==\"`ethtool -i $i | grep bus | awk '{print$2}'`\",NAME=\"$i\"" ; done > /etc/udev/rules.d/ 70-persistent-net.rules

# vim /etc/udev/rules.d/ 70-persistent-net.rules
KERNELS=="0000:02:00.0",NAME="eth0"
KERNELS=="0000:05:00.0",NAME="eth1"

 

 /etc/sysconfig/network-scripts/ifcfg- 파일 수정 

 

아래의 명령어를 통해 하드웨어 맥주소와 UUID를 주석처리 해 줍니다.

# perl -pi -e 's/HWADDR/#HWADDR/g' /etc/sysconfig/network-scripts/ifcfg-*
# perl -pi -e 's/UUID/#UUID/g' /etc/sysconfig/network-scripts/ifcfg-*

 

 

그 이후 장비 재기동을 한 뒤 적용 된 것을 확인합니다. 

 

반응형
TOP