CentOS7下部署ceph-12 (luminous)--多机集群

本文档详细介绍了如何在CentOS7环境下手动部署Ceph Luminous多机集群,包括准备、创建工作目录、配置文件、keyring、monmap的生成和分发,以及monitors、osd和mgr的添加和初始化步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 准备

前一篇点击打开链接只部署了一个单机集群。在这一篇里,手动部署一个多机集群:mycluster。我们有三台机器nod1,node2和node3;其中node1可以免密ssh/scp任意其他两台机器。我们的所有工作都在node1上完成。

准备工作包括在各个机器上安装ceph rpm包(见前一篇第1节点击打开链接),并在各个机器上修改下列文件:

/usr/lib/systemd/system/ceph-mon@.service
/usr/lib/systemd/system/ceph-osd@.service
/usr/lib/systemd/system/ceph-mds@.service
/usr/lib/systemd/system/ceph-mgr@.service
/usr/lib/systemd/system/ceph-radosgw@.service

修改:

Environment=CLUSTER=ceph                                                  <---  改成CLUSTER=mycluster
ExecStart=/usr/bin/... --id %i --setuser ceph --setgroup ceph    <--- 删掉--setuser ceph --setgroup ceph


1. 创建工作目录

在node1创建一个工作目录,后续所有工作都在node1上的这个工作目录中完成;

mkdir /tmp/mk-ceph-cluster
cd /tmp/mk-ceph-cluster

2. 创建配置文件

vim mycluster.conf
[global]
    cluster                     = mycluster
    fsid                        = 116d4de8-fd14-491f-811f-c1bdd8fac141

    public network              = 192.168.100.0/24
    cluster network             = 192.168.73.0/24

    auth cluster required       = cephx
    auth service required       = cephx
    auth client required        = cephx

    osd pool default size       = 3
    osd pool default min size   = 2

    osd pool default pg num     = 128
    osd pool default pgp num    = 128

    osd pool default crush rule = 0
    osd crush chooseleaf type   = 1

    admin socket                = /var/run/ceph/$cluster-$name.asock
    pid file                    = /var/run/ceph/$cluster-$name.pid
    log file                    = /var/log/ceph/$cluster-$name.log
    log to syslog               = false

    max open files              = 131072
    ms bind ipv6                = false

[mon]
    mon initial members = node1,node2,node3
    mon host = 192.168.100.131:6789,192.168.100.132:6789,192.168.100.133:6789

    ;Yuanguo: the default value of {mon data} is /var/lib/ceph/mon/$cluster-$id,
    ;         we overwrite it.
    mon data                     = /var/lib/ceph/mon/$cluster-$name
    mon clock drift allowed      = 10
    mon clock drift warn backoff = 30

    mon osd full ratio           = .95
    mon osd nearfull ratio       = .85

    mon osd down out interval    = 600
    mon osd report timeout       = 300

    debug ms                     = 20
    debug mon                    = 20
    debug paxos                  = 20
    debug auth                   = 20
    mon allow pool delete      = true  ; without this, you cannot delete pool
[mon.node1]
    host                         = node1
    mon addr                     = 192.168.100.131:6789
[mon.node2]
    host                         = node2
    mon addr                     = 192.168.100.132:6789
[mon.node3]
    host                         = node3
    mon addr                     = 192.168.100.133:6789

[mgr]
    ;Yuanguo: the default value of {mgr data} is /var/lib/ceph/mgr/$cluster-$id,
    ;         we overwrite it.
    mgr data                     = /var/lib/ceph/mgr/$cluster-$name

[osd]
    ;Yuanguo: we wish to overwrite {osd data}, but it seems that 'ceph-disk' forces
    ;     to use the default value, so keep the default now; may
