4.13. Ansible を使用した Ceph File System の削除
ceph-ansible を使用して Ceph File System( CephFS) を削除することができます。その前に、すべてのデータのバックアップを作成し、すべてのクライアントがローカルにファイルシステムのマウントを解除していることを確認します。
この操作は破壊的で、Ceph File System に保存されているデータが永続的にアクセスできないようにします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- データの適切なバックアップ。
- すべてのクライアントが Ceph File System をアンマウントしている。
- Ansible 管理ノードへのアクセス
- Ceph Monitor ノードへの root レベルのアクセス。
手順
/usr/share/ceph-ansibleディレクトリーに移動します。[admin@admin ~]$ cd /usr/share/ceph-ansibleAnsible インベントリーファイルの
[mdss]セクションを確認して、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) を指定して、Playbook
shrink-mds.ymlを実行します。構文
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=MDS_NODE -i hostsMDS_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 hostsMDS_NODE を、削除するメタデータサーバーノードに置き換えます。Ansible Playbook から、クラスターを縮小するかどうかを尋ねられます。
yesと入力して、Enter キーを押します。例
[admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=cluster1-node5 -i hostsCephFS のステータスを確認します。
構文
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 | +----------------+mdssセクションとその中のノードを Ansible インベントリーファイルから削除して、site.ymlまたはsite-container.ymlPlaybook の今後の実行でメタデータサーバーとして再プロビジョニングされないようにします。Ansible インベントリーファイル/usr/share/ceph-ansible/hostsを編集するために開きます。例
[mdss] cluster1-node5 cluster1-node6[mdss]セクションと、その下のすべてのノードを削除します。CephFS を削除します。
構文
ceph fs rm FS_NAME --yes-i-really-mean-itFS_NAME は、削除する Ceph File System の名前に置き換えます。
例
[root@mon]# ceph fs rm cephfs --yes-i-really-mean-itオプション: CephFS が使用したプールを削除します。
Ceph Monitor ノードで、プールを一覧表示します。
構文
ceph osd pool lsCephFS が使用したプールを見つけます。
例
[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プール名を 2 回追加することで、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プール名を 2 回追加することで、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 rbdcephfs_metadataプールおよびcephfs_dataプールは一覧表示されなくなりました。