Install Ceph 15.2.8 on Debian 10.7

出自ChevyneWiki
於 2021年1月8日 (五) 18:58 由 Chevyne留言 | 貢獻 所做的修訂
跳至導覽 跳至搜尋
  • 時間: 2020-12-31
  • 安裝 Ceph 15.2.8 在 Debian 10.7
    • Debian 10.7
    • Podman 2.2.1
    • Ceph 15.2.8
    • 部署套件 Cephadm

叢集規劃

編輯 /etc/hosts

192.168.31.71 mon1
192.168.31.72 mon2
192.168.31.73 mon3
192.168.31.74 mon4
192.168.31.75 mon5
192.168.31.76 mds1
192.168.31.77 mds2
192.168.31.78 mds3
192.168.31.79 mds4
192.168.31.80 mds5
192.168.31.81 osd11
192.168.31.82 osd12
192.168.31.83 osd13
192.168.31.84 osd14
192.168.31.85 osd21
192.168.31.86 osd22
192.168.31.87 osd23
192.168.31.88 osd24
192.168.31.89 osd25
192.168.31.90 osd26
192.168.31.91 rgw1
192.168.31.92 rgw2
192.168.31.93 rgw3
192.168.31.94 cephfs1
192.168.31.95 cephfs2
192.168.31.96 cephfs3
192.168.31.97 rbd1
192.168.31.98 rbd2
192.168.31.99 rbd3

安裝先決條件

已完成 Debian 安裝後步驟

安裝 Podman

用 cephadm 部署會在容器運行 我們選擇 Podman

echo 'deb http://deb.debian.org/debian buster-backports main' >> /etc/apt/sources.list
echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/Release.key | apt-key add -
apt-get update
apt-get -y -t buster-backports install libseccomp2
apt-get -y install podman

安裝 cephadm 部署套件

curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
echo deb https://download.ceph.com/debian-octopus/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list
apt-get update
./cephadm install cephadm ceph-common
mkdir -p /etc/ceph

Bootstrap 建立叢集

編輯 /etc/ceph/cephx.conf

[global]
public network = 192.168.31.0/24
cluster network = 192.168.31.0/24
osd pool default size = 2
osd pool default pg autoscale mode = on

[mon]

[mgr]

[osd]
osd client watch timeout = 15
osd heartbeat grace = 20
osd heartbeat interval = 5

[mds]

[client]

建立新的叢集

cephadm bootstrap --config /etc/ceph/cephx.conf --mon-ip 192.168.31.71 --allow-fqdn-hostname

該命令將:

  • 在本地主機上為新叢集創建 mon 和 mgr
  • 為叢集生成一個新的 SSH 密鑰,並添加到 root 的 /root/.ssh/authorized_keys
  • 與新集群進行通信所需的最小配置檔 /etc/ceph/ceph.conf
  • 將 client.admin 管理特權密鑰的副本寫入 /etc/ceph/ceph.client.admin.keyring
  • 將公用密鑰的副本寫入 /etc/ceph/ceph.pub

使用 Ceph cli

直接執行 ceph 命令

cephadm shell -- ceph -s

在容器中啟動 bash shell 進入命令列模式

cephadm shell

進入指定容器的命令列模式

cephadm enter --name iscsi.iscsi.mon3.duhasf

啟用 Telemetry 模組

Telemetry 模組可傳送有關執行其的叢集的 Ceph 專案匿名資料。
此 (選擇加入) 元件包含有關叢集部署方式、Ceph 版本、主機分佈,以及其他有助於專案更好地瞭解 Ceph 使用方式的參數的計數器和統計資料。它不包含任何諸如池名稱、物件名稱、物件內容或主機名稱等敏感性資料。
用於為開發人員提供自動化回饋迴路,以協助其量化採用率、追蹤情況,或指出為避免出現不良後果而需在組態期間以更佳方式進行解釋或驗證的內容。
ceph telemetry on --license sharing-1-0
若要停用,請執行以下指令
ceph telemetry off

將主機加入叢集

在新主機 root 的 authorized_keys 中安裝叢集的SSH公鑰

ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.31.72

告訴 Ceph,新節點是集群的一部分

ceph orch host add mon2

要查看所有的主機

ceph orch host ls
  • 在叢集中加入所有主機

部署其他 MON

一個 Ceph 叢集建議要有 3 ~ 5 個 mon

ceph orch apply mon mon1
ceph orch apply mon --placement="5 mon1 mon2 mon3 mon4 mon5"
ceph orch apply mon --unmanaged
ceph orch daemon add mon mon1

部署的 OSD

要查看所有主機的存儲設備

ceph orch device ls

Ceph OSD 可以使用的存儲設備,容量需大於5G,且不可有使用或狀態(分割, LVM, 掛載, FS, OSD等)

ceph orch daemon add osd host1:/dev/sdb
ceph orch apply osd --all-available-devices

Ceph Dashboard

Ceph 叢集建立後,mgr 中的橂組 dashboard 預設是啟動,可以透過網頁看叢集的狀態及部份功能的操作

https://192.168.231.71:8443

Ceph Dashboard.png