본문 바로가기

Cloud/ETC

Ubuntu 18.04에서 NIC Bonding 하기

한 달 만에 글쓰는거 참트루인가;; NIC 본딩을 해 볼 기회가 생겨서 VM으로 테스트해보았다.

- 네트워크 본딩이란?

 둘 이상의 네트워크 인터페이스를 단일 인터페이스로 결합하는 프로세스이다. 네트워크 처리량과 대역폭을 증가시켜 성능을 개선해준다. 한 인터페이스가 다운되면 다른 인터페이스가 작동하는 내결함성을 가지고 있다.

(1) 로그인 이후 ifenslave를 설치한다.

sudo apt-get install ifenslave

(2) 본딩 커널 모듈이 존재하는지 확인한다.

sudo lsmod | grep bonding

조회되는 값이 없으면 modprobe를 사용해서 로드해준다.

sudo modprobe bonding

재조회해본다.

sudo lsmod | grep bonding
---
bonding 163840 0

부팅 모듈에 본딩을 포함시키려면 해당 위치에 본딩을 추가한다.

sudo vi /etc/modules
---
bonding

(4) 네트워크 인터페이스를 조회한다.

echo $(ip -o -4 route get 8.8.8.8 | sed -nr 's/.*dev ([^\ ]+).*/\1/p')

(5) netplan을 수정한다. /etc/netplan 아래에 존재한다.

network:
    version: 2
    ethernets:
        eno1:
            dhcp4: false
            dhcp6: false
            addresses: [192.168.0.10/24]
            #gateway4: 192.168.0.1
            nameservers:
                addresses: [8.8.8.8]

        ens33:
            dhcp4: false
            dhcp6: false
            addresses: []

        ens34:
            dhcp4: false
            dhcp6: false
            addresses: []

    bonds:
        bond0:
            addresses: [192.168.0.10/24]
            interfaces:
                - ens33
                - ens34
            parameters:
                mode: 802.3ad   #active-backup
                lacp-rate: fast
                mii-monitor-interval: 100

이후 설정 파일을 적용해준다.

sudo netplan apply

(6) 재부팅해준다.

reboot

(7) 본딩 상태를 확인한다.

cat /proc/net/bonding/bond0

 

'Cloud > ETC' 카테고리의 다른 글

HTTP Header  (0) 2021.07.14
set -o vi  (0) 2019.12.18
서버실에 서버 설치한거 목격한 후기  (0) 2019.12.05
File Descriptors 이해하기  (0) 2019.08.30