데이터베이스 설치 · 4 min read · Oct 12, 2025

Debian 12에 CockroachDB 클러스터 설치하는 방법

CockroachDB는 클라우드 애플리케이션을 위한 오픈 소스 분산형 및 확장 가능한 SQL 데이터베이스입니다. CockroachDB는 차세대 일관성을 제공하며, 복제된 SQL 데이터베이스와 트랜잭션 데이터 저장소를 제공합니다.

CockroachDB는 데이터를 여러 위치에 저장하여 데이터 전송 속도를 높입니다. 또한, 확장이 용이하고 애플리케이션에 대한 높은 가용성과 내결함성을 제공합니다.

이 가이드에서는 Debian 12 서버에 CockroachDB를 설치하는 방법을 보여줍니다. 그런 다음 여러 Debian 서버로 CockroachDB 클러스터를 초기화하는 방법을 보여줍니다.

전제 조건

진행하기 전에 다음 사항을 확인하십시오:

  • 서로 로컬 네트워크를 통해 연결된 두 개 이상의 Debian 12 서버.
  • 관리자 권한이 있는 비루트 사용자.
  • 각 서버에 FQDN이 구성되어 있어야 합니다.

CockroachDB 설치하기

CockroachDB는 분산형 및 확장 가능한 SQL 데이터베이스 시스템입니다. CockroachDB 클러스터를 배포하기 전에 각 서버에 CockroachDB 애플리케이션을 설치해야 합니다.

이제 각 Debian 서버에 CockroachDB를 설치합니다.

먼저, 기본 홈 디렉토리 /opt/cockroachdb로 새로운 시스템 사용자 cockroach를 생성합니다.

sudo adduser --home /opt/cockroachdb --system --group cockroach  
sudo chown -R cockroach:cockroach /opt/cockroachdb

아래 curl 명령을 사용하여 CockroachDB의 최신 버전을 다운로드합니다. CockroachDB의 최신 버전 링크를 얻으려면 CockroachDB 다운로드 페이지를 방문하십시오.

curl https://binaries.cockroachdb.com/cockroach-v23.1.14.linux-amd64.tgz --output cockroach-v23.1.14.linux-amd64.tgz

다운로드가 완료되면 cockroach-v23.1.14.linux-amd64.tgz 파일을 추출하고 CockroachDB 바이너리 파일을 /usr/bin/ 디렉토리에 복사합니다.

tar -xzf cockroach-v23.1.14.linux-amd64.tgz  
cp -i cockroach-v23.1.14.linux-amd64/cockroach /usr/bin/

마지막으로 아래 명령을 사용하여 CockroachDB 버전을 확인합니다.

cockroach --version

아래에서 CockroachDB v23.1.14가 설치된 것을 볼 수 있으며, 이는 현재 시점의 최신 버전입니다.

버전 확인

UFW 설정하기

CockroachDB를 설치한 후, 서버를 보호하기 위해 UFW를 설치해야 합니다. 그런 다음 CockroachDB 클러스터에서 사용할 TCP 포트 8080과 26257을 엽니다.

아래 명령을 사용하여 Debian 서버에 UFW 패키지를 설치합니다.

sudo apt install ufw -y

ufw 설치

이제 OpenSSH 프로필을 추가하고 아래 명령을 실행하여 UFW를 활성화합니다. 시작하고 UFW를 활성화하려면 y를 입력하십시오.

sudo ufw allow OpenSSH  
sudo ufw enable

UFW가 활성화되면 ‘Firewall is active and enabled on system startup’라는 출력이 표시됩니다.

ufw 활성화

다음으로 아래 명령으로 UFW에 TCP 포트 8080과 26257을 추가합니다. 이 TCP 포트는 CockroachDB 클러스터에서 사용됩니다.

sudo ufw allow 8080/tcp  
sudo ufw allow 26257/tcp

마지막으로 아래 명령을 사용하여 UFW 상태와 활성화된 규칙 목록을 확인합니다. UFW 상태가 Active이며 OpenSSH, 포트 8080/tcp 및 26257/tcp가 활성화된 것을 볼 수 있습니다.

sudo ufw status

ufw 설정

인증서 생성하기

CockroachDB 클러스터에 대한 인증서를 생성하기 전에 아래 명령을 실행하여 인증서를 저장할 /opt/cockroachdb 내에 certs 및 private이라는 새로운 디렉토리를 생성합니다.

mkdir -p /opt/cockroachdb/{certs,private}

이제 다음 인증서를 생성합니다: CA 인증서, 노드 인증서 및 클라이언트 인증서.

CA 생성하기

CA 인증서는 클라이언트 및 노드 인증서를 서명하는 데 중요합니다. 이 섹션에서는 comp1 서버에서 CA 인증서를 생성하고 scp를 통해 comp2 서버에 CA 인증서 및 키를 전송합니다. 따라서 comp2 서버에 SSH 접근이 가능해야 합니다.

comp1 서버에서 CA 인증서를 생성하기 위해 아래 명령을 실행합니다.

cockroach cert create-ca \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

CA 생성

CA가 생성되면 ca.key와 ca.crt를 comp2 서버로 복사합니다.

scp /opt/cockroachdb/private/ca.key [email protected]:/opt/cockroachdb/private/  
scp /opt/cockroachdb/certs/ca.crt [email protected]:/opt/cockroachdb/certs/

인증서 복사

클라이언트 생성하기

CA를 생성한 후, 다음으로 필요한 인증서는 클라이언트 인증서입니다. 이는 TLS를 통해 CockroachDB 클러스터에 안전하게 연결하는 데 사용됩니다.

