Linux | Ceph | Ubuntu 中部署 Ceph 集群


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

參考文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM