Ceph安装部署

环境准备

主机IP1IP2功能
ceph1192.168.233.212102.168.145.212deploy、mon*1 、osd *2
ceph2192.168.233.213102.168.145.213mon*1 、osd *2
ceph3192.168.233.214102.168.145.214mon*1 、osd *2

IP1:模式为NAT,作为public network。

IP2:模式为仅主机,作为cluster network

DEVICE="ens37"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR="192.168.145.XXX"
NETMASK="255.255.255.0"
NAME="ens37"

搭建部署

基础环境
  • 配置yum源
#在全部节点设置epel与ceph的yum源,以ceph1为例
[root@ceph1 ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
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
priority=1
[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
priority=1
[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
priority=1
  • 查看yum源
[root@ceph1 ~]# yum repolist
  • 设置主机名
# 所有节点设置对应主机名,ceph1为例
hostnamectl set-hostname ceph1
  • 设置hosts
#所有节点保持一致的hosts
[root@ceph1 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.233.212 ceph1
192.168.233.213 ceph2
192.168.233.214 ceph3
  • 设置ntp
#所有节点保持时钟同步,配置ceph1为时钟服务器
[root@ceph1 ~]# yum -y install chrony
[root@ceph1 ~]# egrep -v "^$|^#" /etc/chrony.conf

#所有节点保持时钟同步,以配置ceph2为例
[root@ceph1 ~]# egrep -v "^$|^#" /etc/chrony.conf

server 192.168.233.212 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony
  • 所有节点服务重启,并查看同步状态
[root@ceph1 ~]# systemctl restart chronyd.service
[root@ceph1 ~]# chronyc sources -v
  • 防火墙和selinux
#临时关闭
[root@ceph1 ~]# systemctl stop firewalld
[root@ceph1 ~]# setenforce 0
用户相关
  • 创建用户
#所有节点创建用户
[root@ceph1 ~]# useradd -d /home/ceph -m cephde
[root@ceph1 ~]# passwd cephde
  • 修改visudo,使cephde用户在sudo列表
[root@ceph1 ~]# visudo  #92G 快速跳转到92行

cephde    ALL=(ALL)       ALL  #新增一行
  • 用户赋权
[root@ceph1 ~]# su - cephde
[cephde@ceph1 ~]$ echo "cephde ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephde
[cephde@ceph1 ~]$ sudo chmod 0440 /etc/sudoers.d/cephde
  • 设置ssh免密登陆
[root@ceph1 ~]# su - cephde
[cephde@ceph1 ~]$ ssh-keygen -t rsa
[cephde@ceph1 ~]$ ssh-copy-id cephde@ceph2  #分发密钥,以ceph2为例
  • 设置环境变量
#在主目录下生成~/.ssh/config
[root@ceph1 ~]# cat ~/.ssh/config

# ceph-deploy
Host ceph1
   Hostname ceph1
   User cephde
        
Host ceph2
   Hostname ceph2
   User cephde
                 
Host ceph3
   Hostname ceph3
   User cephde

部署ceph集群

安装ceph-deploy
#在控制管理节点安装ceph-deploy工具,这里ceph1作为控制节点
[root@ceph1 ~]# yum install ceph-deploy -y
创建ceph集群
  • 创建集群
#在创建的cephde用户下操作,在管理节点上生成一个目录用于存放集群相关配置文件
[root@ceph1 ~]# su - cephde
[cephde@ceph1 ~]$ mkdir cephcluster
[cephde@node1 ~]$ cd cephcluster
[cephde@node1 ~]$ ceph-deploy new ceph1 ceph2 ceph3

在使用ceph-deploy创建集群时可能会报错:ImportError: No module named pkg_resources

#缺少python-setuptools安装包
[cephde@node1 ~]$ sudo yum install python-setuptools
  • 修改集群配置文件
[cephde@node1 ~]$ cat ceph.conf

[global]
fsid = 267fc76c-915f-41ed-8436-9ef3dde19ca8
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 192.168.233.212,192.168.233.213,192.168.233.214
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

public network = 192.168.233.0/24 #前端mon网络
cluster network = 192.168.145.0/24  #后端osd心跳
osd pool default size = 2 #默认副本数为3

mon_allow_pool_delete = true #默认保护机制不允许删除pool
  • 安装ceph
#在控制节点ceph集群目录使用ceph-deploy统一安装
[root@ceph1 ~]# ceph-deploy install ceph1 ceph2 ceph3

如果由于网速原因安装失败,可以在各存储节点单独安装ceph和ceph-radosgw

[root@ceph1 ~]# yum install -y ceph ceph-radosgw
#依赖报错,安装依赖包
[root@ceph1 ~]# wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//leveldb-1.12.0-5.sdl7.x86_64.rpmrpm -ivh leveldb-1.12.0-5.sdl7.x86_64.rpm
[root@ceph1 ~]# rpm -ivh leveldb-1.12.0-5.sdl7.x86_64.rpm
#依赖报错,安装依赖包
[root@ceph1 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
[root@ceph1 ~]# rpm -ivh epel-release-7-11.noarch.rpm
[root@ceph1 ~]# yum -y install python-pecan
  • 查看版本
[root@ceph1 ~]# ceph -v 
  • 初始化ceph_mon
#在控制管理节点初始化monitor
[cephde@ceph1 cephcluster]$ ceph-deploy mon create-initial
#初始化完成之后,会在集群目录下新增多个密钥文件
[cephde@ceph1 cephcluster]$ ls -l
[cephde@ceph1 cephcluster]$ sudo systemctl status ceph-mon@ceph1  #查看状态
  • 分发ceph.conf与密钥
#分发ceph配置文件与密钥到其他控制节点与存储节点,分发节点也要包含在内,如果被分发节点已经配置文件,可以使用如下命令:ceph-deploy  --overwrite-conf admin xxx
#分发到各节点/etc/ceph目录
[cephde@ceph1 cephcluster]$ ceph-deploy admin ceph1 ceph2 ceph3
  • 安装ceph_mgr
# luminos版本必须安装mgr(dashboard)
[cephde@ceph1 cephcluster]$ ceph-deploy mgr create ceph1:ceph1_mgr ceph2:ceph2_mgr ceph3:ceph3_mgr

#查看状态
[cephde@ceph1 cephcluster]$ systemctl status ceph-mgr@ceph1_mgr
[cephde@ceph1 cephcluster]$ sudo netstat -tunlp | grep mgr
  • 启动mgr
#可查看mgr默认开启的服务:(sudo) ceph mgr module ls
#默认dashboard服务在可开启列表中,但并未启动,需要手工开启
[cephde@ceph1 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@ceph1 cephcluster]$ sudo netstat -tunlp | grep mgr
  • 查看集群状态
# 查看monitor状态
[cephde@ceph1 cephcluster]$ sudo ceph mon stat

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

# 可在各节点查看认证信息等
[cephde@node1 cephcluster]$ sudo ceph auth list
  • 创建osd(存储)
# osd位于存储节点,可查看存储节点磁盘状况
[root@node2 ~]# lsblk
# 实际创建osd时,可通过管理节点使用ceph-deploy创建;
# 本例中有5个osd节点,每个osd节点可运行4个osd进程(在6800~7300端口范围内,每进程监听1个本地端口)
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph1 --data /dev/sdb
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph1 --data /dev/sdc
 
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph2 --data /dev/sdb
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph2 --data /dev/sdc
 
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph3 --data /dev/sdb
[cephde@ceph1 cephcluster]$ ceph-deploy osd create ceph3 --data /dev/sdc
  • 查看osd状态
# 在管理节点查看
[cephde@ceph1 cephcluster]$ ceph-deploy osd list ceph1

# 在管理节点查看osd状态等
[cephde@ceph1 cephcluster]$ sudo ceph osd stat
[cephde@ceph1 cephcluster]$ sudo ceph osd tree

# 在管理节点查看容量及使用情况
[cephde@ceph1 cephcluster]$ sudo ceph df

在osd节点查看
[root@ceph2~]# lsblk

# ceph-osd进程,根据启动顺序,每个osd进程有特定的序号
[root@ceph2 ~]# systemctl status ceph-osd@3

# osd进程端口号;
# 或:ps aux | grep osd | grep -v grep
[root@ceph2 ~]# netstat -tunlp | grep osd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了使用Docker部署Ceph集群,有几种方法可以选择。首先,你可以参考中提供的CentOS 7系统Docker Ceph集群的安装配置文章,其中详细介绍了如何使用Docker在单机上部署Ceph。其次,你也可以使用脚本和Docker来部署Ceph集群,具体的步骤如下:首先,在每个机器上执行脚本,确保已经安装了Docker,并且有对应的Docker Ceph镜像。然后,可以使用ansible批量执行部署操作。接下来,你还可以生成一些文件来配置Ceph集群。例如,通过在mon节点上执行以下命令可以生成osd的密钥信息: ``` docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring ``` 同样,通过以下命令可以生成rgw的密钥信息: ``` docker exec ceph-mon ceph auth get client.bootstrap-rgw -o /var/lib/ceph/bootstrap-rgw/ceph.keyring ``` 以上是使用Docker安装部署Ceph的一些方法和步骤。具体情况还需要根据你的需求和环境来调整。希望对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Docker安装部署Ceph](https://blog.csdn.net/bzjoko/article/details/128775373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用脚本和docker部署ceph集群](https://download.csdn.net/download/atongmu321645/10664386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值