현재 실서비스를 사용하고 있는 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 |