ceph分布式集群的搭建


一、前期准備

1.1、主機規划

IP 系統 主機名 描述
192.168.80.37 CentOS7.6 ceph01 admin-node,mon-node1,osd1
192.168.80.47 CentOS7.6 ceph02 mon-node2,osd2
192.168.80.57 CentOS7.6 ceph03 osd3

1.2、修改主機名

按主機規划設備各主機的主機名,並在 /etc/hosts 文件中添加解析配置

#修改主機名
hostnamectl set-hostname ceph01
exec bash

#修改/etc/hosts,添加以下配置
vim /etc/hosts
192.168.80.37   ceph01
192.168.80.47   ceph02
192.168.80.57   ceph03

1.3、關閉防火牆

# 停止
systemctl stop firewalld.service
# 禁用
systemctl disable firewalld.service

1.4、關閉SELinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

1.5、配置yum源

cd /etc/yum.repos.d/
mkdir bak && mv *.repo bak/

#下載aliyun的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

1.6、設置時間同步

# 設置時區
timedatectl set-timezone Asia/Shanghai

# 同步時間
yum install -y ntpdate
ntpdate time1.aliyun.com

1.7、創建免密鑰登錄

#在ceph01節點上執行
ssh-keygen
ssh-copy-id root@ceph01
ssh-copy-id root@ceph02
ssh-copy-id root@ceph03

二、ceph集群搭建

2.1、配置ceph源

vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for
[ceph]
name=Ceph packages for
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-noarch]
name=Ceph noarch packages 
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages 
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

2.2、安裝ceph-deploy和ceph

#在ceph01節點上執行
yum install -y ceph-deploy ceph python-setuptools

#在ceph02和ceph03節點上執行
yum install -y ceph python-setuptools

2.3、創建集群

(1) 在管理節點admin-node(ceph01)上創建mon並初始化,收集秘鑰

#進行配置文件目錄
cd /etc/ceph

#創建mon
ceph-deploy new ceph01 ceph02
#初始化mon
ceph-deploy mon create-initial

#查看集群狀態
ceph -s

(2) 在管理節點admin-node(ceph01)上創建osd

#創建osd
ceph-deploy osd create --data /dev/sdb ceph01
ceph-deploy osd create --data /dev/sdb ceph02
ceph-deploy osd create --data /dev/sdb ceph03

#查看集群狀態
ceph -s

#查看osd狀態
ceph osd stat
#查看osd目錄樹
ceph osd tree

(3) 在管理節點admin-node(ceph01)上,將配置文件和admin秘鑰下發到節點,並給秘鑰增加權限

#在ceph01節點上執行
ceph-deploy admin ceph01 ceph02 ceph03

#在ceph01、ceph02、ceph03節點上執行(/etc/ceph目錄下)
chmod +r ceph.client.admin.keyring

#查看集群狀態
ceph -s

2.4、創建mgr網關

#在ceph01節點上執行
cd /etc/ceph
ceph-deploy gatherkeys ceph01 ceph02 ceph03
ceph-deploy mgr create ceph01 ceph02 ceph03

#查看集群健康狀態
ceph health

#安裝octopus版本時還需要裝以下模塊
pip3 install pecan werkzeug

2.5、創建mds和pool

#以下操作均在ceph01節點上執行
#創建mds
ceph-deploy mds create ceph01 ceph02 ceph03

#創建存儲池
ceph osd pool create cephfs_data 120
ceph osd pool create cephfs_metadata 120

#創建文件系統
ceph fs new cephfs cephfs_metadata cephfs_data

#查看文件系統
ceph fs ls

#查看mds節點狀態
ceph mds stat
#常用命令
ceph osd pool get [存儲池名稱] size  	#查看存儲池副本數
ceph osd pool set [存儲池名稱] size 3  	#修改存儲池副本數

ceph osd lspools  #打印存儲池列表

ceph osd pool create [存儲池名稱] [pg_num的取值]  	#創建存儲池
ceph osd pool rename [舊的存儲池名稱] [新的存儲池名稱] #存儲池重命名

ceph osd pool get [存儲池名稱] pg_num  	#查看存儲池的pg_num
ceph osd pool get [存儲池名稱] pgp_num  	#查看存儲池的pgp_num

ceph osd pool set [存儲池名稱] pg_num [pg_num的取值]  	#修改存儲池的pg_num值
ceph osd pool set [存儲池名稱] pgp_num [pgp_num的取值]  #修改存儲池的pgp_num值

2.6、客戶端掛載

(1) 內核驅動掛載

#安裝依賴
yum install -y ceph-common

#創建掛載點
mkdir /mnt/cephfs

#獲取存儲密鑰,管理節點執行
ceph auth get-key client.admin
#或從文件中獲取
cat /etc/ceph/ceph.client.admin.keyring

#直接掛載
mount -t ceph 192.168.80.37:6789:/ /mnt/cephfs -o name=admin,secret=AQBkMoJge6sUAxAAg2s7u+s4p3wDDQNNx0TP9Q==
#建議將密鑰保存到文件中然后再掛載
echo 'AQBkMoJge6sUAxAAg2s7u+s4p3wDDQNNx0TP9Q==' > /etc/ceph/admin.secret
mount -t ceph 192.168.80.37:6789:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret

#卸載
umount /mnt/cephfs/

(2) 用戶控件掛載

#安裝依賴
yum install -y ceph-fuse

#掛載
ceph-fuse -m 192.168.80.37:6789 /mnt/cephfs

#卸載
fusermount -u /mnt/cephfs

2.7、擴容操作

假如有一個新的ceph04節點(提前安裝好相關包,類似於ceph02節點)要加入集群,並且需要擴容mon和osd

(1) 擴容mon

#在ceph01節點上執行,修改ceph.conf文件
cd /etc/ceph
vim ceph.conf
[global]
fsid = 4ed770bf-5768-4ba5-b04f-f96a63bb98c9
mon_initial_members = ceph01, ceph02, ceph04			#添加ceph04
mon_host = 192.168.80.37,192.168.80.47,192.168.80.67 	#添加ceph04的IP地址'	
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public network = 192.168.80.0/24	#添加內部通信網段

#重新下發配置文件
ceph-deploy --overwrite-conf config push ceph01 ceph02 ceph03

#添加mon
ceph-deploy mon add ceph04

#查看集群狀態
ceph -s

(2) 擴容osd

ceph-deploy osd create --data /dev/sdb ceph04


免責聲明!

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



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