>운영 및 유지보수 >CentOS >CentOS에서 본드를 구성하는 방법

CentOS에서 본드를 구성하는 방법

藏色散人
藏色散人앞으로
2021-06-15 11:14:225138검색

centos 튜토리얼 칼럼에서 CentOS에서 본드를 구성하는 방법을 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!

CentOS 구성 본드

1. 네트워크 카드 본딩이란 무엇이며 그 간단한 원리

네트워크 카드 본딩은 "네트워크 카드 번들링"이라고도 하는데, 여러 개의 물리적 네트워크 카드를 하나의 네트워크 카드로 가상화하여 로드 밸런싱을 제공하는 것입니다. 또는 중복성, 증가 대역폭의 역할. 네트워크 카드가 고장나도 비즈니스에는 영향을 미치지 않습니다. 이 통합된 장치는 단일 이더넷 인터페이스 장치인 것처럼 보입니다. 즉, 이러한 네트워크 카드는 동일한 IP 주소를 가지며 병렬 링크는 하나의 논리적 링크로 통합됩니다. 이 기술을 Cisco와 같은 네트워크 회사에서는 Trunking 및 Etherchannel 기술이라고 합니다. Linux 2.4.x 커널에서는 이 기술을 Bonding이라고 합니다.

7가지 결속 모드가 있습니다:

#defineBOND_MODE_ROUNDROBIN       0   (balance-rr模式)网卡的负载均衡模式
#defineBOND_MODE_ACTIVEBACKUP     1   (active-backup模式)网卡的容错模式
#defineBOND_MODE_XOR              2   (balance-xor模式)需要交换机支持
#defineBOND_MODE_BROADCAST        3    (broadcast模式)
#defineBOND_MODE_8023AD           4   (IEEE 802.3ad动态链路聚合模式)需要交换机支持
#defineBOND_MODE_TLB              5   自适应传输负载均衡模式
#defineBOND_MODE_ALB              6   网卡虚拟化方式