여전히 comp1 서버에서 아래 명령을 실행하여 기본 사용자 root에 대한 클라이언트 인증서를 생성합니다.

cockroach cert create-client \  
root \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

프로세스가 완료되면 클라이언트 인증서는 /opt/cockroachdb/certs/client.root.crt/opt/cockroachdb/certs/client.root.key에 저장됩니다.

클라이언트 인증서 생성

노드 생성하기

마지막으로, 노드 인증서를 생성해야 하며, 이는 클러스터 내 서버 수에 따라 달라집니다. 이 예제에서는 comp1 및 comp2 서버에 대한 노드 인증서를 생성합니다.

comp1 서버에서 아래 명령을 실행하여 comp1에 대한 노드 인증서를 생성합니다. IP 주소와 fqdn을 서버 세부정보로 변경해야 합니다.

cockroach cert create-node \  
comp1.hwdomain.lan \  
192.168.5.21 \  
localhost \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

노드 인증서 comp1

comp2 서버로 이동하여 아래 명령을 실행하여 comp2에 대한 노드 인증서를 생성합니다. 또한 comp2 서버의 IP 주소와 fqdn 세부정보를 변경해야 합니다.

cockroach cert create-node \  
comp2.hwdomain.lan \  
192.168.5.22 \  
localhost \  
--certs-dir=/opt/cockroachdb/certs \  
--ca-key=/opt/cockroachdb/private/ca.key

노드 인증서 comp2

인증서에 대한 권한 설정하기

모든 인증서가 생성되면 아래 명령을 실행하여 cockroach 사용자가 인증서 파일에 접근할 수 있도록 허용합니다. 이 명령은 comp1comp2 서버 모두에서 실행해야 합니다.

sudo chown -R cockroach:cockroach /opt/cockroachdb/certs  
sudo chown -R cockroach:cockroach /opt/cockroachdb/private

Systemd 서비스 설정하기

CockroachDB에 대한 인증서를 생성한 후, 다음 단계는 각 서버에 대한 CockroachDB 서비스 파일을 만드는 것입니다. 그런 다음 CockroachDB 서비스를 시작하고 활성화합니다.

comp1에 대한 CockroachDB 서비스

comp1 서버에서 아래 nano 편집기 명령을 사용하여 새로운 systemd 서비스 /etc/systemd/system/cockroachdb.service를 생성합니다.

sudo nano /etc/systemd/system/cockroachdb.service

이 서비스 구성을 추가합니다. –advertise-addr 매개변수를 comp1 IP 주소로 변경해야 합니다.

[Unit]  
Description=Cockroach Database cluster node  
Requires=network.target  
  
[Service]  
Type=notify  
WorkingDirectory=/opt/cockroachdb  
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.21 --join=192.168.5.21,192.168.5.22  
TimeoutStopSec=60  
Restart=always  
RestartSec=10  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=cockroach  
User=cockroach  
  
[Install]  
WantedBy=default.target

작업이 완료되면 파일을 저장하고 종료합니다.

comp2에 대한 CockroachDB 서비스

comp2 서버로 이동하여 아래 nano 편집기 명령을 실행하여 새로운 서비스 파일 /etc/systemd/system/cockroachdb.service를 생성합니다.

sudo nano /etc/systemd/system/cockroachdb.service

아래 구성을 삽입하고 –advertise-addr 매개변수를 comp2 IP 주소로 변경해야 합니다.

[Unit]  
Description=Cockroach Database cluster node  
Requires=network.target  
  
[Service]  
Type=notify  
WorkingDirectory=/opt/cockroachdb  
ExecStart=/usr/bin/cockroach start --certs-dir=/opt/cockroachdb/certs --advertise-addr=192.168.5.22 --join=192.168.5.21,192.168.5.22  
TimeoutStopSec=60  
Restart=always  
RestartSec=10  
StandardOutput=syslog  
StandardError=syslog  
SyslogIdentifier=cockroach  
User=cockroach  
  
[Install]  
WantedBy=default.target

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

CockroachDB 시작하기

CockroachDB 서비스 파일이 생성되었으므로 이제 변경 사항을 적용하고 CockroachDB 서비스를 시작하고 활성화할 수 있습니다.

아래 명령을 실행하여 systemd 관리자를 다시 로드하고 CockroachDB에 대한 새로운 서비스를 적용합니다.

sudo systemctl daemon-reload

이제 아래 명령으로 comp1 및 comp2 서버에서 CockroachDB 서비스를 시작하고 활성화합니다.

sudo systemctl start cockroachdb  
sudo systemctl enable cockroachdb

cockroachdb 서비스 시작 및 활성화

마지막으로 아래 명령을 사용하여 CockroachDB 서비스가 실행 중인지 확인합니다.

sudo systemctl status cockroachdb

따라서 두 Debian 서버 모두에서 CockroachDB 서비스가 실행되고 있는지 확인하십시오.

cockroachdb 서비스 comp1 상태

cockroachdb 서비스 comp2 상태

CockroachDB 클러스터 초기화하기

이제 CockroachDB 서비스가 각 서버에서 실행되고 있으므로 comp1 서버에서 CockroachDB 클러스터를 초기화할 수 있습니다. 그런 다음 CockroachDB의 관리자 사용자를 생성하고 CockroachDB 웹 관리 대시보드에 접근합니다.

comp1 서버에서 아래 명령을 실행하여 CockroachDB 클러스터를 초기화합니다. 프로세스가 완료되면

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.