Ceph Nautilus : ファイルシステムとして利用する2021/03/31 |
以下のような構成の 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-nautilus" [root@node01 ~]# ssh dlp "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. /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. /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 を設定したノード上で、[データ] 用と [メタデータ] 用に、少なくとも二つの RADOS プールを作成しておきます。 なお、プール作成時にコマンドの末尾に指定する数値は公式ドキュメントを参照の上、決定してください。 ⇒ http://docs.ceph.com/docs/master/rados/operations/placement-groups/ |
[root@node01 ~]# ceph osd pool create cephfs_data 64 pool 'cephfs_data' created [root@node01 ~]# ceph osd pool create cephfs_metadata 64 pool 'cephfs_metadata' created [root@node01 ~]# ceph fs new cephfs cephfs_metadata cephfs_data new fs with metadata pool 3 and data pool 2 [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 | +------+--------+--------+---------------+-------+-------+ | 0 | active | node01 | Reqs: 0 /s | 10 | 13 | +------+--------+--------+---------------+-------+-------+ +-----------------+----------+-------+-------+ | Pool | type | used | avail | +-----------------+----------+-------+-------+ | cephfs_metadata | metadata | 1536k | 74.9G | | cephfs_data | data | 0 | 74.9G | +-----------------+----------+-------+-------+ +-------------+ | Standby MDS | +-------------+ +-------------+ MDS version: ceph version 14.2.18 (befbc92f3c11eedd8626487211d200c0b44786d9) nautilus (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 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs tmpfs 3.8G 8.6M 3.8G 1% /run tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 26G 2.5G 24G 10% / /dev/vda1 xfs 1014M 322M 693M 32% /boot tmpfs tmpfs 777M 0 777M 0% /run/user/0 10.0.0.51:6789:/ ceph 75G 0 75G 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 |