Ceph Mimicバージョンクラスタのデプロイ

Ceph Mimicバージョンでは、MDSの安定性など多くの改善と最適化が行われています。KubernetesクラスタでCephを使用する際には、特にCephFSが必要となり、そのためMDSの安定性が求められます。したがって、この記事ではCeph Mimicバージョンを使用してクラスタを構築します。

Mimicバージョンの詳細なアップデートについては以下のリンクをご覧ください:
Ceph Mimic リリースノート

クラスタのデプロイ

Kubernetesクラスタのセットアップが完了したら、次にCephクラスタの構成を行います。

ホスト名 IPアドレス 役割 OS
master01 192.168.1.188 mon/osd/mgr CentOS 7.5最小インストール
master02 192.168.1.189 mon/osd/mgr CentOS 7.5最小インストール
master03 192.168.1.191 mon/osd/mgr CentOS 7.5最小インストール
node-01 192.168.1.193 osd CentOS 7.5最小インストール

2.1 基本的な環境設定

2.1.1 ファイアウォールの停止とSELinuxの無効化

すべてのノードで実行してください:

[root@master01 ~]# systemctl stop firewalld
[root@master01 ~]# systemctl disable firewalld
[root@master01 ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@master01 ~]# setenforce 0

2.1.2 NTPの設定

すべてのノードで実行してください:

[root@master01 ~]# yum install ntp ntpdate -y
[root@master01 ~]# timedatectl set-ntp yes

2.1.3 /etc/hostsの編集

[root@master01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.185 cluster.kube.com
192.168.1.188 master01
192.168.1.189 master02
192.168.1.191 master03
192.168.1.193 node01

2.1.4 SSHのパスワードレスアクセス設定

[root@master01 ~]# ssh-keygen  # Enterキーを押し続ける
[root@master01 ~]# ssh-copy-id root@192.168.1.188

2.2 Cephのインストール(全てのノード)

2.2.1 CephのYumリポジトリ設定

[root@master01 ~]# cat /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-mimic/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

2.2.2 EPELリポジトリのインストール

[root@master01 ~]# yum install -y epel-release

2.2.3 Cephおよびceph-deployのインストール

[root@master01 ~]# yum install -y ceph ceph-deploy

2.2.4 Cephのバージョン確認

[root@master01 ~]# ceph -v
ceph version 13.2.4 (b10be4d44915a4d78a8e06aa31919e74927b142e) mimic (stable)

2.3 MONサービスのデプロイ(デプロイノードのみ)

[root@master01 ~]# cd /etc/ceph
# 3つのMONノードを作成
[root@master01 ceph]# ceph-deploy new master01 master02 master03
# MONの初期化
[root@master01 ceph]# ceph-deploy mon create-initial

2.4 MGRサービスのデプロイ

[root@master01 ~]# cd /etc/ceph
[root@master01 ceph]# ceph-deploy mgr create master01 master02 master03
# 構成ファイルを全クラスタノードに同期
[root@master01 ceph]# ceph-deploy admin master01 master02 master03 node01

2.5 OSDサービスのデプロイ

[root@master01 ~]# cd /etc/ceph
# OSDとして使用するディスクをフォーマット
[root@master01 ceph]# ceph-deploy disk zap master01 /dev/sdb
[root@master01 ceph]# ceph-deploy osd create --data /dev/sdb master01

2.6 Dashboardの有効化

[root@master01 ~]# ceph mgr module enable dashboard     # Dashboardの有効化
[root@master01 ~]# ceph dashboard create-self-signed-cert
[root@master01 ~]# ceph dashboard set-login-credentials admin admin	# 管理者ユーザー作成
[root@master01 ~]# ceph mgr services  # サービスの確認

2.7 MDSサービスのデプロイ

[root@master01 ~]# cd /etc/ceph
[root@master01 ceph]# ceph-deploy mds create master01 master02 master03

2.8 ファイルシステムの作成

# データプールの作成
[root@master01 ~]# ceph osd pool create datapool 256 256
# メタデータプールの作成
[root@master01 ~]# ceph osd pool create metapool 256 256
# ファイルシステムの作成
[root@master01 ~]# ceph fs new cephfs metapool datapool

2.9 クラスタサービスの確認

[root@master01 ~]# ceph -s
  cluster:
    id:     087099a6-b310-40ac-8631-9d3436141f66
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum master01,master02,master03
    mgr: master01(active), standbys: master02, master03
    mds: cephfs-1/1/1 up  {0=master03=up:active}, 2 up:standby
    osd: 8 osds: 8 up, 8 in

  data:
    pools:   2 pools, 512 pgs
    objects: 22  objects, 2.2 KiB
    usage:   8.0 GiB used, 272 GiB / 280 GiB avail
    pgs:     512 active+clean

タグ: ceph Mimic Kubernetes cephfs mds

7月30日 01:32 投稿