使用cephadm安裝ceph octopus
阿新 • • 發佈:2020-12-20
一、基礎配置
Cephadm使用容器和systemd安裝和管理Ceph叢集,並與CLI和儀表板GUI緊密整合。
- cephadm僅支援octopus v15.2.0和更高版本。
- cephadm與新的業務流程API完全整合,並完全支援新的CLI和儀表板功能來管理叢集部署。
- cephadm需要容器支援(podman或docker)和Python 3。
- 時間同步
使用的centos8來安裝的ceph,已經內建了python3,不再單獨安裝,centos7需要單獨安裝python3
1、配置hosts解析
# cat /etc/hosts 192.168.40.132 node1 192.168.40.133 node2 192.168.40.134 node3
2、關閉防火牆和selinux
systemctl stop firewalld && systemctl disable firewalld setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3、設定主機名
hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3
4、配置主機時間同步
systemctl restart chronyd.service && systemctl enable chronyd.service(具體步驟省略)
5、安裝docker-ce
dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo dnf install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm dnf -y install docker-ce --nobest sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://s7owcmp8.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl enable docker
二、安裝cephadm
cephadm命令可以
- 引導新叢集
- 使用有效的Ceph CLI啟動容器化的Shell
- 幫助除錯容器化的Ceph守護程序。
以下操作只在一臺節點執行就可以
使用curl
獲取獨立指令碼的最新版本。網路不好的話可直接去GitHub複製
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm (wget也行) chmod +x cephadm
安裝cephadmn
./cephadm add-repo --release octopus ./cephadm install
引導新群集
要引導群集,需要先建立一個目錄:/etc/ceph
mkdir -p /etc/ceph
然後執行該命令:ceph bootstrap
cephadm bootstrap --mon-ip 192.168.40.132
此命令將會進行以下操作:
- 為本地主機上的新群集建立monitor和manager守護程式。
- 為 Ceph 群集生成新的 SSH 金鑰,並將其新增到root使用者的檔案
/root/.ssh/authorized_keys
- 將與新群集通訊所需的最小配置檔案儲存到
/etc/ceph/ceph.conf
- 將
client.admin
管理(特權!)金鑰的副本寫入/etc/ceph/ceph.client.admin.keyring
- 將公鑰的副本寫入
/etc/ceph/ceph.pub
安裝完成後會有一個dashboard介面
Mgr epoch 13 is available Generating a dashboard self-signed certificate... Creating initial admin user... Fetching dashboard port number... Ceph Dashboard is now available at: URL: https://node1:8443/ User: admin Password: rlvdfqj1di You can access the Ceph CLI with: sudo /usr/sbin/cephadm shell --fsid 418abd02-42a9-11eb-91f4-000c298c369a -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring Please consider enabling telemetry to help improve Ceph: ceph telemetry on For more information see: https://docs.ceph.com/docs/master/mgr/telemetry/ Bootstrap complete.
瀏覽器訪問
執行完成後我們可以檢視ceph.conf已經寫入了
[root@node1 ~]# ll /etc/ceph/ total 12 -rw-------. 1 root root 63 Dec 20 17:55 ceph.client.admin.keyring -rw-r--r--. 1 root root 179 Dec 20 17:55 ceph.conf -rw-r--r--. 1 root root 595 Dec 20 17:55 ceph.pub [root@node1 ~]# cat /etc/ceph/ceph.conf # minimal ceph.conf for 418abd02-42a9-11eb-91f4-000c298c369a [global] fsid = 418abd02-42a9-11eb-91f4-000c298c369a mon_host = [v2:192.168.40.132:3300/0,v1:192.168.40.132:6789/0]
啟用 CEPH CLI
cephadm shell命令在安裝了所有Ceph包的容器中啟動bash shell。預設情況下,如果在主機上的/etc/ceph中找到配置和keyring檔案,則會將它們傳遞到容器環境中,以便shell完全正常工作。
# cephadm shell Inferring fsid 418abd02-42a9-11eb-91f4-000c298c369a Inferring config /var/lib/ceph/418abd02-42a9-11eb-91f4-000c298c369a/mon.node1/config Using recent ceph image ceph/ceph:v15 [ceph: root@node1 /]#
[ceph: root@node1 /]# ceph -s
cluster:
id: 418abd02-42a9-11eb-91f4-000c298c369a
health: HEALTH_WARN
OSD count 0 < osd_pool_default_size 3
services:
mon: 1 daemons, quorum node1 (age 16m)
mgr: node1.bibyjy(active, since 15m)
osd: 0 osds: 0 up, 0 in
data:
pools: 0 pools, 0 pgs
objects: 0 objects, 0 B
usage: 0 B used, 0 B / 0 B avail
pgs:
可以在節點上安裝包含所有 ceph 命令的包,包括 、(用於安裝 CephFS 檔案系統)等