ceph安装搭建总结

ceph安装搭建总结

大纲

  • 版本选择
  • 集群架构
  • 免密登录
  • 安装ceph-deploy
  • 部署ceph集群
  • 安装mgr
  • 安装ceph-dashboard

版本选择

ceph 版本信息如下

ceph安装搭建总结_第1张图片

本次测试使用版本为Octopus 主版本号为15, 并且使用ceph-deploy 2.0.1安装ceph集群

Ceph Octopus 官方文档

相关环境与软件

  • ceph15.2.17 Octopus
  • eph-deploy 2.0.1
  • ubuntu18.04.6

注意使用 virtualbox 复制的虚拟机 需要修改一下hostname

集群架构

ceph安装搭建总结_第2张图片相关服务器可以ping通
ceph安装搭建总结_第3张图片

免密登录

登录ceph-controller主机,后续安装部署都会从这台机器发出命令,需要让ceph-controller主机 可以对 ceph-osd1 ceph-osd2 ceph-osd3 免密登录

这里为了方便直接使用root用户

生成公私钥

ssh-keygen

ceph安装搭建总结_第4张图片

复制秘钥

ssh-copy-id  root@ceph-osd1
ssh-copy-id  root@ceph-osd2
ssh-copy-id  root@ceph-osd3

ceph安装搭建总结_第5张图片

关闭防火墙

查看防火墙状态

ufw status 

在这里插入图片描述

如果防火墙状态不是inactive 则需要关闭防火墙

ufw disable

集群节点时间同步

安装 chrony 使ceph集群主机系统时钟与NTP服务器同步

否则ceph -s 可能看到集群健康状态为 health: HEALTH_WARN
clock skew detected on mon.ceph-osd2 

集群每个主机安装 chrony

apt install -y chrony 

ceph安装搭建总结_第6张图片

启动 chrony服务

systemctl start chronyd.service
systemctl status chronyd.service

ceph安装搭建总结_第7张图片

安装ceph-deploy

ceph-deploy 是Ceph软件定义存储系统的一部分,用来方便的配置和管理Ceph存储集群

查看ubuntu18.04 apt 对应的ceph-deploy版本

apt-cache madison ceph-deploy

在这里插入图片描述

本次安装选择使用 ceph-deploy 2.0.1 ceph-deploy 2.x文档

https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-15.2.16/pool/main/c/ceph-deploy/

ceph安装搭建总结_第8张图片

配置安装源,这里用了清华镜像的安装源

# 添加镜像源
wget -q -O- 'https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc' | apt-key add -
echo deb https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-15.2.16  $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
# apt 更新
apt update
# 再次查询ceph-deploy
apt-cache madison ceph-deploy

ceph安装搭建总结_第9张图片

安装ceph-deploy 2.0.1

apt install  ceph-deploy=2.0.1

ceph安装搭建总结_第10张图片

ceph-deploy --version

在这里插入图片描述

到此 ceph-deploy 安装完成

部署ceph集群

部署ceph集群管理相关软件

注意: 以下操作都是在ceph-controller主机上执行

主要操作:

  • 1 创建ceph集群
  • 2 部署Mon
  • 3 部署MGR
  • 4 部署 Ceph-Dashboard

准备工作文件夹

准备一个工作文件夹,用于保存ceph-deploy 部署过程中的各种文件

mkdir -p /ops/ceph-cluster

ceph安装搭建总结_第11张图片

配置ceph安装源

可以配置环境变量来实现ceph-deploy 使用指定的安装源 (因为本次实验使用的ceph 版本为octopus)

一些常用的镜像安装源

  • http://mirrors.163.com/ceph
  • http://mirrors.163.com/ceph/keys/release.asc
  • https://download.ceph.com
  • https://download.ceph.com/keys/release.asc

这里用清华镜像的安装源

vi /etc/profile

加入以下环境变量
export CEPH_DEPLOY_GPG_URL=https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc
export CEPH_DEPLOY_REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/ceph/debian-octopus/

