1.2. Ceph 모니터
Ceph 모니터는 스토리지 클러스터 맵의 마스터 복사본을 유지하는 경량 프로세스입니다. 모든 Ceph 클라이언트가 Ceph에 접속하여 스토리지 클러스터 맵의 현재 사본을 검색하여 클라이언트가 풀에 바인딩하고 데이터를 읽고 쓸 수 있습니다.
Ceph 모니터는 Paxos 프로토콜의 변형을 사용하여 맵과 스토리지 클러스터 전체의 기타 중요 정보에 대한 합의점을 구축합니다. Ceph는 Paxos의 특성으로 인해 쿼럼을 설정하기 위해 대부분의 모니터를 실행해야 하므로 합의점을 설정합니다.
프로덕션 클러스터에 대한 지원을 받으려면 별도의 호스트에 3개 이상의 모니터가 필요합니다.
홀수의 모니터 배포를 권장합니다. 홀수의 Ceph 모니터는 심지어 모니터 수보다 실패 가능성이 높습니다. 예를 들어, 2개 모니터 배포에서 쿼럼을 유지 관리하기 위해 Ceph는 3개의 모니터, 1개의 모니터, 1개의 모니터, 5개의 모니터가 있는 2개의 오류를 허용할 수 없습니다. 따라서 홀수의 숫자를 사용하는 것이 좋습니다. Ceph에서는 대부분의 모니터가 실행되고 있고 서로 통신할 수 있어야 하며, 3개 중 2개, 4개 중 3개 등에서 통신할 수 있어야 합니다.
멀티 노드 Ceph 스토리지 클러스터의 초기 배포를 위해 Red Hat은 세 개 이상의 모니터가 있는 경우 한 번에 2개 이상의 모니터를 늘려야 합니다.
Ceph 모니터는 경량이므로 OpenStack 노드와 동일한 호스트에서 실행할 수 있습니다. 그러나 Red Hat은 별도의 호스트에서 모니터를 실행하는 것이 좋습니다.
Red Hat은 동일한 노드에서 Ceph 모니터 및 OSD의 배치를 지원하지 않습니다. 이렇게 하면 스토리지 클러스터 성능에 부정적인 영향을 미칠 수 있습니다.
Red Hat은 컨테이너화된 환경에서 Ceph 서비스를 조합하여만 지원합니다.
스토리지 클러스터에서 모니터를 제거하면 Ceph 모니터가 Paxos 프로토콜을 사용하여 마스터 스토리지 클러스터 맵에 대한 합의점을 설정한다고 고려하십시오. 쿼럼을 설정하기 위해 충분한 수의 Ceph 모니터가 있어야 합니다.
추가 리소스
- 지원되는 모든 Ceph 구성은 Red Hat Ceph Storage 지원 구성 지식 베이스 문서를 참조하십시오.
1.2.1. 새 Ceph Monitor 노드 준비 링크 복사링크가 클립보드에 복사되었습니다!
배포를 위해 새 Ceph 모니터 노드를 준비하기 전에 Red Hat Ceph Storage 설치 가이드의 Red Hat Ceph Storage 설치 요구 사항 장을 검토하십시오.
각 새 Ceph Monitor를 별도의 노드에 배포하고 스토리지 클러스터의 모든 Ceph Monitor 노드는 동일한 하드웨어에서 실행해야 합니다.
사전 요구 사항
- 네트워크 연결.
- 새 노드에 대한 루트 수준의 액세스.
절차
- 새 노드를 서버 랙에 추가합니다.
- 새 노드를 네트워크에 연결합니다.
최신 버전의 Red Hat Enterprise Linux 7 또는 Red Hat Enterprise Linux 8을 설치합니다.
Red Hat Enterprise Linux 7의 경우
ntp를 설치하고 안정적인 시간 소스를 설정합니다.yum install ntp
[root@mon ~]# yum install ntpCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8의 경우
chrony를 설치하고 안정적인 시간 소스를 구성합니다.dnf install chrony
[root@mon ~]# dnf install chronyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
방화벽을 사용하는 경우 TCP 포트 6789를 엽니다.
firewall-cmd --zone=public --add-port=6789/tcp firewall-cmd --zone=public --add-port=6789/tcp --permanent
[root@mon ~]# firewall-cmd --zone=public --add-port=6789/tcp [root@mon ~]# firewall-cmd --zone=public --add-port=6789/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
-
chrony에 대한 자세한 내용은 Red Hat Enterprise Linux 8 기본 시스템 설정 구성 을 참조하십시오.
1.2.2. Ansible을 사용하여 Ceph 모니터 추가 링크 복사링크가 클립보드에 복사되었습니다!
홀수의 모니터를 유지하기 위해 한 번에 두 개의 Ceph 모니터를 추가할 것을 권장합니다. 예를 들어 스토리지 클러스터에 3개의 Ceph 모니터가 있는 경우 모니터 수를 5개로 확장하는 것이 좋습니다.
사전 요구 사항
- 새 노드에 대한 루트 수준의 액세스.
- Ansible 관리 노드.
- Ansible에서 배포한 실행 중인 Red Hat Ceph Storage 클러스터.
절차
[mons]섹션의/etc/ansible/hostsAnsible 인벤토리 파일에 새 Ceph Monitor 노드를 추가합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible이 Ceph 노드에 연결할 수 있는지 확인합니다.
ansible all -m ping
[root@admin ~]# ansible all -m pingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 디렉터리를 Ansible 구성 디렉터리로 변경합니다.
cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 단계 중 하나를 사용하여 Ceph Monitor를 추가할 수 있습니다.
베어 메탈 및 컨테이너 배포 모두
infrastructure-playbook을 실행합니다.ansible-playbook -vvvv -i hosts infrastructure-playbooks/add-mon.yml
[root@admin ceph-ansible]# ansible-playbook -vvvv -i hosts infrastructure-playbooks/add-mon.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible 사용자로 사이트 플레이북 또는
플레이북을 실행합니다.site-container베어 메탈 배포:
예제
ansible-playbook -vvvv -i hosts site.yml --limit mons
[ansible@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts site.yml --limit monsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 배포:
예제
ansible-playbook -vvvv -i hosts site-container.yml --limit mons
[ansible@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts site-container.yml --limit monsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 플레이북이 실행을 완료하고 나면 새 Ceph Monitor 노드가 스토리지 클러스터에 표시됩니다.
구성 파일을 업데이트합니다.
베어 메탈 배포:
예제
ansible-playbook -vvvv -i hosts site.yml --tags ceph_update_config
[user@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts site.yml --tags ceph_update_configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 배포:
예제
ansible-playbook -vvvv -i hosts site-container.yml --tags ceph_update_config
[user@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts site-container.yml --tags ceph_update_configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. 명령줄 인터페이스를 사용하여 Ceph Monitor 추가 링크 복사링크가 클립보드에 복사되었습니다!
홀수의 모니터를 유지하기 위해 한 번에 두 개의 Ceph 모니터를 추가할 것을 권장합니다. 예를 들어 스토리지 클러스터에 3개의 Ceph 모니터가 있는 경우 모니터 수를 5개로 확장하는 것이 좋습니다.
노드당 하나의 Ceph Monitor 데몬만 실행하는 것이 좋습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph Monitor 노드와 새 모니터 노드에 대한 루트 수준의 액세스.
절차
Red Hat Ceph Storage 4 모니터 리포지토리를 추가합니다.
Red Hat Enterprise Linux 7
subscription-manager repos --enable=rhel-7-server-rhceph-4-mon-rpms
[root@mon ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-mon-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-4-mon-for-rhel-8-x86_64-rpms
[root@mon ~]# subscription-manager repos --enable=rhceph-4-mon-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 Ceph Monitor 노드에
ceph-mon패키지를 설치합니다.Red Hat Enterprise Linux 7
yum install ceph-mon
[root@mon ~]# yum install ceph-monCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8
dnf install ceph-mon
[root@mon ~]# dnf install ceph-monCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에서 실행 중인 노드에서 Ceph 구성 파일의
[mon]섹션에서mon_host설정 목록을 편집합니다.새 Ceph Monitor 노드의 IP 주소를
mon_host설정 목록에 추가합니다.구문
[mon] mon_host = MONITOR_IP : PORT MONITOR_IP : PORT ... NEW_MONITOR_IP : PORT
[mon] mon_host = MONITOR_IP : PORT MONITOR_IP : PORT ... NEW_MONITOR_IP : PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 Ceph 모니터의 IP 주소를 Ceph 구성 파일의 [mon] 섹션에 추가하는 대신 새 모니터 노드에 대해 파일에 특정 섹션을 생성할 수 있습니다.
구문
[mon.MONITOR_ID] host = MONITOR_ID mon_addr = MONITOR_IP
[mon.MONITOR_ID] host = MONITOR_ID mon_addr = MONITOR_IPCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고mon_host설정 목록은 DNS에서 확인할 수 있는 호스트 이름 또는 IP 주소 목록입니다. "" 또는 ";" 또는 "". 이 목록을 사용하면 스토리지 클러스터가 시작 또는 재시작 중에 새 Monitor 노드를 확인할 수 있습니다.중요mon_initial_members설정은 Ceph Monitor 노드의 초기 쿼럼 그룹을 나열합니다. 해당 그룹의 한 멤버가 실패하면 해당 그룹의 다른 노드가 초기 모니터 노드가 됩니다. 프로덕션 스토리지 클러스터의 고가용성을 보장하기 위해 Ceph 구성 파일의mon_initial_members 및섹션에 3개 이상의 모니터 노드를 나열합니다. 이렇게 하면 초기 모니터 노드가 실패하면 스토리지 클러스터가 잠기지 않습니다. 추가하는 모니터 노드는mon_hostmon_initial_members 및의 일부인 모니터를 대체하는 경우 두 섹션에 새 모니터를 추가합니다.mon_host
모니터가 초기 쿼럼 그룹의 일부를 만들려면 Ceph 구성 파일의
[global]섹션에 있는mon_initial_members매개 변수에 호스트 이름을 추가합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업데이트된 Ceph 구성 파일을 모든 Ceph 노드 및 Ceph 클라이언트에 복사합니다.
구문
scp /etc/ceph/CLUSTER_NAME.conf TARGET_NODE_NAME:/etc/ceph
scp /etc/ceph/CLUSTER_NAME.conf TARGET_NODE_NAME:/etc/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /etc/ceph/ceph.conf node4:/etc/ceph
[root@mon ~]# scp /etc/ceph/ceph.conf node4:/etc/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 모니터 노드에 모니터의 데이터 디렉터리를 생성합니다.
구문
mkdir /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_ID
mkdir /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
mkdir /var/lib/ceph/mon/ceph-node4
[root@mon ~]# mkdir /var/lib/ceph/mon/ceph-node4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실행 중인 Ceph Monitor 노드와 새 모니터 노드에 임시 디렉터리를 생성하고 해당 디렉터리에서 이 프로세스에 필요한 파일을 유지합니다. 각 노드의 임시 디렉터리는 노드의 기본 디렉터리와 달라야 합니다. 모든 단계가 완료된 후 제거할 수 있습니다.
구문
mkdir TEMP_DIRECTORY_PATH_NAME
mkdir TEMP_DIRECTORY_PATH_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
mkdir /tmp/ceph
[root@mon ~]# mkdir /tmp/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph명령을 실행할 수 있도록 실행 중인 Ceph Monitor 노드에서 새 Ceph Monitor 노드로 관리 키를 복사합니다.구문
scp /etc/ceph/CLUSTER_NAME.client.admin.keyring TARGET_NODE_NAME:/etc/ceph
scp /etc/ceph/CLUSTER_NAME.client.admin.keyring TARGET_NODE_NAME:/etc/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /etc/ceph/ceph.client.admin.keyring node4:/etc/ceph
[root@mon ~]# scp /etc/ceph/ceph.client.admin.keyring node4:/etc/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실행 중인 Ceph Monitor 노드에서 monitor 인증 키를 검색합니다.
구문
ceph auth get mon. -o TEMP_DIRECTORY_PATH_NAME/KEY_FILE_NAME
ceph auth get mon. -o TEMP_DIRECTORY_PATH_NAME/KEY_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph auth get mon. -o /tmp/ceph/ceph_keyring.out
[root@mon ~]# ceph auth get mon. -o /tmp/ceph/ceph_keyring.outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실행 중인 Ceph Monitor 노드에서 모니터 맵을 검색합니다.
구문
ceph mon getmap -o TEMP_DIRECTORY_PATH_NAME/MONITOR_MAP_FILE
ceph mon getmap -o TEMP_DIRECTORY_PATH_NAME/MONITOR_MAP_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph mon getmap -o /tmp/ceph/ceph_mon_map.out
[root@mon ~]# ceph mon getmap -o /tmp/ceph/ceph_mon_map.outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 수집된 Ceph Monitor 데이터를 새 Ceph Monitor 노드에 복사합니다.
구문
scp /tmp/ceph TARGET_NODE_NAME:/tmp/ceph
scp /tmp/ceph TARGET_NODE_NAME:/tmp/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /tmp/ceph node4:/tmp/ceph
[root@mon ~]# scp /tmp/ceph node4:/tmp/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이전에 수집한 데이터에서 새 모니터를 위해 데이터 디렉터리를 준비합니다. 모니터에서 쿼럼 정보를 검색하는 모니터의 경로를 'fsid's와 함께 지정합니다. 모니터 인증 키의 경로를 지정합니다.
구문
ceph-mon -i MONITOR_ID --mkfs --monmap TEMP_DIRECTORY_PATH_NAME/MONITOR_MAP_FILE --keyring TEMP_DIRECTORY_PATH_NAME/KEY_FILE_NAME
ceph-mon -i MONITOR_ID --mkfs --monmap TEMP_DIRECTORY_PATH_NAME/MONITOR_MAP_FILE --keyring TEMP_DIRECTORY_PATH_NAME/KEY_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph-mon -i node4 --mkfs --monmap /tmp/ceph/ceph_mon_map.out --keyring /tmp/ceph/ceph_keyring.out
[root@mon ~]# ceph-mon -i node4 --mkfs --monmap /tmp/ceph/ceph_mon_map.out --keyring /tmp/ceph/ceph_keyring.outCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 이름이 있는 스토리지 클러스터의 경우
/etc/sysconfig/ceph파일에 다음 행을 추가합니다.구문
echo "CLUSTER=CUSTOM_CLUSTER_NAME" >> /etc/sysconfig/ceph
echo "CLUSTER=CUSTOM_CLUSTER_NAME" >> /etc/sysconfig/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
echo "CLUSTER=example" >> /etc/sysconfig/ceph
[root@mon ~]# echo "CLUSTER=example" >> /etc/sysconfig/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 모니터 노드에서 소유자 및 그룹 권한을 업데이트합니다.
구문
chown -R OWNER : GROUP DIRECTORY_PATH
chown -R OWNER : GROUP DIRECTORY_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
chown -R ceph:ceph /var/lib/ceph/mon chown -R ceph:ceph /var/log/ceph chown -R ceph:ceph /var/run/ceph chown -R ceph:ceph /etc/ceph
[root@mon ~]# chown -R ceph:ceph /var/lib/ceph/mon [root@mon ~]# chown -R ceph:ceph /var/log/ceph [root@mon ~]# chown -R ceph:ceph /var/run/ceph [root@mon ~]# chown -R ceph:ceph /etc/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새 모니터 노드에서
ceph-mon프로세스를 활성화하고 시작합니다.구문
systemctl enable ceph-mon.target systemctl enable ceph-mon@MONITOR_ID systemctl start ceph-mon@MONITOR_ID
systemctl enable ceph-mon.target systemctl enable ceph-mon@MONITOR_ID systemctl start ceph-mon@MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl enable ceph-mon.target systemctl enable ceph-mon@node4 systemctl start ceph-mon@node4
[root@mon ~]# systemctl enable ceph-mon.target [root@mon ~]# systemctl enable ceph-mon@node4 [root@mon ~]# systemctl start ceph-mon@node4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- Red Hat Ceph Storage 설치 가이드 의 Red Hat Ceph Storage 리포지토리 활성화 섹션을 참조하십시오.
1.2.4. 모니터 선택 전략 구성 링크 복사링크가 클립보드에 복사되었습니다!
모니터 선택 전략은 순 분할을 식별하고 오류를 처리합니다. 선택 모니터 전략을 세 가지 모드로 구성할 수 있습니다.
-
Classic- 가장 낮은 순위의 모니터가 두 사이트 간의 투표 모듈에 따라 투표되는 기본 모드입니다. -
Disallow - 이 모드를 사용하면 모니터를 허용하지않은 것으로 표시할 수 있습니다. 이 경우 쿼럼에 참여하고 클라이언트에 서비스를 제공하지만 선택한 리더가 될 수는 없습니다. 이를 통해 허용하지 않은 리더 목록에 모니터를 추가할 수 있습니다. 모니터가 비활성화 목록에 있으면 항상 다른 모니터로 지연됩니다. -
연결- 이 모드는 주로 네트워크 불일치를 해결하는 데 사용됩니다. 각 모니터에서 피어에 대해 제공되는 연결 점수를 평가하고 가장 연결되고 신뢰할 수 있는 모니터를 리더로 선택합니다. 이 모드는 순 분할을 처리하도록 설계되었으므로 클러스터가 여러 데이터 센터로 확장되거나 취약성이 발생할 수 있습니다. 이 모드에서는 연결 점수 등급을 통합하고 가장 좋은 점수로 모니터를 선택합니다.
다른 모드의 기능이 필요하지 않은 한, 기존의 모드를 유지할 것을 권장합니다.
클러스터를 구성하기 전에 다음 명령에서 election_strategy 를 classic , disallow 또는 connectivity 로 변경합니다.
구문
ceph mon set election_strategy {classic|disallow|connectivity}
ceph mon set election_strategy {classic|disallow|connectivity}
1.2.5. Ansible을 사용하여 Ceph 모니터 제거 링크 복사링크가 클립보드에 복사되었습니다!
Ansible을 사용하여 Ceph 모니터를 제거하려면 shrink-mon.yml 플레이북을 사용합니다.
사전 요구 사항
- Ansible 관리 노드.
- Ansible에서 배포한 실행 중인 Red Hat Ceph Storage 클러스터.
절차
모니터가
ok-to-stop인지 확인합니다.구문
ceph mon ok-to-stop MONITOR_ID
ceph mon ok-to-stop MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph mon ok-to-stop node03
[root@mon ~]# ceph mon ok-to-stop node03Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ceph-ansible/디렉토리로 변경합니다.cd /usr/share/ceph-ansible
[user@admin ~]$ cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 베어 메탈 및 컨테이너 배포의 경우
shrink-mon.ymlAnsible 플레이북을 실행합니다.구문
ansible-playbook infrastructure-playbooks/shrink-mon.yml -e mon_to_kill=NODE_NAME -u ANSIBLE_USER_NAME -i hosts
ansible-playbook infrastructure-playbooks/shrink-mon.yml -e mon_to_kill=NODE_NAME -u ANSIBLE_USER_NAME -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 교체:
-
Ceph Monitor 노드의 짧은 호스트 이름이 있는
NODE_NAME. 플레이북이 실행될 때마다 하나의 Ceph 모니터만 제거할 수 있습니다. -
Ansible 사용자의 이름이 있는
ANSIBLE_USER_NAME
예제
ansible-playbook infrastructure-playbooks/shrink-mon.yml -e mon_to_kill=node03 -u user -i hosts
[user@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mon.yml -e mon_to_kill=node03 -u user -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ceph Monitor 노드의 짧은 호스트 이름이 있는
-
ansible 인벤토리 호스트
/etc/ansible/hosts에서 해당 항목을 수동으로 제거합니다. ceph-ansible플레이북을 실행합니다.베어 메탈 배포:
예제
ansible-playbook site.yml --tags ceph_update_config -i hosts
[user@admin ceph-ansible]$ ansible-playbook site.yml --tags ceph_update_config -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 배포:
예제
ansible-playbook site-container.yml --tags ceph_update_config -i hosts
[user@admin ceph-ansible]$ ansible-playbook site-container.yml --tags ceph_update_config -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph 모니터가 성공적으로 제거되었는지 확인합니다.
ceph -s
[root@mon ~]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
- Red Hat Ceph Storage 설치에 대한 자세한 내용은 Red Hat Ceph Storage 설치 가이드를 참조하십시오.
- Ansible 인벤토리 구성에 대한 자세한 내용은 {storage_product} 설치 가이드 의 Ansible 인벤토리 위치 구성 섹션을 참조하십시오.
1.2.6. 명령줄 인터페이스를 사용하여 Ceph Monitor 제거 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 모니터를 제거하려면 스토리지 클러스터에서 ceph-mon 데몬을 제거하고 스토리지 클러스터 맵을 업데이트해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 모니터 노드에 대한 루트 수준 액세스.
절차
모니터가
ok-to-stop인지 확인합니다.구문
ceph mon ok-to-stop HOSTNAME
ceph mon ok-to-stop HOSTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph mon ok-to-stop node03
[root@mon ~]# ceph mon ok-to-stop node03Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Monitor 서비스를 중지합니다.
구문
systemctl stop ceph-mon@MONITOR_ID
systemctl stop ceph-mon@MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl stop ceph-mon@node3
[root@mon ~]# systemctl stop ceph-mon@node3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에서 Ceph Monitor를 제거합니다.
구문
ceph mon remove MONITOR_ID
ceph mon remove MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph mon remove node3
[root@mon ~]# ceph mon remove node3Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ceph 구성 파일에서 Ceph Monitor 항목을 제거합니다. 구성 파일의 기본 위치는
/etc/ceph/ceph.conf입니다. 스토리지 클러스터의 나머지 모든 Ceph 노드에 Ceph 구성 파일을 재배포합니다.
구문
scp /etc/ceph/CLUSTER_NAME.conf USER_NAME @ TARGET_NODE_NAME :/etc/ceph/
scp /etc/ceph/CLUSTER_NAME.conf USER_NAME @ TARGET_NODE_NAME :/etc/ceph/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /etc/ceph/ceph.conf root@node3:/etc/ceph/
[root@mon ~]# scp /etc/ceph/ceph.conf root@node3:/etc/ceph/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 배포의 경우 Ceph Monitor 서비스를 비활성화하고 제거합니다.
Ceph Monitor 서비스를 비활성화합니다.
구문
systemctl disable ceph-mon@MONITOR_ID
systemctl disable ceph-mon@MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl disable ceph-mon@node3
[root@mon ~]# systemctl disable ceph-mon@node3Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemd에서 서비스 제거:rm /etc/systemd/system/ceph-mon@.service
[root@mon ~]# rm /etc/systemd/system/ceph-mon@.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemd관리자 구성을 다시 로드합니다.systemctl daemon-reload
[root@mon ~]# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 Ceph 모니터 노드의 상태를 재설정합니다.
systemctl reset-failed
[root@mon ~]# systemctl reset-failedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
선택 사항: Ceph Monitor 데이터를 아카이브합니다.
구문
mv /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_ID /var/lib/ceph/mon/removed- CLUSTER_NAME - MONITOR_ID
mv /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_ID /var/lib/ceph/mon/removed- CLUSTER_NAME - MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
mv /var/lib/ceph/mon/ceph-node3 /var/lib/ceph/mon/removed-ceph-node3
[root@mon ~]# mv /var/lib/ceph/mon/ceph-node3 /var/lib/ceph/mon/removed-ceph-node3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: Ceph Monitor 데이터를 삭제합니다.
구문
rm -r /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_ID
rm -r /var/lib/ceph/mon/CLUSTER_NAME - MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rm -r /var/lib/ceph/mon/ceph-node3
[root@mon ~]# rm -r /var/lib/ceph/mon/ceph-node3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.7. 비정상적인 스토리지 클러스터에서 Ceph 모니터 제거 링크 복사링크가 클립보드에 복사되었습니다!
배치 그룹이 활성 + clean 상태가 아닌 비정상 스토리지 클러스터에서 ceph-mon 데몬을 제거할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터 노드에 대한 루트 수준의 액세스.
- 실행 중인 하나 이상의 Ceph Monitor 노드.
절차
남아 있는 Ceph Monitor 노드에 로그인합니다.
구문
ssh root@MONITOR_NODE_NAME
ssh root@MONITOR_NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ssh root@mon2
[root@admin ~]# ssh root@mon2Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-mon데몬을 중지하고monmap파일의 사본을 추출합니다. :구문
systemctl stop ceph-mon@MONITOR_ID ceph-mon -i SHORT_HOSTNAME --extract-monmap TEMP_PATH
systemctl stop ceph-mon@MONITOR_ID ceph-mon -i SHORT_HOSTNAME --extract-monmap TEMP_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl stop ceph-mon@mon1 ceph-mon -i mon1 --extract-monmap /tmp/monmap
[root@mon2 ~]# systemctl stop ceph-mon@mon1 [root@mon2 ~]# ceph-mon -i mon1 --extract-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 남아 있지 않은 Ceph 모니터 제거:
구문
monmaptool TEMPORARY_PATH --rm _MONITOR_ID
monmaptool TEMPORARY_PATH --rm _MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
monmaptool /tmp/monmap --rm mon1
[root@mon2 ~]# monmaptool /tmp/monmap --rm mon1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 제거된 모니터가 있는 급증 모니터 맵을 Ceph 모니터에 삽입합니다.
구문
ceph-mon -i SHORT_HOSTNAME --inject-monmap TEMP_PATH
ceph-mon -i SHORT_HOSTNAME --inject-monmap TEMP_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph-mon -i mon2 --inject-monmap /tmp/monmap
[root@mon2 ~]# ceph-mon -i mon2 --inject-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 생존 모니터만 시작하고, 모니터가 쿼럼을 형성하는지 확인합니다.
예제
ceph -s
[root@mon2 ~]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
선택 사항: 삭제된 Ceph Monitor의 데이터 디렉터리를
/var/lib/ceph/mon디렉터리에 보관합니다.