본딩 모듈의 모든 작업 모드는 다중 마스터 작업 모드와 활성-대기 작업 모드의 두 가지 범주로 나눌 수 있습니다. 밸런스-rr 및 브로드캐스트는 다중 마스터 작업 모드에 속하고 활성-백업은 활성 모드에 속합니다. -백업 작업 모드. (balance-xor, 적응형 전송 부하 분산 모드(balance-tlb) 및 적응형 부하 분산 모드(balance-alb)도 다중 마스터 작업 모드에 속하며 IEEE 802.3ad 동적 링크 집합 모드(802.3ad)는 활성 및 백업 모드 작업 모드를 입력합니다.

다음 7가지 모드를 자세히 소개합니다.

1. Balance-rr(모드=0)

라운드 로빈 전략: 처음부터 끝까지 순차적으로 각 슬레이브 인터페이스에 데이터 패킷을 보냅니다. 모드는 로드 밸런싱 및 내결함성 기능을 제공합니다.

2. 활성 백업(모드=1)

활성 백업(활성-대기) 전략: 바인딩에서는 하나의 슬레이브만 활성화됩니다. 슬레이브 인터페이스가 실패합니다. 스위치 혼동을 피하기 위해 바인딩된 MAC 주소는 하나의 외부 포트에만 표시됩니다. Bongding 2.6.2 이상 버전에서는 이 때 활성 및 백업 모드에서 장애 조치가 발생합니다. 새로 활성화된 슬레이브에 추가 ARP가 있으면 본딩의 기본 슬레이브 인터페이스와 인터페이스에 구성된 모든 VLAN 인터페이스가 VLAN 인터페이스에 전송되는 IP 주소가 하나 이상 구성되어 있는 한 무료 ARP를 보냅니다. 적절한 VLAN ID가 연결되어 있습니다. 이 모드는 아래에 설명된 기본 옵션이 이 모드의 동작에 영향을 줍니다.

3 전략: 선택한 항목에 따라 달라집니다.

이 모드는 로드 밸런싱 및 내결함성 기능을 제공합니다.

4. 브로드캐스트(모드=3)

브로드캐스트 전략: 모든 슬레이브 인터페이스에서 모든 메시지를 전송합니다.

.

5, 802.3ad(모드=4)

IEEE 802.3ad 동적 링크 집계. 동일한 속도와 이중 모드를 공유하는 집계 그룹을 만듭니다. 모든 슬레이브는 802.3ad 사양에 따라 집계 링크를 설정하는 데 사용될 수 있습니다. Salve의 아웃바운드 선택은 전송의 해시 정책에 따라 달라집니다. 기본 정책은 단순 XOR 정책이며, 해시 정책은 xmit_hash_policy 옵션을 통해 변경할 수 있습니다. 모든 전송 전략이 802.3ad와 호환되는 것은 아니며 특히 802.3ad 표준의 43.2.4장에 있는 패킷 순서 오류 요구 사항이 있다는 점에 유의해야 합니다. 서로 다른 개인의 구현은 종종 큰 비호환성을 갖습니다.

전제 조건:
1. 각 슬레이브의 기본 드라이버는 속도 및 이중 상태를 얻기 위해 Ehtool을 지원합니다.
2. 스위치는 IEEE 802.3ad 동적 링크 집계를 지원합니다. 대부분의 스위치는 802.3ad 모드를 활성화하려면 몇 가지 구성이 필요합니다.

6.balance-tlb (mode=5)

적응형 전송 로드 밸런싱: 채널 바인딩에는 특별한 스위치 지원이 필요하지 않습니다. 송신 트래픽의 분포는 각 슬레이브의 현재 로드(상대 속도 계산)에 따라 달라집니다. 가져오기 트래픽은 현재 슬레이브에서 수신됩니다. 슬레이브 수신에 오류가 있는 경우 다른 슬레이브는 인계에 실패한 슬레이브의 MAC 주소를 계속해서 수신하게 됩니다.
전제 조건:
각 슬레이브의 기본 드라이버는 Ehtool을 지원하여 요금 상태를 얻습니다.

7, Balance-alb(모드=6)

적응형 로드 밸런싱: Balance-tlb(모드 5)를 포함하고 IPV4 트래픽에 대한 로드 밸런싱을 수신하며 특별한 스위치 지원이 필요하지 않습니다. 수신 로드 밸런싱은 ARP 협상을 통해 이루어집니다. 본딩 드라이버는 로컬 시스템에서 전송된 ARP 응답(ARP 응답 메시지)을 가로채고 ARP 메시지의 소스 주소를 본드 슬레이브 중 하나의 하드웨어 주소로 다시 작성하여 서버가 서로 다른 장치에 대해 서로 다른 하드웨어 주소를 사용하도록 합니다. 이 서버에 의해 설정된 연결의 수신 트래픽도 로드 밸런싱됩니다. 머신이 ARP 요청을 보내면 본딩 드라이버는 ARP 메시지를 통해 노드의 IP 정보를 복사하고 저장합니다. 다른 노드로부터 ARP 응답을 수신하면 본딩 드라이버는 노드의 하드웨어 주소를 획득하고 송신 노드에 대한 바인딩된 슬레이브의 하드웨어 주소가 포함된 ARP 응답으로 응답합니다. ARP 협상을 사용한 로드 밸런싱의 한 가지 문제점은 본드의 하드웨어 주소가 ARP 메시지를 브로드캐스트하는 데 사용될 때마다 다른 노드에서 보낸 모든 데이터가 다른 모든 노드에 대한 ARP 업데이트를 처리할 때 하나의 슬레이브에 집중된다는 것입니다. 하드웨어 주소가 다시 학습되어 트래픽이 재분배됩니다. 새 슬레이브가 추가되거나 비활성 슬레이브가 다시 활성화되면 수신된 트래픽도 재분배됩니다. 수신 트래픽 로드는 본드에서 가장 높은 속도를 갖는 슬레이브 세트에 직렬(라운드 로빈)로 분산됩니다.
링크가 다시 연결되거나 새 슬레이브가 추가되면 bond는 모든 클라이언트에 대한 ARP 응답을 다시 초기화합니다. ARP 응답이 스위치에 의해 차단되는 것을 방지하려면 updelay 매개변수의 값이 스위치의 전달 지연보다 크거나 같아야 합니다.
전제 조건:
1. 각 슬레이브의 기본 드라이버는 속도 상태를 얻기 위해 Ehtool을 지원합니다.

2. 기본 드라이버는 장치를 켤 때 하드웨어 주소 재설정을 지원합니다. 각 슬레이브에는 고유한 하드웨어 주소도 있어야 합니다. curr_active_slave가 실패하면 하드웨어 주소가 새로 선택된 curr_active_slave 하드웨어 주소로 대체됩니다.

CentOS에서 Bond0 및 Bond1 구성:

먼저 Linux가 기본적으로 RHEL4를 지원하는지 확인해야 합니다(대부분의 배포판에서 지원함).

# modinfo bonding
  
 
  
filename:       /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko
  
author:         Thomas Davis, 
    tadavis@lbl.gov
     and many others
  
de.ion:    Ethernet Channel Bonding Driver, v3.0.3
  
version:        3.0.3
  
license:        GPL
  
srcversion:     2547D22885C2FDF28EF7D98

如果有类似上面的信息输出,说明已经支持了.      

1、配置Bond 0 负载均衡   

特点:  

1. 双网块同时工作,实现负载均衡,某一网卡不正常时,不会引发网络中断.  

2. 恢复不能正常工作的网卡时,会引发网络中断几秒,然后双网卡同时工作.  

    1.编辑虚拟网络接口配置文件,指定网卡IP    

    cp /etc/sysconfig/network-scripts/ifcfg-lo ifcfg-bond0
  
vi  ifcfg-bond0
  
 
  
DEVICE=bond0
  
IPADDR=10.10.10.1
  
NETMASK=255.255.255.0
  
NETWORK=10.10.10.0
  
BROADCAST=10.10.10.255
  
ONBOOT=yes
  
BOOTPROTO=none
  
USERCTL=no
  
GATEWAY=192.168.0.1

    2.在bond0上添加网关,是确保默认路由无故障   

[root@Linux ~]# route
    
Kernel IP routing table
    
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    
10.0.0.0        *               255.255.255.0   U     0      0        0 bond0
    
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
    
10.0.0.0        *               255.255.255.0   U     0      0        0 eth1
    
169.254.0.0     *               255.255.0.0     U     0      0        0 bond0
    
default         10.0.0.1        0.0.0.0         UG    0      0        0 bond0
    
 
    
vi  ifcfg-eth0
    
 
    
DEVICE=eth0
    
BOOTPROTO=none
    
ONBOOT=yes
    
USERCTL=no
    
MASTER=bond0
    
SLAVE=yes
    
 
    
vi  ifcfg-eth1
      
 
      
DEVICE=eth1
      
BOOTPROTO=none
      
ONBOOT=yes
      
USERCTL=no
      
MASTER=bond0
      
SLAVE=yes

3 # vi /etc/modprobe.conf              

编辑/etc/modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0       

        加入下列两行        

alias bond0 bonding 
      
options bond0 miimon=100 mode=0

        说明:       

miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;      

        mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。       

   mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。      

   mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.                

4 # vi /etc/rc.d/rc.local       

          加入以下内容          

# 仅在热备模式下,eht0 eth1网卡的工作顺序.
        
 
        
ifenslave bond0 eth0 eth1

到这时已经配置完毕重新启动机器.        

重启会看见以下信息就表示配置成功了        

................         

Bringing up interface bond0 OK 
        
Bringing up interface eth0 OK 
        
Bringing up interface eth1 OK

2、配置Bond 1 热备模式         

特点:        

1. 正在工作的网卡不正常后,切换到备用网卡,此时会中间几秒钟        

2. 恢复不正常的网卡时,不会引发网络中断.      

          其他步骤一致,只在第3步骤,将mode设置成1即可.         

alias bond0 bonding 
        
options bond0 miimon=100 mode=1

위 내용은 CentOS에서 본드를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제