서로 다른 두개의 장비에서 DB가 각각 구축되고, 이 둘을 CLUSTER로 묶으려고 하는데
클러스터를 묶는 이 네트워크라인은 서로간에만 통신이 가능하게 하고싶다. 또 이 클러스터 라인 이외 외부와 통신할 수 있는 라인도 하나 더 필요!
(**이 두개 장비는 서로 라인이 연결되어있어야 한다. 나같은 경우 하나의 PC에서 가상머신을 돌릴 것 이기 때문에 가능)


이유는 클러스터 라인 단절 시, split brain현상을 방지를 위한 glocator, gagent 유틸리티는 UDP통신으로 소통하는데
이 UDP는 ip에서 a,b,c클래스가 같으면 그냥 같다고 생각하고(?) 열려있는 아무데로나 붙어버려서
내가 원하는 정확한 라인으로 붙지가 않았다!

그래서 클러스터 라인은 10.10.10.xxx로 통신하게 하고,
glocator, gagent가 붙어있는 외부 네트워크라인은 192.168.0.xxx로 만들고자 함.



vmware에서 진행한다.
CentOS 7.4 환경.

두개의 머신은 vmware 셋팅에서 네트워크 카드 두개를 꼽아주고 bridge로 설정. 참고☞ http://heni.tistory.com/27

현 상태를 살펴보면 두개의 카드에 자동으로 ip가 지정되어 있다. 
# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.152  netmask 255.255.255.0  broadcast 192.168.0.255
    (생략)

ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.157  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::403a:111e:3be7:e00d  prefixlen 64  scopeid 0x20<link>
        (생략)


<시나리오>
ip를 자동에서 고정으로 변경하여 내가 원하는 xxx숫자로 고정.
클러스터 라인(내부통신)으로 쓸 ens33카드는 10.10.10.xxx로 고정.
외부와 소통하고자하는 ens34카드는192.168.0.xxx로 고정하고, 게이트웨이와 DNS 설정. 

네트워크 설정을 위해 관리자 접속
$ su root
Password:

이후 아래 경로로 들어간다
# cd /etc/sysconfig/network-scripts/

요 경로에 보면 아래와 같은 애들이 쭉 있는데, 분홍표시한 파일 두개가 수정할 파일!
이 파일들을 꼭.. 백업해두길. 특히 내 블로그를 보고 따라하는 사람이라면 꼭 원복할 수 있게 백업하길.. 난 네트워크 전문가가 아니다 ㅠ0ㅠ 필요할때만 만져보는 따라쟁이 일 뿐.
[root@heninet3 network-scripts]# ls
ifcfg-ens33  ifdown-ipv6      ifdown-tunnel  ifup-isdn    ifup-TeamPort
ifcfg-ens34  ifdown-isdn      ifup           ifup-plip    ifup-tunnel
ifcfg-lo     ifdown-post      ifup-aliases   ifup-plusb   ifup-wireless
ifdown       ifdown-ppp       ifup-bnep      ifup-post    init.ipv6-global
ifdown-bnep  ifdown-routes    ifup-eth       ifup-ppp     network-functions
ifdown-eth   ifdown-sit       ifup-ib        ifup-routes  network-functions-ipv6
ifdown-ib    ifdown-Team      ifup-ippp      ifup-sit
ifdown-ippp  ifdown-TeamPort  ifup-ipv6      ifup-Team

먼저 클러스터라인(내부통신)으로 쓸 ens33카드를 설정해보자. pure한 cent7에서의 설정파일은 아래와 같다.
# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=어쩌고 저쩌고 카드만의 키가 들어있다
DEVICE=ens33
ONBOOT=no

이 상태에서 표시한 부분들만 변경/추가해주면 된다.
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"  ▶ "none"으로 변경하면 고정ip
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="요기 만지면 안됨"
DEVICE="ens33"
ONBOOT="yes"

<고정ip 지정>
IPADDR=192.168.0.xxx
PREFIX=24

<외부 통신 가능한 라인 시 설정>
GATEWAY=192.168.0.1
DNS1=168.xxx.xxx.1
DNS2=168.xxx.xxx.2



ens33같은 경우에는 외부와도 통신 가능한 라인으로 설정하였고
[root@heninet2 network-scripts]# cat ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="요기 만지면 안됨"
DEVICE="ens33"
ONBOOT="yes"

IPADDR=192.168.0.xxx
PREFIX=24

GATEWAY=192.168.0.1
DNS1=168.xxx.xxx.1
DNS2=168.xxx.xxx.2

ens34같은 경우에는 외부통신 필요없이 내부에서만 통신 가능하면 되기 때문에, 고정ip 설정하는 프로퍼티만 넣어줬다.
[root@heninet2 network-scripts]# cat ifcfg-ens34
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens34"
UUID="요기 만지면 안됨"
DEVICE="ens34"
ONBOOT="yes"

IPADDR=10.10.10.xxx
PREFIX=24
**
꼭 10.10.10으로 할 필요는 없음. 33.33.33으로 변경해도 내부통신 잘 됨.
( 왜 통신되냐면 라인이 서로 연결되어있거나, 같은 컴퓨터 하여튼 라인이 있으니깐 ㅋ 앞의 abc클래스만 같으면 됨)

위와같이 설정하고, 아래 구문 순서대로 수행
systemctl restart NetworkManager
systemctl restart network

확인해보면 제대로 적용되어있다!
[root@heninet4 network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.xxx  netmask 255.255.255.0  broadcast 192.168.0.255


ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.xxx  netmask 255.255.255.0  broadcast 10.10.10.




[참고] 가끔씩 오류가 나면서 systemctl restart network이 안될때가 있는데, 
# systemctl restart network
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
ifcfg-xxx 파일에서 문제가 있을 때 그러했다. "쌍따옴표를 끝내지 않았던지 DEVICE명에 오타있던지 등...
이도저도 아니면 재부팅을 한번 해보면 잘 됨 ^_^...




+ Recent posts