Ceph Squid : ファイルシステムとして利用する2024/10/25 |
以下のような構成の 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 "dnf -y install centos-release-ceph-squid; dnf -y install ceph-fuse"
# クライアントホストに必要なファイルを転送 [root@node01 ~]# scp /etc/ceph/ceph.conf dlp:/etc/ceph/ ceph.conf 100% 195 98.1KB/s 00:00[root@node01 ~]# scp /etc/ceph/ceph.client.admin.keyring dlp:/etc/ceph/ ceph.client.admin.keyring 100% 151 71.5KB/s 00:00[root@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 8 bulk to true [root@node01 ~]# ceph fs new cephfs cephfs_metadata cephfs_data new fs with metadata pool 9 and data pool 8 [root@node01 ~]# ceph fs ls name: 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 - 0 clients ====== RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active node01 Reqs: 0 /s 10 13 12 0 POOL TYPE USED AVAIL cephfs_metadata metadata 96.0k 151G cephfs_data data 0 151G MDS version: ceph version 19.2.0 (16063ff2022298c9300e49a547a16ffda59baf13) squid (stable) |
[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 devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs tmpfs 731M 8.6M 723M 2% /run /dev/mapper/cs-root xfs 26G 2.6G 24G 10% / /dev/vda1 xfs 1014M 313M 702M 31% /boot tmpfs tmpfs 366M 0 366M 0% /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 |