YUMSERV
Published 2020. 6. 29. 16:31
CEPH OSD 제거 BlockStorage(Ceph)
반응형

현재 실서비스를 사용하고 있는 CEPH내에서 OSD를 제거한다는 것은 매우 위험한 경우입니다.

제거를 하기 전 osd쪽에 데이터가 남아있는 상황이라면 깨질 수도 있는 위험성이 큰 작업입니다.


저의 경우, 아래 내용은 테스트의 결과이지만, 실 사용시 한개의 OSD가 문제가 생겨 제거하고 다시 설치하는 작업을 진행하였습니다. 다시 설치하고 진행하는 과정에서 데이터의 손실이 났었습니다.

해당 작업을 실서비스에서 제거하신다면 고려하신다음에 아래 작업을 진행하시는 것을 추천드립니다.


현재 상태 3번이 문제된다고 판단한 다음, osd-3번을 제거하겠습니다.

[root@mon-1 ~]# ceph -s

    cluster f34c394f-8591-4d25-9a09-81c0341ce672

     health HEALTH_OK

     monmap e2: 3 mons at {mgmt=10.1.0.5:6789/0,mon-0=10.1.0.7:6789/0,mon-1=10.1.0.8:6789/0}

            election epoch 6, quorum 0,1,2 mgmt,mon-0,mon-1

     osdmap e61: 4 osds: 4 up, 4 in

            flags sortbitwise,require_jewel_osds

      pgmap v495: 64 pgs, 1 pools, 0 bytes data, 0 objects

            432 MB used, 81443 MB / 81875 MB avail

                  64 active+clean


아래 옵션을 통해 데이터가 분산되는것을 막은 다음에 진행합니다.

[root@mgmt ~]# ceph osd set nobackfill

set nobackfill

[root@mgmt ~]# ceph osd set noout

set noout

[root@mgmt ~]# ceph osd set norecover

set norecover

[root@mgmt ~]# ceph osd set norebalance

set norebalance


[root@mon-1 ~]# ceph -s

    cluster f34c394f-8591-4d25-9a09-81c0341ce672

     health HEALTH_WARN

            noout,nobackfill,norebalance,norecover flag(s) set

     monmap e2: 3 mons at {mgmt=10.1.0.5:6789/0,mon-0=10.1.0.7:6789/0,mon-1=10.1.0.8:6789/0}

            election epoch 6, quorum 0,1,2 mgmt,mon-0,mon-1

     osdmap e65: 4 osds: 4 up, 4 in

            flags noout,nobackfill,norebalance,norecover,sortbitwise,require_jewel_osds

      pgmap v502: 64 pgs, 1 pools, 0 bytes data, 0 objects

            433 MB used, 81442 MB / 81875 MB avail

                  64 active+clean


OSD-3번에서 ceph-osd 데몬을 중지시킵니다.

[root@osd-3 ~]# systemctl stop ceph-osd@3.service


MGMT 서버에서 ceph.conf 파일 내에 osd-3 내용을 삭제합니다.

# vi /etc/ceph/ceph.conf

[osd.3]

host = osd-3


[root@mon-0 ~]# ceph osd tree

ID  WEIGHT  TYPE NAME             UP/DOWN REWEIGHT PRIMARY-AFFINITY 

 -1 0.11400 root default                                            

-10 0.11400     root ssd                                            

-11 0.01900         ssd_osd osd-0                                   

  0 0.01900             osd.0          up  1.00000          1.00000 

-12 0.01900         ssd_osd osd-1                                   

  1 0.01900             osd.1          up  1.00000          1.00000 

-13 0.01900         ssd_osd osd-2                                   

  2 0.01900             osd.2          up  1.00000          1.00000 

-14 0.01900         ssd_osd osd-3                                   

  3 0.01900             osd.3          down  1.00000          1.00000 


crushmap에서 osd 제거

[root@mgmt ~]# ceph osd crush remove osd.3

removed item id 3 name 'osd.3' from crush map


OSD 인증키 삭제

[root@mgmt ~]# ceph auth del osd.3

updated


[root@mon-0 ~]# ceph osd tree

ID  WEIGHT  TYPE NAME             UP/DOWN REWEIGHT PRIMARY-AFFINITY 

 -1 0.05699 root default                                            

-10 0.05699     root ssd                                            

-11 0.01900         ssd_osd osd-0                                   

  0 0.01900             osd.0          up  1.00000          1.00000 

-12 0.01900         ssd_osd osd-1                                   

  1 0.01900             osd.1          up  1.00000          1.00000 

-13 0.01900         ssd_osd osd-2                                   

  2 0.01900             osd.2          up  1.00000          1.00000 

-14       0         ssd_osd osd-3                                   

  3       0 osd.3                    down  1.00000          1.00000 


OSD 제거

[root@mgmt ~]# ceph osd rm 3

removed osd.3


[root@mon-0 ~]# ceph osd tree

ID  WEIGHT  TYPE NAME             UP/DOWN REWEIGHT PRIMARY-AFFINITY 

 -1 0.05699 root default                                            

-10 0.05699     root ssd                                            

-11 0.01900         ssd_osd osd-0                                   

  0 0.01900             osd.0          up  1.00000          1.00000 

-12 0.01900         ssd_osd osd-1                                   

  1 0.01900             osd.1          up  1.00000          1.00000 

-13 0.01900         ssd_osd osd-2                                   

  2 0.01900             osd.2          up  1.00000          1.00000 

-14       0         ssd_osd osd-3                                   


crushmap에 남아있는 osd-3 제거                               

[root@mon-0 ~]# ceph osd crush rm osd-3

removed item id -14 name 'osd-3' from crush map


[root@mon-0 ~]# ceph osd tree

ID  WEIGHT  TYPE NAME             UP/DOWN REWEIGHT PRIMARY-AFFINITY 

 -1 0.05699 root default                                            

-10 0.05699     root ssd                                            

-11 0.01900         ssd_osd osd-0                                   

  0 0.01900             osd.0          up  1.00000          1.00000 

-12 0.01900         ssd_osd osd-1                                   

  1 0.01900             osd.1          up  1.00000          1.00000 

-13 0.01900         ssd_osd osd-2                                   

  2 0.01900             osd.2          up  1.00000          1.00000 



반응형

'BlockStorage(Ceph)' 카테고리의 다른 글

[WARN]Ceph Monitor Clock Skew detected  (0) 2020.06.30
Ceph OSD 리부팅  (0) 2020.06.30
CEPH MON 추가(수동)  (0) 2020.06.27
CRUSHMAP 수동으로 설정 변경  (0) 2020.06.08
CEPH pool, crush rule, bucket 생성  (0) 2020.06.08
profile

YUMSERV

@lena04301

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