RHEL7 기반에서 NetworkManager를 이용하여 네트워크 통신을 수행하는 환경에서 Bonding Tagging 설정을 하려면 어떻게 해야 할까요?
1. Bonding Mode 종류
- mode=0 (balance-rr) : 패킷을 보낼때 순차적 전송
- mode=1 (active-backup) : Active된 이더넷에 문제 발생시 backup 이더넷으로 전환
- mode=2 (balance-xor) : xor 연산을 이용한 목적지 Mac과 근원지 Mac을 이용해 패킷 분배
- mode=3 (broadcast) : 송수신 패킷을 복사해서 모든 이더넷 디바이스에 동일한 패킷 전송
- mode=4 (802.3ad) : IEEE 802.3ad 프로토콜을 사용해서 스위치 사이에서 동적으로 aggregation을 작성
- mode=5 (balance-tlb) : 이더넷 디바이스 중 부하가 낮은 장치를 선택해서 ㅐ킷을 보내며 수신은 특정 장치로 지정
- mode=6 (balance-alb) : 송수신 모두 부하가 낮은 장치를 체크해서 사용
2. 설정내역 확인 및 설정 제거
1) 기존 설정 내역 확인
- /proc/net/bonding/bond0에 설정된 Slave 디바이스명 확인
- /etc/sysconfig/network-scripts/ifcfg-bond0에서 IP와 Gateway 확인 후 설정 파일 삭제
2) 수행 방법
# cat /etc/sysconfig/network-scripts/ifcfg-bond0
# nmcli connection delete bond0
3. Bonding 및 VLAN Tagging 설정 방법
1) bond0 설정
- mode 802.3ad로 ipv4.mothod, ipv6.mothod disabled로 설정
- /etc/sysconfig/network-scripts/ifcfg-bond0 설정 내용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
DEVICE=bond0
BONDING_OPTS="miimon=100 updelay 0 downdelay 0 mode=802.3ad"
TYPE=Bond
BONDING_MASTER=yes
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0
UUID=xxxxxxx-xxxxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxxxx
ONBOOT=yes
|
cs |
2) Bonding할 Slave Device 설정
- /proc/net/bonding/bond0에 설정된 Slave 디바이스명으로 eth0, eth1로 가정하여 설명함
- /etc/sysconfig/network-scripts/ 디렉터리 내에 Slave Device 설정 내용 확인
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<ifcfg-eht0>
TYPE=Ethernet
NAME=eth0
UUID=xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
<ifcfg-eht1>
TYPE=Ethernet
NAME=eth1
UUID=xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
|
cs |
- 설정내역 확인 결과 위와 같이 설정되어 있다면 아래 설정 생략
- Bonding할 Slave Device는 설정 내역 확인에서 설정된 Device 리스트로 설정
# nmcli connection add type bond-slave ifname eth0 con-name eth0 master bond0
# nmcli connection add type bond-slave ifname eth1 con-name eth1 master bond0
3) Bonding 설정 내역 업데이트
# nmcli connection up bond0
4) VLAN Tagging 설정 및 게이트웨이 추가
- VLAN Tagging ID 설정과 현 서버의 IP 및 게이트웨이르르 추가하여 bond0.100 파일 생성
# nmcli connection add type vlan ifname bond0.100 con-name bond0.100 id 100 dev bond0 ip4 xxx.xxx.xxx.xxx(로컬IP)/24 gw4 xxx.xxx.xxx.xxx(게이트웨이IP)
- BootProtocol static으로 변경 (nmcli 설정 시 기본값은 dhcp)
# nmcli connection modify bond0.100 ipv4.method static
# nmcli connection modify bond0 ipv4.method static
- DNS 추가
# nmcli connection modify bond0.100 ipv4.dns xxx.xxx.xxx.xxx
- 도메인명 추가 (도메인명 : chanchan.com)
# nmcli connection modify bond0.100 ipv4.dns-search chanchan.com
- /etc/sysconfig/network-scripts/ifcfg-bond0.100 설정 내용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
VLAN=yes
TYPE=Vlan
DEVICE=bond0.100
PHYSDEV=bond0
VLAN_ID=100
REORDER_HDR=yes
GVRP=no
MVRP=no
PROXY_METHOD=none
BROWER_ONLY=no
BOOTPROTO=none
IPADDR=xxx.xxx.xxx.xxx
PREFIX=24
GATEWAY=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0.100
UUID=xxxxxxxxx-xxxxxxx-xxxxxxxx-xxxxxxx-xxxxxxxxxx
ONBOOT=yes
DOMAIN=chanchan.com
|
cs |
5) Bonding 설정 내역 업데이트
# nmcli connection reload
6) 네트워크 재시작
# systemctl restart network
# systemctl restart NetworkManager
4. 서비스 상태 확인
- netstat -nr 명령어로 게이트웨이가 등록되었는지 확인
- route 명령어로 bond0.100의 게이트웨이가 정상적으로 등록되었는지 확인
- ping 게이트웨이 며ㅇ령어로 게이트웨이까지 ping이 정상적인지 확인
5. 시스템 재부팅
시스템 재부팅 후 서비스 상태 확인
6. 설정 스크립트 (스크립트를 이용한 설정)
- Bondig이 이미 구성되어 잇는 경우 Slave 디바이스 설정은 생략
'IT 이야기 > Linux' 카테고리의 다른 글
[RHEL7] 디스크 용량 새롭게 할당 받기 (0) | 2019.12.08 |
---|---|
[RHEL7] VFTP 설치 및 활용 (0) | 2019.12.08 |
[RHEL7] CPU, Memory, I/O 정보 출력(systemd-cgtop) (0) | 2019.12.06 |
[RHEL7] NTP(Network Time Protocol) 설정(timedatectl set-ntp) (0) | 2019.12.06 |
[RHEL7] Unit Properties 체크(systemctl show) (0) | 2019.12.06 |
댓글