메뉴 닫기

CEPH Nautilus 구성 및 설치

“시작하며”


Ceph 는 SDS서비스를 제공하는 솔루션으로 오픈소스 소프트웨어이며, Ceph Block Device 서비스, Ceph FileSystem,Ceph Object Storage 서비스 서비스를 제공합니다.

이 포스팅은 CEPH Nautilus구성 및 설치하는 방법에 대해 설명합니다.

[개  요]

✅ 종    류 : 프로그램/툴 설치

✅ 난이도 : ⭐

✅ 내용요약 : CEPH Nautilus구성 및 설치하는 방법에 대한 설명

✅ 테스트환경 : CentOS 7

✅ 관련직무 : 시스템&클라우드 엔지니어

[기초이론&용어설명]

[관련 기술자료]

 

1.CEPH 서버 구성과 사전작업


1️⃣ CEPH 서버 구성

서버 구성은 CentOS 7 으로 총 4대 + 테스트 서버 1대로 구성하였습니다.
■ mgmt
■ osd-0 [ 추가 디스크 ]
■ osd-1 [ 추가 디스크 ]
■ mon-0
■ 테스트 서버

2️⃣CEPH 설치 전 사전 작업

지금부터 설치 하는 모든 작업은 구성한 4대에 동일하게 진행하여야 합니다.

1) nautilus repo 추가

# echo ‘[ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-nautilus/el7/$basearch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/SRPMS
enabled=0
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc ‘ > /etc/yum.repos.d/ceph.repo

 

2) 방화벽
[root@mgmt] # iptables -F
[root@mgmt] # systemctl stop firewalld
[root@mgmt] # systemctl disable firewalld
※ 방화벽을 설정하고 싶으면 해당 포트 및 아이피를 설정해야함.

3) SELINUX 해제
[root@mgmt] # vim /etc/selinux/config

4) hosts 설정
[root@mgmt] # vim /etc/hosts
각 노드들 마다 주소를 추가해줍니다.

5) ssh-keygen
[root@mgmt] # ssh-keygen

[root@mgmt] # ssh-copy-id mgmt
각 노드들을 전부 진행해야 합니다.

 

2.ceph-deploy 설치와 구동


1️⃣ ceph-deploy 설치

[root@mgmt] # yum -y install ceph-deploy

2️⃣ CEPH 관리 노드와 모니터 노드 추가 및 에러 해결

[root@mgmt] # ceph-deploy new mgmt mon-0

[에러]

[root@mgmt] # yum -y python-setuptools

[해결]

[root@mgmt] # vim ceph.conf

[global]
fsid = 489853af-41c7-47ca-a544-dd6a781b8fb4
mon_initial_members = mgmt, mon-0
mon_host = 49.247.0.35,49.247.0.40
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
mon_allow_pool_delete = true
filestore_xattr_use_omap = true
osd_pool_default_size = 2
rbd_default_features = 1
osd_journal_size = 10240
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128

[mon]
mon_host = mgmt, mon-0
mon_addr = 49.247.0.35, 49.247.0.40
auth_allow_insecure_global_id_reclaim = false
mon_clock_drift_allowed = .3
mon_clock_drift_warn_backoff = 30
mon_osd_full_ratio = .90
mon_osd_nearfull_ratio = .85
mon_osd_report_timeout = 300
debug_ms = 1
debE 2ug_mon = 20
debug_paxos = 20
debug_auth = 20

[mon.0]
host = mgmt
mon_addr = 49.247.0.35:6789

[mon.1]
host = mon-0
mon_addr = 49.247.0.40:6789

[mgr]
mgr initial modules = balancer dashboard

[mds]
mds_standby_replay = true
mds_cache_size = 250000
debug_ms = 1
debug_mds = 20
debug_journaler = 20

[mds.0]
host = mgmt

[osd.0]
host = osd-0

[osd.1]
host = osd-1

 

3️⃣ mgmt에서 설치한 ceph-deploy를 이용하여 ceph 설치 및 구동

[root@mgmt] # ceph-deploy install mgmt osd-0 osd-1 mon-0

ceph -v 를 입력하였을때 버전이 14.2.22 nautilus 로 출력되면 설치 완료
[root@mgmt] # ceph-deploy mon create-initial
ceph-mon 데몬을 초기화 및 구동을 합니다.

[root@mgmt] # ceph-deploy mds create mgmt
mgmt 서버에 ceph-mds를 추가합니다.

[root@mgmt] # ceph -s

설치및 구동이 완료되어 ceph -s를 이용하여 현재 상태를 보려고 했지만 keyring이 없다는 오류가 출력 됩니다.
각 노드들에 keyring과 ceph.conf를 ceph-deploy admin을 사용하여 배포합니다.
[root@mgmt] # ceph-deploy admin mgmt mon-0 osd-0 osd-1

배포 한 후 현재 상태를 확인해보면 osd는 추가 되어 있지 않고 HEATH_OK로 동작 중인것을 확인했습니다.
[root@mgmt] # ceph -s

4️⃣ OSD 추가

[root@mgmt] # ceph-deploy osd create –data /dev/sdb osd-0
[root@mgmt] # ceph-deploy osd create –data /dev/sdb osd-1

[root@mgmt] # ceph-deploy mgr create mgmt
[root@mgmt] # ceph -s

HEALTH_OK
osd: 2 osds: 2 up (since 3m), 2 in (since 3m)
로 출력된다면 정상입니다.

 

3.Dashboard


pool을 생성하고 관리 할 수 있으며 상태를 보기에도 편한 UI 입니다.
[root@mgmt] # yum install ceph-mgr-dashboard
[root@mgmt] # ceph mgr module enable dashboard
[root@mgmt] # ceph dashboard create-self-signed-cert

Dashboard 사용자 생성
사용법 : ceph dashboard ac-user-create [사용자계정ID] [Password] [role]

-i 옵션을 사용해서 패스워드를 암호화하라고 에러가 출력됩니다.
[해결방법]
빈 파일 생성 후 비밀번호를 삽입합니다.
[root@mgmt] # touch password.txt
[root@mgmt] # echo “test1234” >> ./password.txt
[root@mgmt] # ceph dashboard ac-user-create admin -i ./password.txt administrator

[root@mgmt] # ceph mgr services

[ mgmt주소:8443 접속화면 ]

[ 로그인 후 ]

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x