네트워크 설정

본 장에서는 ZetaData의 DB 노드와 Storage 노드의 네트워크를 구성하는 방법에 대해서 설명합니다.

개요

ZetaData는 DB 노드와 Storage 노드 간의 빠른 네트워크 통신을 위해서 InfiniBand를 사용합니다. 아래의 과정으로 InfiniBand를 사용해서 ZetaData 네트워크를 설정합니다.

  1. InfiniBand 드라이버 설치

  2. InfiniBand 드라이버 동작 확인

  3. 커널 파라미터 설정

  4. 네트워크 구성 (각 InfiniBand 제조사의 네트워크 구성 메뉴얼을 참고하여 구성합니다.)

circle-info

참고

InfiniBand가 없거나 사용에 문제가 있는 경우 RDMA 프로토콜 대신 TCP 프로토콜을 사용하도록 설정할 수 있습니다. 방법은 “초기화 파라미터”의 SSVR_USE_TCP 파라미터를 참고합니다.

아래 그림은 앞으로 예에서 사용할 ZetaData 노드의 InfiniBand용 IP 주소 구성입니다.

그림 1. ZetaData 노드 InfiniBand IP address 구성도


1. InfiniBand 드라이버 설치

InfiniBand를 사용하기 위해서는 OS에 맞는 적합한 드라이버와 라이브러리를 설치해야 합니다.

먼저 각 OS 별로 적합한 명령어를 통해 해당하는 라이브러리를 설치합니다.

아래는 OS별 라이브러리 설치 예입니다.

Ubuntu

위 명령어로 출력된 'Development files for the libibverbs library' package를 설치합니다.

RedHat 계열 (RHEL, CentOS, Fedora)

아래는 RedHat 7, 8, 9 OS 위에 멜라녹스(Mellanox)사에서 제공한 InfiniBand 드라이버를 설치하는 예시입니다.

1. 멜라녹스 드라이버를 설치합니다.

  1. InfiniBand용 네트워크 설정 파일을 생성합니다. 아래는 DB 노드 0번에서의 설정 파일 예입니다.

  1. subnet manager 기능을 지원하지 않는 스위치의 경우에 opensmd 서비스를 실행합니다.

  1. 서버를 재부팅합니다.


2. InfiniBand 드라이버 동작 확인

아래는 멜라녹스사에서 제공하는 InfiniBand 드라이버의 동작을 확인하는 예입니다.

DB 노드 0번

DB 노드 1번

circle-info

참고

위 예에서는 ibv_rc_pingpong 명령어로 DB 노드 간의 테스트만 진행하였으나, SSVR 노드를 포함한 모든 노드에서 각 ZetaData 노드로의 InfiniBand 드라이버 동작 테스트를 진행하는 것을 권장합니다.

Last updated