Ceph Squid : ファイルシステムとして利用する2024/05/03 |
以下のような構成の Ceph クラスターストレージを、[dlp] クライアントから利用できるように設定します。
| +--------------------+ | | [dlp.srv.world] |10.0.0.30 | | Ceph Client +-----------+ | | | +--------------------+ | +----------------------------+----------------------------+ | | | |10.0.0.51 |10.0.0.52 |10.0.0.53 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [node01.srv.world] | | [node02.srv.world] | | [node03.srv.world] | | Object Storage +----+ Object Storage +----+ Object Storage | | Monitor Daemon | | | | | | Manager Daemon | | | | | +-----------------------+ +-----------------------+ +-----------------------+ |
例として、クライアント上でファイルシステムとしてマウントして利用します。
|
|
[1] | 管理ノードからクライアントホストへ必要なファイルを転送しておきます。 |
# 公開鍵転送 root@node01:~# ssh-copy-id dlp # クライアントホストに必要なパッケージをインストール root@node01:~# ssh dlp "apt -y install ceph-fuse"
# クライアントホストに必要なファイルを転送 root@node01:~# scp /etc/ceph/ceph.conf dlp:/etc/ceph/ ceph.conf 100% 435 252.9KB/s 00:00root@node01:~# scp /etc/ceph/ceph.client.admin.keyring dlp:/etc/ceph/ ceph.client.admin.keyring 100% 151 88.2KB/s 00:00root@node01:~# ssh dlp "chown ceph:ceph /etc/ceph/ceph.*" |
[2] | 任意のノードで MDS (MetaData Server) を設定しておきます。 当例では [node01] で進めます。 |
# ディレクトリ作成 # ディレクトリ名 ⇒ (クラスター名)-(ノード名) root@node01:~# mkdir -p /var/lib/ceph/mds/ceph-node01 root@node01:~# ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-node01/keyring --gen-key -n mds.node01 creating /var/lib/ceph/mds/ceph-node01/keyring root@node01:~# chown -R ceph:ceph /var/lib/ceph/mds/ceph-node01 root@node01:~# ceph auth add mds.node01 osd "allow rwx" mds "allow" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-node01/keyring added key for mds.node01 root@node01:~# systemctl enable --now ceph-mds@node01 |
[3] | 事前に、MDS を設定したノード上で、[データ] 用と [メタデータ] 用に、少なくとも 2 つの RADOS プールを作成しておきます。
なお、プール作成時にコマンドの末尾に指定する数値は公式ドキュメントを参照の上、決定してください。 ⇒ http://docs.ceph.com/docs/master/rados/operations/placement-groups/ |
root@node01:~# ceph osd pool create cephfs_data 32 pool 'cephfs_data' created root@node01:~# ceph osd pool create cephfs_metadata 32 pool 'cephfs_metadata' created root@node01:~# ceph osd pool set cephfs_data bulk true set pool 5 bulk to true root@node01:~# ceph fs new cephfs cephfs_metadata cephfs_data new fs with metadata pool 6 and data pool 5 root@node01:~# ceph fs ls ame: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ] root@node01:~# ceph mds stat cephfs:1 {0=node01=up:active} root@node01:~# ceph fs status cephfs cephfs - 2 clients ====== RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active node01 Reqs: 0 /s 10 13 12 2 POOL TYPE USED AVAIL cephfs_metadata metadata 102k 151G cephfs_data data 0 151G MDS version: ceph version 19.2.0~git20240301.4c76c50 (4c76c50a73f63ba48ccdf0adccce03b00d1d80c7) squid (dev) |
[4] | クライアントホストでの Ceph ファイルシステムのマウントです。 |
# クライアントキーを Base64 エンコード root@dlp:~# ceph-authtool -p /etc/ceph/ceph.client.admin.keyring > admin.key root@dlp:~# chmod 600 admin.key
mount -t ceph node01.srv.world:6789:/ /mnt -o name=admin,secretfile=admin.key root@dlp:~# df -hT Filesystem Type Size Used Avail Use% Mounted on tmpfs tmpfs 392M 1.1M 391M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv ext4 28G 6.4G 20G 25% / tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda2 ext4 2.0G 95M 1.7G 6% /boot tmpfs tmpfs 392M 12K 392M 1% /run/user/0 10.0.0.51:6789:/ ceph 152G 0 152G 0% /mnt |
[5] | 作成した CephFS やプールを削除する場合は、MDS 稼働ノードで以下のように実行します。 プールに保存されているデータは全て破棄されるため、必要に応じて事前にバックアップを取得しておきます。 プールを削除する場合は [Monitor Daemon] の設定で、[mon allow pool delete = true] が設定されている必要があります。 |
# CephFS 削除 root@node01:~# ceph fs rm cephfs --yes-i-really-mean-it
# プール削除 # ceph osd pool delete [プール名] [プール名] *** root@node01:~# ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it root@node01:~# ceph osd pool delete cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it |
Sponsored Link |