<think>嗯,用户想在麒麟V10操作系统上用ceph-deploy部署Ceph集群。首先,我需要确认ceph-deploy的版本是否支持Kylin V10。根据引用[4],用户提到ceph-deploy-1.5.39版本没有mgr的部署选项,可能需要注意版本兼容性。Ceph L版本12.2.12可能需要特定版本的ceph-deploy,可能需要用户检查官方文档或社区支持。 然后,用户的环境准备方面,需要确保所有节点的主名解析正确,SSH免密登录配置好,以及防火墙和SELinux的设置。引用[3]中提到磁盘必须未使用且没有数据,所以在部署OSD时要注意这一点。另外,引用[2]指出Ceph的核心组件,包括Monitor、Manager、OSD等,部署时需要按照步骤依次安装这些组件。 可能遇到的问题包括网络无法访问Ceph官网,导致依赖包安装失败。这时候可能需要配置本地源或者使用离线安装包。另外,麒麟V10是基于CentOS的,可能需要处理依赖包冲突,比如Python版本的问题。引用[1]提到ceph-deploy的配置文件位置,用户可能需要根据情况调整配置文件。 在部署步骤中,初始化Monitor节点是关键,如果失败需要检查时钟同步和主名解析。创建OSD时,确保磁盘正确,可能需要使用ceph-deploy osd create命令,如引用[3]中的例子。最后,部署MGR和MDS也是必须的,但引用[4]指出旧版可能不支持,所以需要确认ceph-deploy版本是否包含这些功能。 测试集群状态时,ceph -s命令可以查看健康状况,如果出现错误,可能需要检查各个服务的日志。常见问题如网络问题、权限问题或者依赖缺失都需要逐步排查。用户可能需要参考引用中的配置文件和命令示例,确保每一步都正确执行。</think>### 在Kylin V10中使用ceph-deploy部署Ceph集群的步骤 #### 一、环境准备 1. **节点规划** - 至少3个节点(1个`ceph-deploy`管理节点,1个Monitor节点,个OSD节点) - 示例配置: - 管理节点:`admin-node` - Monitor节点:`ceph-mon1` - OSD节点:`ceph-osd1`, `ceph-osd2` 2. **系统配置** - 所有节点配置主名解析(`/etc/hosts`或DNS) - 配置SSH免密登录(管理节点到其他节点) - 关闭防火墙和SELinux: ```bash systemctl stop firewalld setenforce 0 ``` 3. **依赖安装** - 在管理节点安装`ceph-deploy`: ```bash yum install -y python3-pip pip3 install ceph-deploy==2.0.1 # 选择兼容Kylin V10的版本[^4] ``` #### 二、部署Ceph集群 1. **初始化集群配置** ```bash mkdir ceph-cluster && cd ceph-cluster ceph-deploy new ceph-mon1 # 生成初始配置文件[^1] ``` 2. **安装Ceph组件** ```bash ceph-deploy install --release luminous admin-node ceph-mon1 ceph-osd1 ceph-osd2 ``` > 注意:若网络受限,需提前配置本地Yum源[^4] 3. **部署Monitor** ```bash ceph-deploy mon create-initial ceph-deploy admin admin-node ceph-mon1 # 同步配置文件[^2] ``` 4. **部署OSD** - 清理磁盘(以`/dev/sdb`为例): ```bash ceph-deploy disk zap ceph-osd1 /dev/sdb[^3] ``` - 创建OSD: ```bash ceph-deploy osd create --data /dev/sdb ceph-osd1 ceph-deploy osd create --data /dev/sdb ceph-osd2 ``` 5. **部署MGR和MDS(可选)** ```bash ceph-deploy mgr create ceph-mon1 ceph-deploy mds create ceph-mon1 ``` #### 三、验证集群状态 ```bash ssh ceph-mon1 ceph -s # 检查HEALTH_OK状态 ``` #### 四、常见问题处理 | 问题现象 | 解决方案 | |---------|----------| | `ceph-deploy`安装失败 | 检查Python3版本,建议3.6+ | | Monitor启动超时 | 确认节点时钟同步(NTP服务) | | OSD无法创建 | 检查磁盘是否未分区(使用`lsblk`验证)[^3] | ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值