source /etc/profile

ceph安装搭建总结_第12张图片

安装ceph 所需的安装包

命令 ceph-deploy install 【主机】(多个用主机用空格分开)可以安装ceph集群所需的各种安装包

例如
ceph-deploy install ceph-controller  在ceph-controller主机上安装各种所需包
ceph-deploy install ceph-osd1 ceph-osd2 ceph-osd3

ceph安装搭建总结_第13张图片

安装完成后可以使用ceph -v看到版本

在这里插入图片描述

初始化集群

在ceph-controller控制机 /ops/ceph-cluster文件夹下执行ceph-deploy new
ceph-deploy new 能够部署一个默认名称为ceph的新集群,并且生成集群配置文件和密钥文件

初始化集群
ceph-deploy new ceph-controller

在当前目录下会生成ceph.conf文件和ceph.mon.keyring文件

ceph安装搭建总结_第14张图片

安装mon mgr

安装mon 与 mgr 监控管理

# 初始化moniter节点,并生成keyring
ceph-deploy --overwrite-conf mon create-initial

ceph安装搭建总结_第15张图片

注意 mon对应的服务名称为ceph-mon@【主机名称】

例如
ceph-mon@ceph-osd1
ceph-mon@ceph-osd2
ceph-mon@ceph-controller

可以使用

  • systemctl status ceph-mon@ceph-controller 查看服务状态
  • systemctl restart ceph-mon@ceph-controller 重启服务

ceph安装搭建总结_第16张图片

#可以使用ceph-deploy admin 【主机】将admin.keyring复制到做为管理节点的主机上
#命令可以跟多台主机
ceph-deploy admin ceph-controller
执行此命令可以看到在 /etc/ceph文件夹下增加了 ceph.client.admin.keyring文件


#可以使用ceph-deploy mgr create 【主机】创建管理节点,命令可以跟多台主机
ceph-deploy mgr create ceph-controller

使用ceph -s 查看当前ceph集群状态

ceph安装搭建总结_第17张图片

安装配置Ceph Dashboard

安装Ceph Dashboard 参考官方文档 https://docs.ceph.com/en/octopus/mgr/dashboard/

apt install ceph-mgr-dashboard

ceph安装搭建总结_第18张图片

安装完ceph-mgr-dashboard后可能需要重启一下服务

systemctl restart ceph-mgr.target

关闭https,配置IP和端口

ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_addr 192.168.0.17
ceph config set mgr mgr/dashboard/server_port 18804
启动 ceph dashboard
ceph mgr module enable dashboard

ceph安装搭建总结_第19张图片

浏览器访问 http://192.168.0.17:18804/ dashboard成功启动

ceph安装搭建总结_第20张图片

配置账号

创建账号的命令如下
ceph dashboard ac-user-create 【用户名】 -i 【包含密码的文件】【角色】
例如创建jim 赋予 管理员角色
ceph dashboard ac-user-create jim -i jim.key administrator

在这里插入图片描述

使用创建好的账户登录Ddashboard

ceph安装搭建总结_第21张图片

部署ceph集群osd

ceph -s 可以看到当前的ceph集群健康状态

ceph安装搭建总结_第22张图片

OSD count 0 < osd_pool_default_size 3
ceph集群至少要3个OSD

虚拟机挂载硬盘

在Virtualbox上给虚拟机ceph-osd1 ceph-osd2 ceph-osd3加硬盘

选择虚拟机 -》 设置 -》存储 -》添加虚拟硬盘

ceph安装搭建总结_第23张图片点击创建

ceph安装搭建总结_第24张图片ceph安装搭建总结_第25张图片
ceph安装搭建总结_第26张图片

ceph安装搭建总结_第27张图片

登录ceph-osd1主机,新增的磁盘已经可以识别

lsblk
新增的磁盘已经可以识别

ceph安装搭建总结_第28张图片

安装ceph相关软件

注意:以下操作需要在ceph-controller主机 /ops/ceph-cluster文件夹下操作

给ceph-osd1 ceph-osd2 ceph-osd3主机安装ceph相关软件

ceph-deploy install ceph-osd1 ceph-osd2 ceph-osd3

ceph安装搭建总结_第29张图片

如果出现以下错误,需要在ceph-osd1 ceph-osd2 ceph-osd3上安装python (apt install python

bash: python2: command not found
[ceph_deploy][ERROR ] RuntimeError: connecting to host: ceph-osd1 resulted in errors: IOError cannot send (already closed?)

在这里插入图片描述

部署osd

1 使用ceph-deploy disk list 【主机】可以查看主机可使用的磁盘

ceph-deploy disk list ceph-osd1 ceph-osd2 ceph-osd3

ceph安装搭建总结_第30张图片

可使用的磁盘 /dev/sdb

2 使用 ceph-deploy disk zap 【主机 磁盘名称】 格式化磁盘

ceph-deploy disk zap ceph-osd1 /dev/sdb
ceph-deploy disk zap ceph-osd2 /dev/sdb
ceph-deploy disk zap ceph-osd3 /dev/sdb

ceph安装搭建总结_第31张图片

3 使用 ceph-deploy osd create 创建osd

ceph-deploy osd create ceph-osd1  --data /dev/sdb 
ceph-deploy osd create ceph-osd2  --data /dev/sdb 
ceph-deploy osd create ceph-osd3  --data /dev/sdb 

ceph安装搭建总结_第32张图片

安装完成后执行ceph -s再次查看ceph集群状态

ceph安装搭建总结_第33张图片
ceph-deploy osd create 还可以使用更高级的创建方式
如果有更多的磁盘可以使用 –block-db --block-wal 参数

bluestore(裸设备,文件系统方式为filestore)方式,ceph 会在 osd 里面使用 rocksdb 存放对象的元数据,这时候就会有三类数据Object Data Blobs(对象数据)、SST文件(rocksdb数据文件)、wal文件(rocksdb日志文件,类似redis的aof文件),这时候把 sst 或者 wal 文件放在更快的 ssd 或者 NVMe盘上,会提升 osd 储存性能
--data 选项指定的是Object Data存放的硬盘 (不指定--block-db和--block-wal 所有数据都放在--data指定的硬盘上)
--block-db 选项指定的是SST文件存放位置 
--block-wal 选项指定的是wal文件存放位置
其中 block-db 大小应该不小于 4% data,也就是说如果 --data 盘 1T,--block-db 应该不小于40G

扩展ceph集群

Ceph集群至少需要一个monitor才能运行,为了高可以用需要部署奇数个monitor,实现仲裁
ceph安装搭建总结_第34张图片

修改 /ops/ceph-cluster文件夹下的ceph.conf文件添加

public_network = 192.168.0.0/24

ceph安装搭建总结_第35张图片

ceph-deploy mon create 命令

ceph-deploy --overwrite-conf mon create ceph-osd1
ceph-deploy --overwrite-conf mon create ceph-osd2
注意--overwrite-conf参数 用于覆盖已经存在的ceph.conf

ceph安装搭建总结_第36张图片

安装完成后执行ceph -s再次查看ceph集群状态 monitor已经成功安装3个

ceph安装搭建总结_第37张图片

简单使用ceph集群

创建一个pool

ceph osd pool create mytest 128 128

ceph安装搭建总结_第38张图片

保存数据
echo "hello jimliu " > ./1.txt
rados -p mytest put object1 ./1.txt
rados -p mytest ls

ceph安装搭建总结_第39张图片

后记

ceph -s 查看 health: HEALTH_WARN

1 clock skew detected on mon.ceph-osd2
可能原因是时间不同步

需要各个节点安装NTP软件

2 mon is allowing insecure global_id reclaim

ceph config set mon auth_allow_insecure_global_id_reclaim false

你可能感兴趣的:(ceph,ceph,linux,运维)