返回顶部

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
posted @ 2021-05-08 17:59  hovin  阅读(1782)  评论(0编辑  收藏  举报