1.4. Ceph MDS
Ceph Metadata Server (MDS) ノードは、Ceph ファイルシステム (CephFS) に保存されているファイルに関連する MDS デーモン (ceph-mds) を実行します。MDS は、所有者、タイムスタンプ、モードを含む、POSIX 準拠の共有ファイルシステムのメタデータ管理を提供します。MDS は RADOS (Reliable Autonomic Distributed Object Storage) を使用してメタデータを保存します。
MDS を使用すると、CephFS は Ceph Object Store と対話し、i ノードをオブジェクトと Ceph がツリー内にデータを格納する場所にマッピングできます。CephFS ファイルシステムにアクセスするクライアントは最初に MDS に要求を行います。これにより、正しい OSD からファイルの内容を取得するのに必要な情報が表示されます。
1.4.1. Ansible を使用した Ceph MDS の追加 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Playbook を使用して Ceph Metadata Server (MDS) を追加します。
前提条件
- Ansible によりデプロイされた実行中の Red Hat Ceph Storage クラスター
-
Ansible 管理ノードに
root
またはsudo
アクセスできる。 - MDS ノードとしてプロビジョニングできる新規または既存のサーバー。
手順
- Ansible 管理ノードにログインします。
/usr/share/ceph-ansible
ディレクトリーに移動します。例
cd /usr/share/ceph-ansible
[ansible@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow root
またはsudo
アクセスで、/usr/share/ceph-ansible/hosts
インベントリーファイルを開いて編集し、[mdss]
セクションで MDS ノードを追加します。構文
[mdss] MDS_NODE_NAME NEW_MDS_NODE_NAME
[mdss] MDS_NODE_NAME NEW_MDS_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NEW_MDS_NODE_NAME を、MDS サーバーをインストールするノードのホスト名に置き換えます。
あるいは、
[osds]
セクションおよび[mdss]
セクションに同じノードを追加して、1 つのノード上に MDS デーモンと OSD デーモンを共存させることができます。例
[mdss] node01 node03
[mdss] node01 node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible
ユーザーとして、Ansible Playbook を実行して MDS ノードをプロビジョニングします。ベアメタル デプロイメント:
ansible-playbook site.yml --limit mdss -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit mdss -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナー デプロイメント:
ansible-playbook site-container.yml --limit mdss -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit mdss -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook の実行が終了すると、新しい Ceph MDS ノードがストレージクラスターに表示されます。
検証
MDS デーモンのステータスを確認します。
構文
ceph fs dump
ceph fs dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow あるいは、
ceph mds stat
コマンドを使用して、MDS がアクティブな状態にあるかどうかを確認することができます。構文
ceph mds stat
ceph mds stat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph mds stat
[ansible@admin ceph-ansible]$ ceph mds stat cephfs:1 {0=node01=up:active} 1 up:standby
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.2. コマンドラインインターフェイスを使用した Ceph MDS の追加 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、Ceph Metadata Server (MDS) を手動で追加できます。
前提条件
-
ceph-common
パッケージがインストールされている。 - 稼働中の Red Hat Ceph Storage クラスターがある。
-
MDS ノードに
root
またはsudo
アクセスできる。 - MDS ノードとしてプロビジョニングできる新規または既存のサーバー。
手順
ノードにログインして MDS マウントポイントを作成して、MDS ノードを追加します。
構文
sudo mkdir /var/lib/ceph/mds/ceph-MDS_ID
sudo mkdir /var/lib/ceph/mds/ceph-MDS_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS_ID を、MDS デーモンを追加する MDS ノードの ID に置き換えます。
例
sudo mkdir /var/lib/ceph/mds/ceph-node03
[admin@node03 ~]$ sudo mkdir /var/lib/ceph/mds/ceph-node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これが新しい MDS ノードである場合は、Cephx 認証を使用している場合は認証キーを作成します。
構文
sudo ceph auth get-or-create mds.MDS_ID mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-MDS_ID/keyring
sudo ceph auth get-or-create mds.MDS_ID mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-MDS_ID/keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS_ID を、MDS デーモンをデプロイする MDS ノードの ID に置き換えます。
例
sudo ceph auth get-or-create mds.node03 mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-node03/keyring
[admin@node03 ~]$ sudo ceph auth get-or-create mds.node03 mon 'profile mds' mgr 'profile mds' mds 'allow *' osd 'allow *' > /var/lib/ceph/mds/ceph-node03/keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Cephx 認証はデフォルトで有効になっています。Cephx 認証の詳細は、関連情報セクションの Cephx 認証のリンクを参照してください。
MDS デーモンを起動します。
構文
sudo systemctl start ceph-mds@HOST_NAME
sudo systemctl start ceph-mds@HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME を、デーモンを起動するホストの短縮名に置き換えます。
例
sudo systemctl start ceph-mds@node03
[admin@node03 ~]$ sudo systemctl start ceph-mds@node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS サービスを有効にします。
構文
systemctl enable ceph-mds@HOST_NAME
systemctl enable ceph-mds@HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME を、サービスを有効にするホストの短縮名に置き換えます。
例
sudo systemctl enable ceph-mds@node03
[admin@node03 ~]$ sudo systemctl enable ceph-mds@node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
MDS デーモンのステータスを確認します。
構文
ceph fs dump
ceph fs dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow あるいは、
ceph mds stat
コマンドを使用して、MDS がアクティブな状態にあるかどうかを確認することができます。構文
ceph mds stat
ceph mds stat
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph mds stat
[ansible@admin ceph-ansible]$ ceph mds stat cephfs:1 {0=node01=up:active} 1 up:standby
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.3. Ansible を使用した Ceph MDS の削除 リンクのコピーリンクがクリップボードにコピーされました!
Ansible を使用して Ceph Metadata Server (MDS) を削除するには、Playbook shrink-mds
を使用します。
MDS の削除後に引き継げる MDS がない場合、そのファイルシステムはクライアントが利用できなくなります。これが望ましくない場合には、オフラインにする MDS を削除する前に別の MDS を追加することを検討してください。
前提条件
- 1 つ以上の MDS ノード。
- Ansible によりデプロイされた実行中の Red Hat Ceph Storage クラスター
-
Ansible 管理ノードに
root
またはsudo
アクセスできる。
手順
- Ansible 管理ノードにログインします。
/usr/share/ceph-ansible
ディレクトリーに移動します。例
cd /usr/share/ceph-ansible
[ansible@admin ~]$ cd /usr/share/ceph-ansible
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible の Playbook
shrink-mds.yml
を実行します。プロンプトが表示されたら、yes
と入力して、クラスターの縮小を確認します。構文
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=ID -i hosts
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=ID -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ID は、削除する MDS ノードの ID に置き換えます。1 回の Playbook の実行で削除できるのは 1 つの Ceph MDS だけです。
例
ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=node02 -i hosts
[ansible @admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/shrink-mds.yml -e mds_to_kill=node02 -i hosts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow root
またはsudo
アクセスで、/usr/share/ceph-ansible/hosts
インベントリーファイルを開いて編集し、[mdss]
セクションの MDS ノードを削除します。構文
[mdss] MDS_NODE_NAME MDS_NODE_NAME
[mdss] MDS_NODE_NAME MDS_NODE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[mdss] node01 node03
[mdss] node01 node03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
node02
が[mdss]
のリストから削除されました。
検証
MDS デーモンのステータスを確認します。
構文
ceph fs dump
ceph fs dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.4. コマンドラインインターフェイスを使用した Ceph MDS の削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して、Ceph Metadata Server (MDS) を手動で削除できます。
現在の MDS の削除後に引き継げる MDS がない場合、そのファイルシステムはクライアントが利用できなくなります。これが望ましくない場合は、既存の MDS を削除する前に MDS を追加することを検討してください。
前提条件
-
ceph-common
パッケージがインストールされている。 - 稼働中の Red Hat Ceph Storage クラスターがある。
-
MDS ノードに
root
またはsudo
アクセスできる。
手順
- MDS デーモンを削除する Ceph MDS ノードにログインします。
Ceph MDS サービスを停止します。
構文
sudo systemctl stop ceph-mds@HOST_NAME
sudo systemctl stop ceph-mds@HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME を、デーモンが実行されているホストの短縮名に置き換えます。
例
sudo systemctl stop ceph-mds@node02
[admin@node02 ~]$ sudo systemctl stop ceph-mds@node02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS をこのノードに再デプロイしない場合は、MDS サービスを無効にします。
構文
sudo systemctl disable ceph-mds@HOST_NAME
sudo systemctl disable ceph-mds@HOST_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME を、デーモンを無効にするホストの短縮名に置き換えます。
例
sudo systemctl disable ceph-mds@node02
[admin@node02 ~]$ sudo systemctl disable ceph-mds@node02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS ノードの
/var/lib/ceph/mds/ceph-MDS_ID
ディレクトリーを削除します。構文
sudo rm -fr /var/lib/ceph/mds/ceph-MDS_ID
sudo rm -fr /var/lib/ceph/mds/ceph-MDS_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow MDS_ID を、MDS デーモンを削除する MDS ノードの ID に置き換えます。
例
sudo rm -fr /var/lib/ceph/mds/ceph-node02
[admin@node02 ~]$ sudo rm -fr /var/lib/ceph/mds/ceph-node02
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
MDS デーモンのステータスを確認します。
構文
ceph fs dump
ceph fs dump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow