서버를 사용하다 보면 여러 가지 이유로 본딩을 묶게 된다.
본딩을 묶는 이유는 본딩모드에 따라 여러 가지가 될 수 있다.
빨리 쓰고 싶은사람도 있고 또한 안전하게 사용하고 싶은 사람도 있다.
물론 빠르고 안전하게 쓰려면 1Gb 대신 10Gb 두 개로 raid 1처럼 사용하면 된다.
그럼 본딩 종류에 대해 알아 보도록 하겠다.
이외에도 mode3,4,5,6 도 있다.
솔직히 모르겠다. 나는 여태껏 본 바로는 mode 1의 비중이 95%는 된다.
이제 이론은 그만 보구 본딩을 한번 구성해 보자~!!
[root@master ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.150 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::3b9e:3583:c96b:daa3 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4c:0d:be txqueuelen 1000 (Ethernet)
RX packets 1001 bytes 807311 (788.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 373 bytes 52811 (51.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.154 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::cd5b:b6f1:ccef:1e27 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4c:0d:c8 txqueuelen 1000 (Ethernet)
RX packets 256 bytes 48774 (47.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 36 bytes 5352 (5.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
network interface ens32와 ens36을 지금부터 mode1 active-backup으로 bonding구성을 하겠다.
시작 전 혹시 모르니 backup파일을 생성해두자.
[root@master ~]# cd /etc/sysconfig/network-scripts/
[root@master network-scripts]# ls
ifcfg-ens32 ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
ifcfg-lo ifdown-ib ifdown-post ifdown-Team ifup-aliases ifup-ippp ifup-plusb ifup-sit ifup-wireless
ifdown ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-ipv6 ifup-post ifup-Team init.ipv6-global
ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions
[root@master network-scripts]# cp ifcfg-ens32 ifcfg-ens32.bak
가상 환경에 갑작스레 네트워크 인터페이스를 추가한 거라 network-scripts에 ifcfg-ens36이 보이지 않는다.
신경 쓰지 말고 작업하겠다.
ifcfg-ens32 파일 안을 텍스트를 싹 비우고 아래와 같이 기입하자.
[root@master network-scripts]# vim ifcfg-ens32
DEVICE=ens32
MASTER=bond0
SLAVE=yes
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
[root@master network-scripts]# vim ifcfg-ens36
DEVICE=ens36
MASTER=bond0
SLAVE=yes
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=no
네트워크 인터페이스 2개다 동일하게 진행하면 된다. 복수 붙여 넣기 할 때 device명만 주의하도록!!
그리고 bond파일을 생성하면 된다.
[root@master network-scripts]# vim ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
USERCTL=no
NM_CONTROLLED=No
ONBOOT=yes
IPADDR=192.168.6.150
NETMASK=255.255.255.0
GATEWAY=192.168.6.2
DNS1=168.126.63.1
DNS2=8.8.8.8
BONDING_OPTS="mode=1 miimon=100"
위와 같이 bond0 파일을 생성하자.
위에서 볼 점은 bonding_opts에서 본딩 모드와 miimon=100이다.
miimon은 링크 감시 설정 모드로 ms단위로 사용된다. 기본적으로 100을 사용한다.
[root@master network-scripts]# systemctl restart network
[root@master network-scripts]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 192.168.6.150 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::20c:29ff:fe4c:dbe prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4c:0d:be txqueuelen 1000 (Ethernet)
RX packets 18 bytes 1478 (1.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32 bytes 3544 (3.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
위와 같이 network restart 후에 bond0 장치가 올라와 있은 것을 확인할 수 있다.
[root@master network-scripts]# ping kr.yahoo.com
PING src.san1.g01.yahoodns.net (212.82.100.151) 56(84) bytes of data.
64 bytes from w2.src1.vip.ir2.yahoo.com (212.82.100.151): icmp_seq=1 ttl=128 time=283 ms
^C
--- src.san1.g01.yahoodns.net ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 283.102/283.102/283.102/0.000 ms
[root@master network-scripts]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=46.8 ms
^C
--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 46.808/46.808/46.808/0.000 ms
[root@master network-scripts]# ping node01
PING node01 (192.168.6.151) 56(84) bytes of data.
64 bytes from node01 (192.168.6.151): icmp_seq=1 ttl=64 time=0.418 ms
ping 역시 여기저기 다 잘 나간다~
마지막으로 bonding 상태를 확인하기 위해서는
[root@master network-scripts]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens32
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens32
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:4c:0d:be
Slave queue ID: 0
Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:4c:0d:c8
Slave queue ID: 0
위와 같은 명령어를 사용하여 본딩 모드 및 status를 확인할 수 있다!
2020/07/29 - [linux] - linux - ssh 접속하기 및 포트 변경
2020/07/27 - [linux] - 리눅스(linux) - 기본 명령어 사용법
2020/07/21 - [linux] - linux path 설정 - bashrc ? /etc/bashrc ?
linux 현재 접속해 있는 user 사용자 확인 및 kill 하기 (6) | 2020.08.25 |
---|---|
linux - tar, gz, unzip 압축 해제 및 압축하기 (0) | 2020.08.24 |
linux - ssh 접속하기 및 포트 변경 (2) | 2020.07.29 |
리눅스(linux) - 기본 명령어 사용법 (2) | 2020.07.27 |
linux path 설정 - bashrc ? /etc/bashrc ? (2) | 2020.07.21 |