일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- nmcli
- DELL N Switch
- eql
- 갤럭시 피시본
- packstack
- rbd mapping
- WebConsole
- GDisk
- cockpit
- cephadm 배포
- cephadm
- 갤럭시
- centos7
- ceph 테스트 환경
- bonding
- OpenStack
- parted
- 레펜타
- centos 7
- firewalld
- Local Repository
- VMWare
- 17.2.8
- 샤샤자
- Windows NTP
- yum
- CRS #레드비
- centos8
- selinux
- Today
- Total
딜미의 잡다한 IT 이야기...
2025년 Ceph 구성 및 HA 테스트 과정 기록 #1 Cephadm 배포(Ubuntu 22.04) 본문
최근 Ceph 배포 방법은 Cephadm이라는 컨테이너 기반의 배포방식이 선호되고 있어 해당 방식의 Ceph 배포 및 구성을 진행해봄
물리서버로 구성하면 좋겠으나 현실적으로 물리서버 3개를 준비하는데 어려움이 있어 가상화 서버에 가상머신으로 생성하여 구성
아래와 같이 가상머신 생성
CPU * 4core
MEM 8GB
OS 50G
OSD 50G * 2EA
NET Public 192.168.1.x/22
Cluster 10.10.10.x/24
동일 스펙으로 3개의 노드 생성 각 노드명은 ceph-node1,ceph-node2,ceph-node3
1. OS 기본 설치에 Ceph 설정이 기본으로 설치되어 있어서 기존 구성 삭제 작업이 필요함(모든노드)
sudo apt remove --purge ceph ceph-common cephadm ceph-base -y
sudo apt autoremove -y
sudo apt autoclean
2. Ceph 유저 삭제(모든노드)
sudo userdel -r ceph
3. Ceph 관련 디렉토리 삭제(모든노드)
sudo rm -rf /var/lib/ceph /etc/ceph /var/log/ceph
4. 삭제 확인 메시지 출력(모든노드)
dpkg -l | grep ceph
getent passwd ceph
* 두 명령어 실행시 아무것도 출력되지 않아야함
5. Ceph 유저 생성(모든노드)
sudo useradd -m -s /bin/bash ceph
sudo passwd ceph
sudo usermod -aG sudo ceph
6. /etc/hosts 에 노드 정보 입력(모든노드)
sudo nano /etc/hosts
10.10.10.1 ceph-node1
10.10.10.2 ceph-node2
10.10.10.3 ceph-node3
7. 기존 Docker 삭제 후 재설치(모든노드)
sudo apt remove --purge -y docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /var/run/docker.sock
sudo apt autoremove -y
sudo apt autoclean
docker --version(출력 내용이 없어야함)
서버 재시작
Docker재설치
sudo apt install -y ca-certificates curl gnupg
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
cat /etc/apt/sources.list.d/docker.list(APT 소스 리스트 확인)
sudo apt update(오류없이 실행되야함)
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
docker --version(버전이 출력되야함)
8. 시스템 업데이트 및 필수 패키지 설치(모든노드)
sudo apt update && sudo apt upgrade -y
sudo apt install -y chrony lvm2 curl software-properties-common
9. SSH 설정 및 비밀번호 없는 로그인
sudo ssh-keygen -t rsa -b 4096
Enter로 끝까지 생성
sudo nano /etc/ssh/sshd_config
PermitRootLogin yes 로 변경(ssh root접속 가능)
systemctl restart sshd
노드에 ssh 정보 복사
sudo ssh-copy-id ceph-node1
ssh-copy-id ceph-node2
ssh-copy-id ceph-node3
10. Ubuntu 22.04의 패키지 관리자(apt)를 통해 cephadm을 설치(모든노드)
sudo apt install -y cephadm
11. Ceph 클러스터 부트스트랩 (ceph-node1에서 실행)
sudo cephadm bootstrap --mon-ip 192.168.1.115 --cluster-network 10.10.10.0/24 --initial-dashboard-user admin --initial-dashboard-password admin
초기 노드 생성 시 만들어 놓은 cluster 대역 선언이 필요, ID admin, PW admin으로 배포 후 처음 접속해서 PW 변경
해당 명령어로 모니터링 사이트 선언 후 해당 모니터링 사이트 IP로 접속하면 Ceph 관리 페이지 접속됨
12. root 계정에서 ceph 경로 등록 필요(ceph-node1에서 실행)
echo "alias ceph='sudo cephadm shell -- ceph'" >> ~/.bashrc
source ~/.bashrc
경로 등록이 완료되면 ceph 명령어 실행이 가능
13. 네트워크 설정 확인(ceph-node1에서 실행)
ceph config get mon public_network
ceph config get osd cluster_network
ceph 명령어로 구성된 네트워크 정보 확인
출력결과
root@ceph-node1:~# ceph config get mon public_network
Inferring fsid 73dad38a-03c7-11f0-9446-dd20bf3b7dfa
Inferring config /var/lib/ceph/73dad38a-03c7-11f0-9446-dd20bf3b7dfa/mon.ceph-node1/config
Using ceph image with id '259b35566514' and tag 'v17' created on 2024-11-26 00:45:38 +0000 UTC
quay.io/ceph/ceph@sha256:a0f373aaaf5a5ca5c4379c09da24c771b8266a09dc9e2181f90eacf423d7326f
192.168.0.0/22
root@ceph-node1:~# ceph config get osd cluster_network
Inferring fsid 73dad38a-03c7-11f0-9446-dd20bf3b7dfa
Inferring config /var/lib/ceph/73dad38a-03c7-11f0-9446-dd20bf3b7dfa/mon.ceph-node1/config
Using ceph image with id '259b35566514' and tag 'v17' created on 2024-11-26 00:45:38 +0000 UTC
quay.io/ceph/ceph@sha256:a0f373aaaf5a5ca5c4379c09da24c771b8266a09dc9e2181f90eacf423d7326f
10.10.10.0/24
14. 노드 클러스터에 등록(ceph-node1에서 실행 및 root로 실행필요)
ceph orch host add ceph-node1
ceph orch host add ceph-node2
ceph orch host add ceph-node3
클러스터에 노드 등록 작업 진행 만약 노드 등록진행 중 권한 관련 에러 발생 시 아래의 방법 사용(root에서 등록)
ssh-copy-id -f -i /etc/ceph/ceph.pub <호스트 이름>
ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-node1
ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-node2
ssh-copy-id -f -i /etc/ceph/ceph.pub ceph-node3
15. 노드에 Mon, Mgr, Mds 역할 부여
Mon
ceph orch apply mon --placement="ceph-node1,ceph-node2,ceph-node3"
Mgr
ceph orch apply mgr --placement="ceph-node1,ceph-node2,ceph-node3"
Mds
ceph orch apply mds pool --placement="ceph-node1,ceph-node2,ceph-node3"
모든 노드에 동일 권한 부여 해당 권한은 실제 서비스 시 가감하여 사용
16. OSD로 사용할 디스크 등록
ceph orch daemon add osd ceph-node1:/dev/sdb
ceph orch daemon add osd ceph-node1:/dev/sdc
ceph orch daemon add osd ceph-node2:/dev/sdb
ceph orch daemon add osd ceph-node2:/dev/sdc
ceph orch daemon add osd ceph-node3:/dev/sdb
ceph orch daemon add osd ceph-node3:/dev/sdc
가상머신(노드)생성 시 노드당 50GB * 2EA 생성한 디스크를 OSD로 선언
실제 서비스 시에는 OS는 SSD OSD 영역은 NVMe사용이 권장
ceph -s 명령어 or 11번에서 선언한 모니터링 사이트에서 상태확인
root@ceph-node1:~# ceph -s
Inferring fsid bb0ab296-0473-11f0-bcfa-6ba4b7f85658
Inferring config /var/lib/ceph/bb0ab296-0473-11f0-bcfa-6ba4b7f85658/mon.ceph-node1/config
Using ceph image with id '259b35566514' and tag 'v17' created on 2024-11-26 00:45:38 +0000 UTC
quay.io/ceph/ceph@sha256:a0f373aaaf5a5ca5c4379c09da24c771b8266a09dc9e2181f90eacf423d7326f
cluster:
id: bb0ab296-0473-11f0-bcfa-6ba4b7f85658
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph-node1,ceph-node2,ceph-node3 (age 24h)
mgr: ceph-node2.azucaz(active, since 4d), standbys: ceph-node3.lwspwv, ceph-node1.gcboqu
osd: 6 osds: 6 up (since 4d), 6 in (since 6d)
data:
pools: 2 pools, 33 pgs
objects: 687 objects, 2.6 GiB
usage: 9.5 GiB used, 290 GiB / 300 GiB avail
pgs: 33 active+clean
'Storage > 구성자료' 카테고리의 다른 글
2025년 Ceph 구성 및 HA 테스트 과정 기록 #2 Ceph 구성 후 RBD 생성 및 클라이언트 연동 (0) | 2025.04.15 |
---|---|
Centos7에 NextCloud16 설치 하기 (0) | 2019.08.29 |
DELL PS EQL 패스워드 리셋 방법 (0) | 2017.03.29 |