4.13. Ansible을 사용하여 Ceph 파일 시스템 제거
ceph-ansible
을 사용하여 Ceph 파일 시스템(CephFS)을 제거할 수 있습니다. 이 작업을 수행하기 전에 모든 데이터를 백업하고 모든 클라이언트가 파일 시스템을 로컬에서 마운트 해제했는지 확인하는 것이 좋습니다.
이 작업은 안전하지 않으며 Ceph 파일 시스템에 저장된 데이터를 영구적으로 액세스할 수 없게 됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 데이터의 좋은 백업입니다.
- 모든 클라이언트는 Ceph 파일 시스템을 마운트 해제했습니다.
- Ansible 관리 노드에 액세스합니다.
- Ceph 모니터 노드에 대한 루트 수준 액세스.
절차
/usr/share/ceph-ansible/
디렉터리로 이동합니다.[admin@admin ~]$ cd /usr/share/ceph-ansible
Ansible 인벤토리 파일에서
[mds]
섹션을 검토하여 Ceph Metadata Server(MDS) 노드를 식별합니다. Ansible 관리 노드에서/usr/share/ceph-ansible/hosts
를 엽니다.예제
[mdss] cluster1-node5 cluster1-node6
예에서는
cluster1-node5
및cluster1-node6
은 MDS 노드입니다.max_mds
매개변수를1
로 설정합니다.구문
ceph fs set NAME max_mds NUMBER
예제
[root@mon ~]# ceph fs set cephfs max_mds 1
제거할 메타데이터 서버(MDS)를 지정하여
shrink-mds.yml
플레이북을 실행합니다.구문
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
MDS_NODE 를 삭제하려는 메타데이터 서버 노드로 바꿉니다. Ansible Playbook은 클러스터를 축소할지 묻는 메시지를 표시합니다.
yes
를 입력하고 Enter 키를 누릅니다.예제
[admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node6 -i hosts
선택 사항: 추가 MDS 노드의 프로세스를 반복합니다.
구문
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hosts
MDS_NODE 를 삭제하려는 메타데이터 서버 노드로 바꿉니다. Ansible Playbook은 클러스터를 축소할지 묻는 메시지를 표시합니다.
yes
를 입력하고 Enter 키를 누릅니다.예제
[admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node5 -i hosts
CephFS의 상태를 확인합니다.
구문
ceph fs status
예제
[root@mon ~]# ceph fs status cephfs - 0 clients ====== +------+--------+----------------+---------------+-------+-------+ | Rank | State | MDS | Activity | dns | inos | +------+--------+----------------+---------------+-------+-------+ | 0 | failed | cluster1-node6 | Reqs: 0 /s | 10 | 13 | +------+--------+----------------+---------------+-------+-------+ +-----------------+----------+-------+-------+ | Pool | type | used | avail | +-----------------+----------+-------+-------+ | cephfs_metadata | metadata | 2688k | 15.0G | | cephfs_data | data | 0 | 15.0G | +-----------------+----------+-------+-------+ +----------------+ | Standby MDS | +----------------+ | cluster1-node5 | +----------------+
[mds]
섹션과 Ansible 인벤토리 파일에서 해당 노드를 제거하여 나중에site.yml
또는site-container.yml
플레이북의 메타데이터 서버로 다시 프로비저닝되지 않습니다. Ansible 인벤토리 파일/usr/share/ceph-ansible/hosts
를 편집하기 위해 을 엽니다.예제
[mdss] cluster1-node5 cluster1-node6
[mds]
섹션과 해당 섹션 아래의 모든 노드를 제거합니다.CephFS를 제거합니다.
구문
ceph fs rm FS_NAME --yes-i-really-mean-it
FS_NAME 을 제거할 Ceph 파일 시스템의 이름으로 바꿉니다.
예제
[root@mon]# ceph fs rm cephfs --yes-i-really-mean-it
선택 사항: CephFS에서 사용한 풀을 제거합니다.
Ceph Monitor 노드에서 풀을 나열합니다.
구문
ceph osd pool ls
CephFS에서 사용한 풀을 찾습니다.
예제
[root@mon ~]# ceph osd pool ls rbd cephfs_data cephfs_metadata
예제 출력에서
cephfs_metadata
및cephfs_data
는 CephFS에서 사용하는 풀입니다.메타데이터 풀을 제거합니다.
구문
ceph osd pool delete CEPH_METADATA_POOL CEPH_METADATA_POOL --yes-i-really-really-mean-it
CEPH_METADATA_POOL 을 풀 이름을 두 번 포함하여 메타데이터 스토리지에 사용되는 풀 CephFS로 교체합니다.
예제
[root@mon ~]# ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it pool 'cephfs_metadata' removed
데이터 풀을 제거합니다.
구문
ceph osd pool delete CEPH_DATA_POOL CEPH_DATA_POOL --yes-i-really-really-mean-it
CEPH_METADATA_POOL 을 풀 이름을 두 번 포함하여 메타데이터 스토리지에 사용되는 풀 CephFS로 교체합니다.
예제
[root@mon ~]# ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it pool 'cephfs_data' removed
풀이 더 이상 존재하지 않는지 확인합니다.
예제
[root@mon ~]# ceph osd pool ls rbd
cephfs_metadata
및cephfs_data
풀은 더 이상 나열되지 않습니다.
추가 리소스
- Red Hat Ceph Storage 파일 시스템 가이드에서 수동으로 Ceph 파일 시스템 제거를 참조하십시오.
- Red Hat Ceph Storage Storage Strategies Guide 의 Delete a pool 섹션을 참조하십시오.