Ceph 클러스터를 구축하고 OpenStack과 연동하는 방법을 정리하였습니다. SSH 키 설정부터 Ceph 배포, OSD 추가, 풀 생성, OpenStack 서비스 연동까지의 과정을 포함합니다.
1. SSH 키 생성 및 복사
모든 Ceph 노드에서 SSH를 비밀번호 없이 접근할 수 있도록 설정합니다.
ssh-keygen -t rsa
mkdir -p /root/.ssh
echo "<복사한 공개 키>" >> /root/.ssh/authorized_keys
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
2. Cephadm 설치 및 클러스터 초기화
2.1 Cephadm 설치 (모든 노드)
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/quincy/src/cephadm/cephadm
chmod +x cephadm
./cephadm add-repo --release reef
./cephadm install
2.2 Ceph 부트스트랩
sudo cephadm bootstrap --mon-ip <MON_IP>
설치 완료 후 https://<MON_IP>:8443에서 Ceph 웹 UI 접속 가능.
3. Ceph 클러스터 구성
3.1 호스트 추가
sudo ceph orch host add <hostname> <new-host-ip>
3.2 SSH 키 복사
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph2
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph3
3.3 OSD 추가 전 디스크 초기화
sudo wipefs --all /dev/***
sudo lvremove /dev/ceph--<ID>/osd--block--<ID>
3.4 OSD 추가
ceph orch daemon add osd ceph1:/dev/sdb
ceph orch daemon add osd ceph2:/dev/sdb
ceph orch daemon add osd ceph3:/dev/sdb
3.5 클러스터 상태 확인
ceph -s
4. NTP 설정 (모든 노드)
apt install chrony
systemctl enable chrony
systemctl start chrony
5. Ceph 풀 생성
5.1 기본 풀 생성
ceph osd pool create backups 32 32
ceph osd pool set backups size 3
ceph osd pool application enable backups rbd
ceph osd pool create images 16 16
ceph osd pool set images size 3
ceph osd pool application enable images rbd
ceph osd pool create vms 32 32
ceph osd pool set vms size 3
ceph osd pool application enable vms rbd
ceph osd pool create volumes 32 32
ceph osd pool set volumes size 3
ceph osd pool application enable volumes rbd
5.2 CephFS 관련 풀 생성
ceph osd pool create cephfs_metadata 32 32
ceph osd pool set cephfs_metadata size 3
ceph osd pool application enable cephfs_metadata cephfs
ceph osd pool create cephfs_data 64 64
ceph osd pool set cephfs_data size 3
ceph osd pool application enable cephfs_data cephfs
5.3 CephFS 파일 시스템 생성
ceph fs new mycephfs cephfs_metadata cephfs_data
ceph orch apply mds mycephfs --placement=<node>
5.4 .mgr 풀 생성
ceph osd pool create .mgr 1 1
ceph osd pool set .mgr size 3
ceph osd pool application enable .mgr mgr
6. OpenStack과 Ceph 연동
OpenStack 서비스(Glance, Cinder, Nova, Manila)와 연동하기 위해 각 서비스에 대한 Ceph 키링을 생성합니다.
6.1 Glance (이미지 저장)
sudo ceph auth get-or-create client.glance mon 'allow r' osd 'allow rwx pool=images' -o /etc/ceph/ceph.client.glance.keyring
6.2 Cinder (볼륨 관리)
sudo ceph auth get-or-create client.cinder mon 'allow r' osd 'allow rwx pool=volumes' -o /etc/ceph/ceph.client.cinder.keyring
6.3 Cinder Backup
sudo ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow rwx pool=backups' -o /etc/ceph/ceph.client.cinder-backup.keyring
6.4 Nova (VM 디스크)
sudo ceph auth get-or-create client.nova mon 'allow r' osd 'allow rwx pool=vms' -o /etc/ceph/ceph.client.nova.keyring
6.5 Manila (CephFS 연동)
sudo ceph auth get-or-create client.manila mon 'allow r' osd 'allow rwx pool=cephfs_data' -o /etc/ceph/ceph.client.manila.keyring
ceph auth caps client.manila mds 'allow rw' mon 'allow r' osd 'allow rw pool=cephfs_data'
7. 요약
이 문서는 Ceph 클러스터를 구축하고 OpenStack과 연동하는 절차를 정리한 것입니다. 핵심 과정은 다음과 같습니다:
- SSH 키 설정 및 복사 → 모든 노드 간 암호 없는 접근 설정
- Cephadm 설치 및 부트스트랩 → 클러스터 초기화
- Ceph 노드 및 OSD 추가 → 디스크 초기화 후 OSD 추가
- NTP 동기화 → 모든 노드에서 시간 동기화 보장
- Ceph 풀 생성 → Glance, Cinder, Nova, Manila에 필요한 풀 설정
- CephFS 생성 및 MDS 배포 → CephFS 기반의 파일 시스템 구성
- OpenStack과 Ceph 연동 → 각 서비스에 적절한 키링 및 권한 부여
이 과정이 완료되면 OpenStack에서 Ceph 기반 스토리지를 활용할 수 있습니다.
'CLOUD' 카테고리의 다른 글
OpenStack Kolla Ansible Horizon URL 직접 접근 차단 및 정상적인 접근 방식 설정 (0) | 2025.03.05 |
---|---|
OpenStack Horizon 로그인 실패 메시지 수정 및 적용 방법 (0) | 2025.03.04 |
KOLLA ANSIBLE - 간단하게 도커 프라이빗 레지스트리 적용 시켜보기 (0) | 2025.02.05 |
VMware 인스턴스 이미지 openstack으로 마이그레이션 하기 (3) | 2024.11.05 |
OpenStack에서 magnum Fedora CoreOS 컨테이너 이미지 추가 및 메타데이터 설정 (0) | 2024.10.16 |