[CentOS7] 랜카드 추가(2개)로 서버간 통신 속도 10배 속도 내기
이번 포스팅은 사설망 구축(랜카드 2개)하여 서버간 통신 속도 높이는 방법을 작성해볼까 합니다.
개요
현재 서버는 총 4대로 모두 MySQL (Maria DB) 서버로 사용중에 있습니다.
4개 모두 CentOS7 설치되어 있습니다.
Server1이 master 서버이고 server 2, 3, 4는 slave 서버로 사용중에 있습니다.
아직 테스트 중이라서 사무실 안에 4대 모두 위치 시켜 놓은 상태입니다.
데이터를 서버간 옮기는 작업이 빈번한 상태인데 scp 기준으로 11Mbps 정도 속도가 나옵니다.
이번에 server4를 추가하면서 MySQL DATA를 옮기는데 scp기준으로 하루 꼬박 걸렸습니다.
무슨 작업 한번 하려고 하면 데이터 옮기는 시간으로 다 잡아먹는 상황이라 사설망을 구축하여 속도 좀 늘려봐야겠습니다.
네트워크 구성도
위의 그림은 이번에 적용할 네트워크 구성도입니다.
기존 LAN카드는 외부망으로 사용하고 LAN2를 사설망으로 구축하여 서버끼리의 통신은 사설망으로 하자는것이 이번 구성의 취지입니다.
결론부터 말씀 드리면 기존 LAN1끼리 통신하는 것은 scp기준으로 11Mbps 속도가 나왔습니다.
사설망 구축하니 110Mbps 속도나 나왔습니다. 정확히 10배 빨라졌습니다. 웃음.
하루 걸렸던 작업이 2시간 걸린다는 소리입니다. 저 완전 신났습니다.
준비물로는 기가 지원하는 랜카드 4개, 기가 지원하는 8포트 허브 1개 구입했습니다.
그림과 같이 각 서버에 랜카드 추가해주시고, 허브에 각 서버의 랜선 꽂으시면 됩니다. 하드웨어 구성은 끝났습니다.
핵심은 기가 지원하는 장비를 사용해야 한다는 점과 LAN2는 외부망 연결 없이 서버끼리 연결한다는 점입입니다.
Centos7 세팅하기
하드웨어(랜카드) 추가했다는 가정하에 설명드립니다.
1. 추가된 랜카드 확인
$ ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx broadcast xxx.xxx.xxx.xxx
inet6 fe80::c568:a456:2f54:bc2 prefixlen 64 scopeid 0x20<link>
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 6490 bytes 630640 (615.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1680 bytes 266322 (260.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xf7100000-f7120000
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.4 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2e0:4cff:fe15:9774 prefixlen 64 scopeid 0x20<link>
ether 00:e0:4c:15:97:74 txqueuelen 1000 (Ethernet)
RX packets 577 bytes 188522 (184.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 530 bytes 89990 (87.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 95 bytes 7900 (7.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 95 bytes 7900 (7.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
위에서 'ifconfig' 출력값은 모든 세팅 끝난다음의 화면입니다.
제가 캡쳐를 못했네요. Ip 등 몇가지가 다르긴 한데 설명하는데 문제가 없어서 그냥 가겠습니다.
일반적으로 랜카드는 eth0, eth1 과 같은 이름을 명명합니다.
Centos7 OS 설치 시 네트워크 기본값으로 설치를 했더니 'enp0s31f6' 이름으로 구성되었습니다.
랜카드 추가후 아무것도 안 건드리니 마찬가지로 'enp2s0' 이름으로 구성되었습니다.
'enp0s31f6' 은 'eth0'과 같고, 'enp2s0' 은 'eth1'과 같다고 보시면 됩니다. 저는 기본값 그대로 나두기로 했습니다.
결국 ifconfig로 확인하니 'enp2s0' 이름으로 추가된 랜카드가 구성된것을 확인 할 수 있습니다.
Centos7을 기본으로 설치하셨다면 ifconfig명령어가 없습니다. 저는 별도로 설치한 것입니다.
ifconfig가 없을 경우에는 'ip add'로 확인하시면 됩니다.
2. 설정파일 (enp2s0 파일은 없음 / 처음 만들었음)
$ vi /etc/sysconfig/network-scripts/ifcfg-enp2s0
DEVICE=enp2s0
HWADDR=00:E0:4C:21:19:16
TYPE=Ethernet
ONBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NM_CONTROLLED=yes
'/etc/sysconfig/network-scripts'에 가보면 'ifcfg-enp0s31f'는 있는 반면에 'ifcfg-enp2s0' 파일은 없습니다.
놀라시지 마시고 파일 생성하신 후에 위의 내용 붙여 넣으시면됩니다.
파일명은 'ifconfig'에서 확인한 이름을 'ifcfg-' 다음에 붙이시면 됩니다.
- DEVICE : 'ifconfig'를 통해 확인한 이름
- HWADDR : 'ifconfig' 시 'ether' 부분에 나온 16진수 값
- IPADDR : 10.10.10.1 등 아무 값이나 사용하실 수 있지만 잘 모르겠다 싶으면 '192.168.0.1~254' 적어줍니다.
3. 네트워크 리스타트
$ systemctl restart network
4. 확인
$ ifconfig
결론
지금까지 살펴본 외부망 + 사설망 구축은 서버간의 통신 시 빠른 속도를 보장받기 위한 용도가 주 목적입니다.
웹서버를 구성했다 하면 DB connect 시 192.168.0.x 식으로 사설망 주소를 사용하시면 속도도 빠르고 보안 상으로도 이득을 보실 수 있습니다.
즉, DB서버뿐 아니라 사용중인 모든 서버를 사설망 구성하는것이 이롭습니다.
위에서도 말했지만 scp기준으로 네트워크 파일 카피 시 구성전에는 11Mbps였고, 구성후에는 110Mbps로 10배 빠른 속도를 보이고 있습니다.
저희가 사용중인 IDC에서도 위와 비슷한 방식을 사용하고 있습니다. 즉, 실 운영서버에서도 사용 가능한 방법입니다.
그럼 다들 즐거운 IT JOB 하시길 바랍니다.
본 글은 나의 다른 블로그(폐쇄예정) 에서 작성한 글을 이관한 포스팅입니다. (2017년 11월 6일 작성)
'OS > Linux' 카테고리의 다른 글
(centos8) rsync 자주 사용되는 명령어(옵션) (0) | 2022.10.25 |
---|---|
[CentOS7] LVM이용한 하드디스크 추가 (0) | 2022.10.25 |
댓글
이 글 공유하기
다른 글
-
(centos8) rsync 자주 사용되는 명령어(옵션)
(centos8) rsync 자주 사용되는 명령어(옵션)
2022.10.25 -
[CentOS7] LVM이용한 하드디스크 추가
[CentOS7] LVM이용한 하드디스크 추가
2022.10.25