首页 > 系统相关 >基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack

时间:2023-03-02 20:02:52浏览次数:67  
标签:部署 cephde osd ceph cephcluster node1 openstack 节点

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack

 转载

SunnyZhang的IT世界2021-06-10 11:17:48

文章标签云计算Ceph分布式存储文章分类云计算阅读数378

1. 搭建部署

1.1. 基础环境

1.1.1. 配置yum源码

设置yum源

 

# 在全部控制与计算节点设置epel与ceph yum源(base yum源已更新),以node1节点为例;
 
# epel:http://mirrors.aliyun.com/repo/
[root@node1 ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
 
# ceph:http://mirrors.aliyun.com/ceph/
# 编辑ceph.repo文件,使用luminous版本
[root@node1 ~]# vim /etc/yum.repos.d/ceph.repo 
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc# 重新加载yum源
[root@node1 ~]# yum clean all
[root@node1 ~]# yum makecache
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
   

 

# 查看yum源

[root@node1 ~]# yum repolist
  • 1.
   

1.1.2. 设置主机名

 

# 所有节点设置相应主机名即可,以node1节点为例;
[root@localhost ~]# hostnamectl set-hostname node1
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储

1.1.3. 设置hosts

 

# 所有节点保持一致的hosts即可,以node1节点为例;
[root@node1 ~]# cat /etc/hosts
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_02

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_03

1.1.4. 设置ntp

 

# 所有节点保持时钟同步,配置node1节点为时钟服务器
[root@node1 ~]# yum -y install chrony
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_04

# 所有节点保持时钟同步,
配置node2节点为例配置node3,node4,node5
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_05

所有节点服务重启,并查看同步状态

 

systemctl restart chronyd.service
chronyc sources -v
  • 1.
  • 2.
   

1.1.5. 关闭防火墙selinux

 

[root@node1 ~]# service firewalld stop
[root@node1 ~]# chkconfig firewalld off
[root@node1 ~]# setenforce 0
  • 1.
  • 2.
  • 3.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_06

1.1.6. 创建用户

1.1.6.1. 创建用户

 

 所有节点执行
[root@node1 ~]# useradd -d /home/ceph -m cephde
[root@node1 ~]# passwd cephde
New password: storage_pass
Retype new password: storage_pass
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
   

 

# 修改visudo文件,使cephde用户在sudo列表中;

 

# 在92行” root    ALL=(ALL)       ALL”下新增一行:” cephde    ALL=(ALL)       ALL”
[root@node1 ~]# visudo
 cephde    ALL=(ALL)       ALL
  • 1.
  • 2.
  • 3.
   

1.1.6.2. 用户赋权

 

# 设置cephde用户具备无密码sudo(root)权限;
# 切换到cephde用户下操作
[root@node1 ~]# su - cephde
[cephde@node11 ~]$ echo "cephde ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephde
[sudo] password for cephde:storage_pass
[cephde@node11 ~]$ sudo chmod 0440 /etc/sudoers.d/cephde
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
   

1.1.7.  设置ssh免密登陆

 

# ceph-deploy不支持密码输入,需要在管理控制节点生产ssh秘钥,并将公钥分发到各ceph节点;
# 在用户cephde下生成秘钥,不能使用sudo或root用户;
# 默认在用户目录下生成~/.ssh目录,含生成的秘钥对;
# “Enter passphrase”时,回车,口令为空;
[root@node1 ~]# su - cephde
[cephde@node1 ~]$ ssh-keygen -t rsa
Enter file in which to save the key (/home/ceph/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
   

 

1.1.7.1. 分发密钥

 

# 前提是各控制与存储节点已生成相关用户;
# 初次连接其他节点时需要确认;
# 首次分发公钥需要密码;
# 分发成功后,在~/.ssh/下生成known_hosts文件,记录相关登陆信息;
# 以node1节点免密登陆node4,node5节点为例
[cephde@node1 ~]$ ssh-copy-id cephde@node2
Are you sure you want to continue connecting (yes/no)? yes
cephde@node2's password:
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_07

1.1.7.2. 设置环境变量(optional)

 

在node1
# 在root账号主目录下,生成~/.ssh/config文件,这样在控制管理节点上执行”ceph-deploy”时可不切换用户或指定”--username {username}”;
[root@node1 ~]# cat ~/.ssh/config 
# ceph-deploy
Host node1
   Hostname node1
   User cephde
 
Host node2
    Hostname node2
    User cephde
 
Host node3
    Hostname node3
    User cephde
 
Host node4
    Hostname node4
    User cephde
 
Host node4
    Hostname node4
User cephde
 
Host node5
    Hostname node5
    User cephde
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_08

1.1.8. 配置网络

1.1.8.1. 添加网卡

这里采用主机添加两块网卡,
VMnet0,VMnet1,对应网段分别是:192.168.2.0/24;192.168.239.0/24.
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_09

1.1.8.2. 配置虚拟机网络

以node1为例全部虚拟机配置对应规划ip:
  • 1.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_10

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_11

2. 部署ceph集群

2.1. 安装ceph-deploy

 

# 在规划的控制管理节点安装ceph-deploy工具,以node1节点为例,这里我只把node1规划为管理节点。
[root@node1 ~]# yum install ceph-deploy -y
  • 1.
  • 2.
   

 

2.2. 创建ceph集群

2.2.1. 创建集群

 

# 在cephde账户下操作,切忌使用sudo操作;
# 在管理节点上生成一个目录用于存放集群相关配置文件;
[root@node1 ~]# su - cephde
[cephde@node1 ~]$ mkdir cephcluster
 
# 后续ceph-deploy相关操作全部在所创建的目录执行;
# 将规划中的MON(monitor)节点纳入集群,即创建集群
[cephde@node1 ~]$ cd ~/cephcluster/
[cephde@node1 cephcluster]$ ceph-deploy new node1 node2 node3 node4 node5
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_12

原因:缺少python-setuptools安装包
[cephde@node1 ~]$ sudo yum install python-setuptools
在所有节点安装,否则会报错
  • 1.
  • 2.
  • 3.
   

2.2.2. 修改集群配置文件(optional)

 

# 生成集群后在集群目录下生成3个文件,其中ceph.conf即是配置文件;
# 默认可不修改,为使服务按规划启动,可做适当修改;
# 以下红色字体部分是在默认生成的conf文件上新增的配置
[cephde@node1 cephcluster]$ cat ceph.conf 
[global]
fsid = 1f277463-7f9b-46cd-8ed7-c44e1493b131
mon_initial_members = node1, node2, node3, node4, node5
mon_host = 192.168.2.14,192.168.2.15,192.168.2.16,192.168.2.17,192.168.2.18
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
# public network:前端mon网络,client访问网络;确保public network与mon_host在相同网段,否则初始化时可能会有错误;
# cluster network:后端osd心跳,数据/流复制恢复等网络
public network = 192.168.2.0/24
cluster network = 192.168.239.0/24
 
# 默认的副本数为3,实验环境变更为2
osd pool default size = 2
 
# 默认保护机制不允许删除pool,根据情况设置
mon_allow_pool_delete = true
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
   

2.3. 安装ceph

 

# 在全部控制管理与存储节点安装ceph;
# 理论上在控制节点的ceph集群目录使用ceph-deploy可统一安装,命令:ceph-deploy install node1 node2 node3 node4 node5;
# 但由于网速原因大概率会失败,可在各存储节点独立安装ceph与ceph-radosgw,以node1节点为例
[root@node1 ~]# yum install -y ceph ceph-radosgw
  • 1.
  • 2.
  • 3.
  • 4.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_13

依赖报错,安装依赖包
wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//leveldb-1.12.0-5.sdl7.x86_64.rpm
rpm -ivh leveldb-1.12.0-5.sdl7.x86_64.rpm
  • 1.
  • 2.
  • 3.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_14

依赖报错,安装依赖包
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -ivh epel-release-7-11.noarch.rpm
yum -y install python-pecan
  • 1.
  • 2.
  • 3.
  • 4.
   

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_15

2.4初始化ceph_mon

 

# 在控制管理节点初始化monitor
[cephde@node1 cephcluster]$ ceph-deploy mon create-initial
# 初始化完成后,在集群目录下新增多个秘钥文件
[cephde@node1 cephcluster]$ ls -l
  • 1.
  • 2.
  • 3.
  • 4.
   

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_16

 

# 查看状态

[cephde@node1 cephcluster]$ sudo systemctl status ceph-mon@node1

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_17

2.5. 分发ceph.conf与秘钥

 

# 分发ceph配置文件与秘钥到其他控制管理节点与存储节点;
# 注意分发节点本身也需要包含在内,默认没有秘钥文件,需要分发;
# 如果被分发节点已经配置文件(统一变更配置文件场景),可以使用如下命令:
ceph-deploy  --overwrite-conf admin xxx
# 分发的配置文件与秘钥在各节点/etc/ceph/目录
[cephde@node1 cephcluster]$ ceph-deploy admin node1 node2 node3 node4 node5
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_18

2.6. 安装ceph_mgr

2.6.1. 安装mgr

 

# luminous版本必须安装mgr(dashboard)
[cephde@node1 cephcluster]$ ceph-deploy mgr create node1:node1_mgr node2:node2_mgr node3:node3_mgr node4:node4_mgr node5:node5_mgr
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_19

# 查看状态;
[cephde@node1 cephcluster]$ systemctl status ceph-mgr@node1_mgr
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_20

[cephde@node1 cephcluster]$ sudo netstat -tunlp | grep mgr
  • 1.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_21

2.6.2. 启动mgr

 

# 可查看mgr默认开启的服务:(sudo) ceph mgr module ls;
# 默认dashboard服务在可开启列表中,但并未启动,需要手工开启
[cephde@node1 cephcluster]$ sudo ceph mgr module enable dashboard
 
# dashboard服务已开启,默认监听全部地址的tcp7000端口;
# 如果需要设置dashboard的监听地址与端口,如下:
# 设置监听地址:(sudo) ceph config-key put mgr/dashboard/server_addr x.x.x.x
# 设置监听端口:(sudo) ceph config-key put mgr/dashboard/server_port x
[cephde@node1 cephcluster]$ sudo netstat -tunlp | grep mgr
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_22

 

web登陆: http://192.168.2.14:7000/

 

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_23

2.7. 查看集群状态

 

# 查看monitor状态
[cephde@cnode1 cephcluster]$ sudo ceph mon stat
  • 1.
  • 2.
   

 

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_24

 

# 查看ceph状态:ceph health (detail),ceph -s,ceph -w等;
# 状态显示mgr处于active-standby模式
[cephde@node1 cephcluster]$ sudo ceph -s
  • 1.
  • 2.
  • 3.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_25

 

 

# 可在各节点查看认证信息等
[cephde@node1 cephcluster]$ sudo ceph auth list
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_26

2.8. 创建osd(存储)

2.8.1. 创建osd

 

# osd位于存储节点,可查看存储节点磁盘状况,以node2,node3,node4节点为例
[root@node2 ~]# lsblk
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_27

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_28

 

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_29

 

# 实际创建osd时,可通过管理节点使用ceph-deploy创建;
# 本例中有5个osd节点,每个osd节点可运行4个osd进程(在6800~7300端口范围内,每进程监听1个本地端口)
[cephde@node1 cephcluster]$ ceph-deploy osd create node1 --data /dev/sdb
[cephde@node1 cephcluster]$ ceph-deploy osd create node1 --data /dev/sdc
 
[cephde@node1 cephcluster]$ ceph-deploy osd create node2 --data /dev/sdb
[cephde@node1 cephcluster]$ ceph-deploy osd create node2 --data /dev/sdc
 
[cephde@node1 cephcluster]$ ceph-deploy osd create node3 --data /dev/sdb
[cephde@node1 cephcluster]$ ceph-deploy osd create node3 --data /dev/sdc
 
[cephde@node1 cephcluster]$ ceph-deploy osd create node4 --data /dev/sdb
[cephde@node1 cephcluster]$ ceph-deploy osd create node4 --data /dev/sdc
 
[cephde@node1 cephcluster]$ ceph-deploy osd create node5 --data /dev/sdb
[cephde@node1 cephcluster]$ ceph-deploy osd create node5 --data /dev/sdc
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_30

2.8.2. 查看osd状态

 

# 在管理节点查看
[cephde@node1 cephcluster]$ ceph-deploy osd list node1
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_31

 

# 在管理节点查看osd状态等
[cephde@node1 cephcluster]$ sudo ceph osd stat
[cephde@node1 cephcluster]$ sudo ceph osd tree
  • 1.
  • 2.
  • 3.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_32

# 在管理节点查看容量及使用情况

[cephde@
node
1 cephcluster]$ sudo ceph df
  • 1.
  • 2.
  • 3.
   

 基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_云计算_33

# 在osd节点查看

[root@node2~]# lsblk
  • 1.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_34

# ceph-osd进程,根据启动顺序,每个osd进程有特定的序号

 

[root@node2 ~]# systemctl status ceph-osd@3
  • 1.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_分布式存储_35

# osd进程端口号;

 

# 或:ps aux | grep osd | grep -v grep
[root@node2 ~]# netstat -tunlp | grep osd
  • 1.
  • 2.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_36

 

 或登陆mgr_dashboard:http://192.168.2.18:7000
  • 1.
   

基于centos7.5安装部署最新luminous版 ceph集群部署整合openstack_Ceph_37

本文档全程测试,没有任何问题。

标签:部署,cephde,osd,ceph,cephcluster,node1,openstack,节点
From: https://www.cnblogs.com/yaoyangding/p/17173190.html

相关文章

  • jenkins部署微服务
    非容器发布步骤1.拉取代码2.编译各微服务模块3.发送微服务模块的jar包到目标机4.登录目标机启动各微服务模块对应jar包发布中的问题1.docker中的文件不能映射到宿主机问题:do......
  • docker部署gitlab 15.9
    docker-compose.ymlversion:'3.6'services:web:image:'gitlab/gitlab-ce:15.9.1-ce.0'restart:alwayshostname:'project.example.com'contai......
  • frp部署
    1.frp简介frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到......
  • openLDAP主从&双主架构部署
    服务规划:IP系统服务角色172.17.26.202centos7LDAP主172.17.26.207centos7LDAP从172.17.26.208centos7LDAP主说明:此架构是一套双主一从的架......
  • 生产环境网站部署
    需求:1、需要nginx做域名端口映射功能2、考虑使用cdn减轻服务器压力3、nginx使用缓存功能,重启预热  cdn可以最多设置3年的缓存时间,并且可以在返回头设置浏览器的本地缓存......
  • 【npm】在Ubuntu1804部署Verdaccio
    1、创建verdaccio系统用户:$sudoadduser--system--gecos'VerdaccioNPMmirror'--group--home/var/lib/verdaccioverdaccio 2、切换到该用户,并且切入该用户的家目......
  • KingbaseES V8R6 集群运维系列 -- 命令行部署repmgr管理集群+switchover测试
    本次部署未使用securecmd/kbha工具,无需普通用户到root用户的互信。一、环境准备1、创建OS用户建立系统数据库安装用户组及用户,在所有的节点执行。root用户登陆服务器,创......
  • docker+react+nginx部署
    一、准备工作1、先确保项目可以正常运行。2、如果拉代码到Linux下进行打包,注意node版本,我就是版本不同,yarnbuild一直不成功。3、找一个nginx的配置文件ngi......
  • docker+go+gin部署
    一、准备工作1、先确保项目可以正常运行二、编写Dockerfile文件,生成镜像FROMgolang:1.18.1WORKDIR/go/src/appADD.//go/src/appRUNgoenv-wGO111MODULE=......
  • Bitnami fluentd 部署,输出到ES出错
    不加载ES相关的cm就没问题:fluentd04:34:48.31 fluentd04:34:48.31WelcometotheBitnamifluentdcontainerfluentd04:34:48.31Subscribetoprojectupdatesbyw......