banner
云野阁

云野阁

闲云野鹤,八方逍遥

ceph集群をcephadm方式でデプロイする

タスク目標#

  1. cephadm を使用して ceph クラスターをデプロイする

タスクプラットフォーム#

  1. 物理デバイス --
  2. オペレーティングシステム:openEuler 22.03 LTS SP2

デプロイガイド#

タスク 1:設定準備#

  1. ホスト名の変更
# 10.10.3.117のホスト名をfuture-ceph-node0に変更
hostnamectl set-hostname future-ceph-node0 && bash
# 10.10.3.118のホスト名をfuture-ceph-node1に変更
hostnamectl set-hostname future-ceph-node1 && bash
# 10.10.3.119のホスト名をfuture-ceph-node2に変更
hostnamectl set-hostname future-ceph-node2 && bash
# 10.10.3.120のホスト名をfuture-ceph-node3に変更
hostnamectl set-hostname future-ceph-node3 && bash
  1. インストール前の設定変更
# ファイアウォールを停止
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state
 
# selinuxを永久に無効化
setenforce 0
 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
cat /etc/selinux/config


# hostsの追加
cat >> /etc/hosts << EOF
10.10.3.117 future-ceph-node0
10.10.3.118 future-ceph-node1
10.10.3.119 future-ceph-node2
10.10.3.120 future-ceph-node3
EOF
#確認
cat /etc/hosts


# 時間の同期
yum install ntp -y
systemctl start ntpd
systemctl enable ntpd
yum install chrony  -y
systemctl start chronyd
systemctl enable chronyd
# 設定を変更し、内容を追加
echo "
server 10.10.3.70 iburst
allow 10.10.3.0/24
" >> /etc/chrony.conf
timedatectl set-ntp true
systemctl restart chronyd
timedatectl status
date
  1. SSH の無パスワード通信の追加
ssh-keygen -t rsa
ssh-copy-id 10.10.3.118
ssh-copy-id 10.10.3.119
ssh-copy-id 10.10.3.120

タスク 2:docker のインストール#

  1. Docker CE の yum リポジトリを設定します。docker-ce.repoファイルを開き、以下の内容をファイルにコピーします:
echo '
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg ' > /etc/yum.repos.d/docker-ce.repo

保存してファイルを終了します。

  1. Docker CE をインストールします。以下のコマンドを実行して Docker CE をインストールします:
 yum -y install docker-ce docker-ce-cli  containerd.io
# dockerを起動し、起動時に自動起動するように設定
systemctl start docker  
systemctl enable docker
# バージョンを確認
docker -v
docker compose version
  1. Docker の設定を変更し、ストレージパスを以下のように設定します。
# 設定をdaemon.jsonファイルに書き込む
echo '{
  "data-root": "/data/docker"
} ' > /etc/docker/daemon.json
# 確認
cat /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
docker info

タスク 3:cephadm を使用してクラスターを構築#

  1. ceph ソフトウェアのインストール#

すべてのホストに ceph ソフトウェアをインストールします。

yum install -y cephadm ceph-common
# バージョンを確認
ceph -v
  1. admin ノードの有効化#

10.10.3.117 でクラスターを有効化します。

cephadm bootstrap --mon-ip 10.10.3.117

ダッシュボードにアクセスしてデフォルトのパスワードを変更します。

ダッシュボードのポート番号を取得中...

Ceph Dashboard は次の場所で利用可能です:

​ URL: https://future-ceph-node0:8443/

​ ユーザー: admin

​ パスワード: p4csdavtmr

"admin" ラベルのホストで client.admin キーリングと conf を有効化しています

Ceph CLI にアクセスするには:

​ sudo /usr/sbin/cephadm shell --fsid 5f344e64-85e4-11ee-9181-0050569a1378 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring

  1. ノードの追加#

# cephコマンドを有効化
cephadm shell
# cephの無パスワードアクセスを追加
ceph cephadm get-pub-key > ~/ceph.pub
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node1
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node2
ssh-copy-id -f -i ~/ceph.pub root@future-ceph-node3
# cephノードを追加
ceph orch host add future-ceph-node1 10.10.3.118
ceph orch host add future-ceph-node2 10.10.3.119
ceph orch host add future-ceph-node3 10.10.3.120
# ノードを確認
ceph orch host ls
# _adminラベルを追加してこのノードがceph関連コマンドを実行できるようにする
ceph orch host label add future-ceph-node1  _admin
ceph orch host label add future-ceph-node2  _admin
ceph orch host label add future-ceph-node3  _admin

# 設定ファイルを他のノードにコピー
scp /etc/ceph/ceph.conf future-ceph-node1:/etc/ceph/
scp /etc/ceph/ceph.conf future-ceph-node2:/etc/ceph/
scp /etc/ceph/ceph.conf future-ceph-node3:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node1:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node2:/etc/ceph/
scp /etc/ceph/ceph.client.admin.keyring future-ceph-node3:/etc/ceph/
  1. mon ノード(監視)の設定#

ceph orch apply mon --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
# monの詳細情報を確認
ceph mon dump
  1. mgr ノード(管理)の設定#

 ceph orch apply mgr --placement="2 future-ceph-node0 future-ceph-node1 "
 # 詳細を確認
  ceph orch ls
  # ラベルを付ける
  ceph orch host label add future-ceph-node0 master
  ceph orch host label add future-ceph-node1 master
  1. osd(ストレージデータ)の追加#

# マウントするディスクを確認
lsblk
# すべてのノード
ceph orch daemon add osd future-ceph-node0:/dev/sdb
ceph orch daemon add osd future-ceph-node1:/dev/sdb
ceph orch daemon add osd future-ceph-node2:/dev/sdb
ceph orch daemon add osd future-ceph-node3:/dev/sdb
  1. mds(メタデータ)の作成#

# cephfsファイルシステムを作成
ceph osd pool create cephfs_data
ceph osd pool create cephfs_metadata
ceph fs new cephfs cephfs_metadata cephfs_data
# mdsコンポーネントを設定
 ceph orch apply mds cephfs --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
 # mdsの状態を確認
 ceph orch ps --daemon-type mds
  1. rgw(オブジェクトゲートウェイ)の設定#

# myorgという名前のrealmを作成
radosgw-admin realm create --rgw-realm=myorg 
# defaultという名前のゾーングループを作成(主ゾーングループとして設定)
radosgw-admin zonegroup create --rgw-zonegroup=default --master
# cn-east-1という名前のゾーンを作成(主ゾーンとして設定)
 radosgw-admin zone create --rgw-zonegroup=default --rgw-zone=cn-east-1 --master
 # realmとゾーンにradosgwを設定
 ceph orch apply rgw myorg cn-east-1 --placement="4 future-ceph-node0 future-ceph-node1 future-ceph-node2 future-ceph-node3"
 # 検証
 ceph orch ps --daemon-type rgw
 ceph -s
  1. アクセステスト#

# ceph-Dashboard
https://10.10.3.117:8443
# Prometheus
http://10.10.3.117:9095/
# Grafana
https://10.10.3.117:3000/
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。