본문 바로가기

OS/Linux, Unix

리눅스 본딩(bonding)

본딩 설정하기

  1. bonding을 위해 ethtool을 사용해야 함(ethtool설치)
$ yum -y install ethtool net-tools

 

2. 빈 파일 생성

$ touch /etc/sysconfig/network-scripts/ifcfg-bond0

 

3. ifcfg-bond0 파일 내용 작성

$ vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=본딩할 IP
NETMASK=
GATEWAY=
DNS1=
DNS2=
USERCTL=no    // 일반 유저가 컨트롤 할 수 없도록 설정 (root권한 필요)
BOOTPROTO=static    // IP 할당 방식
ONBOOT=yes    // 부팅 시, 자동 활성화
NM_CONTROLLED=no    // (NM = network manager) 데몬으로 해당장치 제어 여부
TYPE=Ethernet
BONDING_OPTS=    // 5번의 /etc/modprobe.d/bonding.conf의 내용과 같은 설정
                 // 인터페이스에 직접 입력하는게 우선순위가 더 높음.

 

4. ifcfg-eth0 또는 ifcfg-eth1 파일 내용 작성

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
USERCTL=no
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
NM_CONTROLLED=no

 

5. 파일 생성 및 작성

$ vi /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond0 mode=6 miimon=100 miimon=100 #nic 상태 체크 시간(1/100 sec)

 

  • mode의 옵션들 확인

mode=0은 round robin 방식

mode=1은 active-backup 방식

BONDING_MASTER=yes => 실제 본딩에 사용되는 장치

=> mode=1 (active-backup)

일반 기업들이 많이 쓴다. 활성화되어있는 NIC에 문제가 발생시 예비 NIC로 변경되는 기능

=> miimon=100 모니터링 주기 (단위 : ms)

 

6. 파일 수정

$ vi /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=호스트이름
GATEWAYDEV=bond0

 

7. 본딩 활성화 및 네트워크 재기동

$ modprobe bonding

$ service network restart

 

8. 본딩 상태 체크

$ cat /proc/net/bonding/bond0

 

9. Active - slave 변경

$ ifenslave -c bond번호 active할 포트

 

설정 확인

$ ifconfig -a
bond0     Link encap:Ethernet  HWaddr 00:1F:29:06:79:AA  
          inet addr:192.1.110.40  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::21f:29ff:fe06:79aa/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:12501 errors:0 dropped:0 overruns:0 frame:0
          TX packets:874 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:885147 (864.4 KiB)  TX bytes:110878 (108.2 KiB)

eth0      Link encap:Ethernet  HWaddr 00:1F:29:06:79:AA  
          inet6 addr: fe80::21f:29ff:fe06:79aa/64 Scope:Link
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:6603 errors:0 dropped:0 overruns:0 frame:0
          TX packets:845 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:471146 (460.1 KiB)  TX bytes:105717 (103.2 KiB)
          Interrupt:169 Memory:f6000000-f6012100 

eth1      Link encap:Ethernet  HWaddr 00:1F:29:06:79:AA  
          inet6 addr: fe80::21f:29ff:fe06:79aa/64 Scope:Link
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:5898 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:414001 (404.2 KiB)  TX bytes:5161 (5.0 KiB)
          Interrupt:169 Memory:fa000000-fa012100 

 

본딩 상태 확인하기

$ cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:b5:99:c0:ca:b0

Slave Interface: eth1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 68:b5:99:c0:ca:b2

'OS > Linux, Unix' 카테고리의 다른 글

IPMI  (0) 2020.11.01
/tmp 디렉토리 자동 삭제 기능  (0) 2020.10.31
CPU, DISK, MEMORY 확인 명령어  (0) 2020.10.31
NTP  (0) 2020.10.31
local.repo 만드는 법  (0) 2020.10.31