YUMSERV
article thumbnail
Published 2020. 11. 13. 14:19
Ceph Nautilus 설치 BlockStorage(Ceph)
반응형

* 사전작업을 먼저 진행한 뒤에 아래와 같이 하시길 권장합니다.

[CLOUD/BlockStorage(Ceph)] - CEPH 설치 전 사전작업


* 구성은 이렇습니다.

CENTOS 7 환경 4대 서버를 구성하며,

Node 1 : mgmt, mon0, mgr, mds데몬 실행

Node 2 : mon1

Node 3 : osd0 ( 추가디스크 1개 )

Node 4 : osd1 ( 추가디스크 1개 )


1. nautilus 패키지 설치

# 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. MGMT 서버에서 ceph-deploy 설치 진행, ceph-deploy를 이용해서 설치합니다.

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

[root@mgmt ~]# ceph-deploy new mgmt mon0

[root@mgmt ~]# ceph-deploy install mgmt mon0 osd0 osd1


ceph.conf 파일 수정

[root@mgmt ~]# cat ceph.conf

[global]

fsid = 920e93dd-bbc6-4b5e-9ef2-dfba936d312b

mon_initial_members = mgmt, mon0

mon_host = 10.4.0.12,10.4.0.14

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx


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, mon0

mon_addr = 10.4.0.12,10.4.0.14

mon_clock_drift_allowed = .3

mon_clock_drift_warn_backoff = 30    # Tell the monitor to backoff from this warning for 30 seconds

mon_osd_full_ratio = .90

mon_osd_nearfull_ratio = .85

mon_osd_report_timeout = 300

debug_ms = 1

debug_mon = 20

debug_paxos = 20

debug_auth = 20


[mon.0]

host = mgmt

mon_addr = 10.4.0.12:6789


[mon.1]

host = mon0

mon_addr = 10.4.0.14: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 = osd0


[osd.1]

host = osd1


[root@mgmt ~]# ceph-deploy --overwrite-conf mon create-initial 

[root@mgmt ~]# ceph-deploy mon create mgmt mon0

[root@mgmt ~]# ceph-deploy gatherkeys mgmt mon0

[root@mgmt ~]# ceph-deploy mds create mgmt


OSD가 추가가 되지 않았기 때문에 현재 상태는 아래와 같이 뜨게 됩니다.

[root@mgmt ~]# ceph -s

[errno 2] error connecting to the cluster



3. OSD 추가

[root@mgmt ~]# ceph-deploy osd create --data /dev/vdb osd0

[root@mgmt ~]# ceph-deploy osd create --data /dev/vdb osd1

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

[root@mgmt ~]# ceph-deploy admin mgmt mon0 osd0 osd1


OSD 추가 후, 상태값을 보게 되면 아래과 같이 뜨게 됩니다.

[root@mgmt ~]# ceph -s

  cluster:

    id:     920e93dd-bbc6-4b5e-9ef2-dfba936d312b

    health: HEALTH_OK

 

  services:

    mon: 2 daemons, quorum mgmt,mon0 (age 6m)

    mgr: mgmt(active, since 63s)

    mds:  1 up:standby

    osd: 2 osds: 2 up (since 89s), 2 in (since 89s)

 

  data:

    pools:   0 pools, 0 pgs

    objects: 0 objects, 0 B

    usage:   2.0 GiB used, 58 GiB / 60 GiB avail

    pgs:     

 


4. DashBoard 설치

기존 사용하던 Dashboard 형태와는 다른 형태로 UI 환경도 변경되었으며, Nautilus 이후로 pool을 생성하는 등 작업을 수행할 수 있습니다. 


[root@mgmt ~]# yum install ceph-mgr-dashboard

[root@mgmt ~]# ceph mgr module enable dashboard 

[root@mgmt ~]# ceph dashboard create-self-signed-cert 

Self-signed certificate created


Dashboard 사용자 생성

[root@mgmt ~]#  ceph dashboard ac-user-create [사용자계정ID] [Password] [role]


예시)

[root@mgmt ~]#  ceph dashboard ac-user-create admin test1234 administrator

{"username": "admin", "lastUpdate": 1605242275, "name": null, "roles": ["administrator"], "password": "$2b$12$VOOkqIcoHeuz4bCui4yAyu7a7fCYP2t1Cn2NvTQeNf5mfbWwnLgXm", "email": null}


[root@mgmt ~]# ceph mgr services

{

    "dashboard": "https://mgmt:8443/"

}


접속하면 안전하지 않는 페이지라고 뜨게되며, Dashboard 페이지가 뜹니당


로그인 후 접속하게 되면 Dashboard가 뜨게 되며, 현재 상태값과, 설정등을 쉽게 할 수 있습니다.


대시보드 설정 시, 권한으로 pool 이 생성이 가능한 부분이 있어, 보안적으로 안전하게 설정해야 합니다.


1. IPTABLES 설정. (접근가능한 ip로만 8443 포트 허용해줄것)

2. user 생성 시 administrator 권한이 아닌, read_only 권한으로 주고, admin 계정에 대한 권한은 삭제할 것.


* Dashboard 설정에 대한 내용 참고

https://documentation.suse.com/ses/6/html/ses-all/ceph-dashboard.html

반응형
profile

YUMSERV

@lena04301

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!