Ceph 部署 : 手動
注意事項
- 操作系統 ubuntu 20.4
1. 配置 Ceph APT源
echo deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
2. 添加 APT 源 Key
wget -q -O- 'https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc' | sudo apt-key add -
3.更新源並且安裝 ceph-deploy
sudo apt-get update
sudo apt-get install ceph-deploy -y
4. 配置host文件 (所有節點執行)
cat /etc/hosts
192.168.1.101 controller1
192.168.1.102 controller2
192.168.1.103 controller3
5. 配置各個節點互信 (所有節點執行)
ssh-keygen
6. 賦值 Key 到各個節點 (所有節點執行)
ssh-copy-id controller1
ssh-copy-id controller2
ssh-copy-id controller3
7. 安裝Cephadm(所有節點)
apt-get install cephadm
8. 安裝 Ceph
8.1 步驟1: 創建配置文件目錄
- (重建時需要刪除改目錄內的文件)
mkdir -p /etc/ceph
8.2 引導集群(創建第一個 mon
節點)
cephadm bootstrap \
--mon-ip 10.2.32.187 \
--initial-dashboard-user admin \
--initial-dashboard-password Troila12
# cephadm bootstrap \
# --mon-ip 第一個節點IP \
# --initial-dashboard-user 用戶名 \
# --initial-dashboard-password 密碼
8.3 安裝Ceph 工具
cephadm add-repo --release octopus
cephadm install ceph-common
8.4 部署 mon 節點
- 步驟1: 禁止自動監視器部署
ceph orch apply mon --unmanaged
- 步驟2: 增加節點到集群
ceph orch host add {node1}
ceph orch host add {node2}
ceph orch host add {node3}
# 示例
ceph orch host add controller1
ceph orch host add controller2
ceph orch host add controller3
- 步驟3:標記 mon 節點
ceph orch host label add {node1} mon
ceph orch host label add {node2} mon
ceph orch host label add {node3} mon
# 查看標記結果 正常如下:
HOST ADDR LABELS STATUS
controller1 controller1 mon
controller2 controller2 mon
controller3 controller3 mon
- 步驟4:配置cephadm 根據標簽部署監視器
ceph orch apply mon label:mon
- 步驟5:確保將監視器應用於這三台主機
ceph orch apply mon "{node1},{node2},{node3}"
# 示例--注意:controller 之間不能有空格
ceph orch apply mon "controller1,controller2,controller3"
8.5 部署 osd 節點
步驟一: 增加節點到集群
ceph orch host add {node2}
ceph orch host add {node3}
# 示例
ceph orch host add controller1
ceph orch host add controller2
步驟二:標記 osd 節點
ceph orch host add {node1} osd
ceph orch host add {node2} osd
# 示例
ceph orch host add controller1 osd
ceph orch host add controller2 osd
步驟三:查看標記結果
ceph orch host ls
# 正常結果如下:
HOST ADDR LABELS STATUS
controller1 controller1 mon
controller2 controller2 osd mon
controller3 controller3 osd mon
8.6 查看存儲節點上所有設備
ceph orch device ls
注意事項:
- Ceph拒絕在不可用的設備上配置OSD,滿足以下所有條件,則認為存儲設備可用:
- 設備必須沒有分區。
- 設備不得具有任何LVM狀態。
- 不得安裝設備。
- 該設備不得包含文件系統。
- 該設備不得包含Ceph BlueStore OSD。
- 設備必須大於5 GB。
8.7 部署 OSD
ceph orch daemon add osd {node1}:/dev/sdb
ceph orch daemon add osd {node2}:/dev/sdb
ceph orch daemon add osd {node3}:/dev/sdb
ceph orch daemon add osd {node1}:/dev/sdc
ceph orch daemon add osd {node2}:/dev/sdc
ceph orch daemon add osd {node3}:/dev/sdc
ceph orch daemon add osd {node1}:/dev/sdd
ceph orch daemon add osd {node2}:/dev/sdd
ceph orch daemon add osd {node3}:/dev/sdd
Ceph 相關操作
查看 ceph 狀態
ceph -s
# 正常如下:
cluster:
id: f2024656-3082-11ec-a2b1-1d2be083b36b
health: HEALTH_OK ###### HEALTH_OK 是正常狀態
services:
mon: 3 daemons, quorum controller1,controller3,controller2 (age 3h)
mgr: controller1.fkiash(active, since 3h), standbys: controller2.znlcmv
osd: 9 osds: 9 up (since 49m), 9 in (since 49m)
data:
pools: 1 pools, 1 pgs
objects: 0 objects, 0 B
usage: 9.1 GiB used, 891 GiB / 900 GiB avail
pgs: 1 active+clean
查看 ceph pool
ceph osd lspools