10.4. Ceph Storage 노드에서 OSD 제거
다음 절차에서는 노드에서 OSD를 제거하는 방법을 설명합니다. 환경에 대해 다음과 같이 가정합니다.
-
서버(
ceph-storage0)에는/dev/sde에서 실행되는 OSD(ceph-osd@4)가 있습니다. -
Ceph 모니터 서비스(
ceph-mon)가controller0에서 실행되고 있습니다. - 스토리지 클러스터가 거의 완전한 비율이 아닌지 확인하는 데 사용 가능한 OSD가 충분히 있습니다.
Ceph OSD에 대한 자세한 내용은 Red Hat Ceph Storage Operations Guide 의 Ceph OSD 를 참조하십시오.
절차
-
ceph-storage0에 SSH로 연결하고root로 로그인합니다. OSD 서비스를 비활성화하고 중지합니다.
systemctl disable ceph-osd@4 systemctl stop ceph-osd@4
[root@ceph-storage0 ~]# systemctl disable ceph-osd@4 [root@ceph-stoarge0 ~]# systemctl stop ceph-osd@4Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-storage0에서 연결을 끊습니다. -
controller0에 SSH로 연결하고root로 로그인합니다. Ceph 모니터 컨테이너의 이름을 확인합니다.
docker ps | grep ceph-mon ceph-mon-controller0
[root@controller0 ~]# docker ps | grep ceph-mon ceph-mon-controller0 [root@controller0 ~]#Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 모니터 컨테이너에서 원하지 않는 OSD를
밖으로 표시하도록 활성화합니다.docker exec ceph-mon-controller0 ceph osd out 4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd out 4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령을 사용하면 Ceph가 스토리지 클러스터를 재조정하고 클러스터의 다른 OSD에 데이터를 복사합니다. 클러스터는 리밸런싱이 완료될 때까지
활성+clean상태를 일시적으로 유지합니다.다음 명령을 실행하고 스토리지 클러스터 상태가
active+clean이 될 때까지 기다립니다.docker exec ceph-mon-controller0 ceph -w
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow CRUSH 맵에서 OSD를 제거하여 더 이상 데이터를 수신하지 않도록 합니다.
docker exec ceph-mon-controller0 ceph osd crush remove osd.4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd crush remove osd.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 인증 키를 제거합니다.
docker exec ceph-mon-controller0 ceph auth del osd.4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph auth del osd.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 제거합니다.
docker exec ceph-mon-controller0 ceph osd rm 4
[root@controller0 ~]# docker exec ceph-mon-controller0 ceph osd rm 4Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
controller0에서 연결을 해제합니다. -
stack사용자로 언더클라우드에 SSH로 연결하고CephAnsibleDisksConfig매개변수를 정의한 heat 환경 파일을 찾습니다. heat 템플릿에는 4개의 OSD가 포함되어 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 템플릿을 수정하여
/dev/sde를 제거합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack overcloud deploy를 실행하여 오버클라우드를 업데이트합니다.참고이 예에서는 OSD가 있는 모든 호스트에서
/dev/sde장치를 제거했다고 가정합니다. 모든 노드에서 동일한 장치를 제거하지 않으면 표시된 대로 heat 템플릿을 업데이트하고 다른장치목록으로 호스트를 정의하는 방법에 대한 정보는 5.2.5절. “디스크 레이아웃을 비Homogeneous Ceph Storage 노드에 매핑” 를 참조하십시오.