이 글에서는 3대의 VM을 사용하여 Redis Cluster를 구축하는 과정을 다룹니다. Redis 설치부터 클러스터 구성, 데이터 분산 확인까지 단계별로 진행합니다.
Proxmox VE 위에 Ubuntu 24.04 VM 3대(각 4 core, 8GB RAM)로 구성하였습니다.
각 노드에 Redis를 설치합니다.
apt update && apt install -y redis-server
설치 확인:
redis-server --version
# Redis server v=7.0.15 ...
각 노드의 /etc/redis/redis.conf에서 다음 항목을 수정합니다.
bind 0.0.0.0
protected-mode no
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
| 설정 | 설명 |
|---|---|
bind 0.0.0.0 | 외부 접속 허용 (기본값은 127.0.0.1) |
protected-mode no | 비밀번호 없이 외부 접속 허용 (테스트 환경용) |
cluster-enabled yes | 클러스터 모드 활성화 |
cluster-config-file | 클러스터 노드 정보 자동 저장 파일 |
cluster-node-timeout | 노드 장애 판단 시간 (ms) |
설정 후 Redis를 재시작합니다.
systemctl restart redis-server
아무 노드에서 아래 명령으로 클러스터를 생성합니다.
redis-cli --cluster create <node1-ip>:6379 <node2-ip>:6379 <node3-ip>:6379 --cluster-yes
성공하면 16384개의 해시 슬롯이 3개 노드에 균등 분배됩니다.
Master[0] -> Slots 0 - 5460 (5461 slots)
Master[1] -> Slots 5461 - 10922 (5462 slots)
Master[2] -> Slots 10923 - 16383 (5461 slots)
[OK] All 16384 slots covered.
클러스터 모드에서는 -c 옵션을 사용하여 접속합니다.
redis-cli -c SET user:1 'Alice'
redis-cli -c SET user:2 'Bob'
redis-cli -c SET order:100 'item-a'
각 키가 어느 슬롯에 배정되었는지 확인할 수 있습니다.
redis-cli CLUSTER KEYSLOT user:1
# (integer) 10778