지난번 포스팅한 네트워크 에러로 인한 Vertica DB 노드 다운의 상세 원인을 파악한 결과를 작성한다. 네트워크 문제가 해결된 후 Vertica DB 를 재기 동한 결과, 정상적으로 DB 기동이 완료됐다.
원인 : 개발 서버의 10G 망, 연결이 안 되어, 전산팀에서 Vertica IP에 해당하는 네트워크의 Netmask를 수정 하였고, 수정 반영 직후 Vertica 1번 노드(총 3개 노드 Cluster 구성)가 다운됐다.
원인 파악 : 네트워크 연결 문제로 Vertica 1번 노드가 기동 실패 되어, root 계정으로 접속하여 history를 확인한 결과, 네트워크 편집(vi /etc/sysconfig/network-scripts/ifcfg-eth3) 및 네트워크 재기동 (service network restart) 여러 번 발생 되었다.
- 전산팀 네트워크 설정 내역
# vi /etc/sysconfig/network-scripts/ifcfg-eth3
...
PREFIX=16 -> 설정 추가
#NETMASK=255.255.255.0 -> 기존 설정 주석 처리
...
- IP 조회 결과
# ip addr
eth3: ... state UP
inet 10.xx.xx.xx/16 brd 10.xx.255.255 scope global eth3
- 전산팀 네트워크 설정 내역 원복
# vi /etc/sysconfig/network-scripts/ifcfg-eth3
...
#PREFIX=16 -> 주석 처리
NETMASK=255.255.255.0 -> 기존 설정 원복
...
- 네트워크 재기동 (IP 조회 결과)
# service network restart
# ip addr
eth3: ... state UP
inet 10.xx.xx.xx/24 brd 10.xx.40.255 scope global eth3
Vertica 1번 노드 서버의 네트워크 재 설정 후 Vertica DB 기동 완료.
Netmask 가 변경된 이후 Vertica 1번 노드를 인지 못하는 이유는 Vertica 네트워크 인터페이스 테이블에 해당하는 Subnet, Mask가 없기 때문에 Vertica는 1번 노드를 인지 하지 못했다. (IP는 동일)
Vertica DB 테이블 조회 결과
vertica network interdaces 테이블에는 subnet(10.xx.xx.0)과 mask(255.255.255.0) 가 별도 컬럼으로 저장되어 있다.
서브넷마스크 계산결과 (서브넷 마스크 계산기를 참조 했다- 구글에서 쉽게 조회 가능)
interface : eth3
Subnet Mask /24 (255.255.255.0), Broadcast Address 10.xx.40.255 -> 정상 상태의 Vertica
Subnet Mask /16 (255.255.0.0), Broadcast Address 10.xx.255.255 -> 1번 노드 네트워크 오류 상태(Vertica에 테이블의 subnet, mask에는 존재하지 않는다. )
1번 노드 네트워크 오류는 네트워크 설정을 원복 해서 해결했다. 만약 IP는 동일한데 네트워크의 변경이 필요하면, Vertica 'CREATE NETWORK INTERFACE'를 참조하길 바란다.