Open molpako opened 3 months ago
CephFSでは専用Poolを作成することが推奨されている。Poolの作成では「Replication」か「Erasure Coding」の2つからタイプを指定できる。
オブジェクトを複製する。ceph osd pool create
ではデフォルトで Replication タイプになる
オブジェクトを複数のデータチャンクとコーディングチャンクに分割され、異なるOSDに保存する。
Replicationと比べて、CPUリソースを喰うようなるが、ディスク効率が良くなる。(Replicationはデフォルトで x3 使うが、Erasure Coding は x1.5 で済むらしい!)
しかし小さいファイルを大量に扱う場合では、オブジェクト分割のオーバーヘッドが大きくなり、計算コストも多くなり、効率が悪くなるみたいだ。
$ ceph osd pool create cephfs_data
$ ceph osd pool create cephfs_data_ec erasure
$ ceph osd pool create cephfs_metadata
[!WARNING] cephfs_metadata は erasure pool を使えないので注意
$ ceph fs new cephfs1 cephfs_metadata cephfs_data
$ ceph fs ls
name: cephfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
$ ceph fs status
cephfs1 - 0 clients
=======
POOL TYPE USED AVAIL
cephfs_metadata metadata 0 78.7G
cephfs_data data 0 78.7G
CephFS には MDS(メタデータサーバー)という別コンポーネントが必要になる。読み書きは直接OSDに対して行うが、データへのアクセスはMDSを通して行われる。そのMDSをデプロイする
ceph/cephadm-ansible のモジュールを使ってデプロイする
https://github.com/ceph/cephadm-ansible/blob/devel/library/ceph_orch_apply.py
---
- name: Deploy mds service
hosts: admin
become: true
gather_facts: false
vars:
mds_spec:
service_type: mds
service_id: mds
placement:
label: mds
tasks:
- name: Apply mds spec
ceph_orch_apply:
spec: "{{ mds_spec | to_nice_yaml }}"
MDSデプロイ後。 activate:1, standby:2 になっている
root@mon1:/# ceph fs status
cephfs1 - 0 clients
=======
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active mds.mds3.fdobsg Reqs: 0 /s 10 13 12 0
POOL TYPE USED AVAIL
cephfs_metadata metadata 96.0k 78.7G
cephfs_data data 0 78.7G
STANDBY MDS
mds.mds1.tmhtfe
mds.mds2.pnftys
MDS version: ceph version 18.2.2 (531c0d11a1c5d39fbfe6aa8a521f023abf3bf3e2) reef (stable)
https://docs.ceph.com/en/latest/cephfs/multimds/#increasing-the-mds-active-cluster-size
root@mon1:/# ceph fs get cephfs1 | grep max_mds
max_mds 1
root@mon1:/# ceph fs set cephfs1 max_mds 2
root@mon1:/# ceph fs status
cephfs1 - 0 clients
=======
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active mds.mds3.fdobsg Reqs: 0 /s 10 13 12 0
1 active mds.mds2.pnftys Reqs: 0 /s 10 13 11 0
POOL TYPE USED AVAIL
cephfs_metadata metadata 144k 78.7G
cephfs_data data 0 78.7G
STANDBY MDS
mds.mds1.tmhtfe
CephFSの作成
CephFSを作成するので作業メモ