美文网首页Ceph
kolla-ansible 使用ceph存储

kolla-ansible 使用ceph存储

作者: lzp1234 | 来源:发表于2019-03-04 12:22 被阅读8次

    前言

    (编写中)
    在单节点已部署好得环境下,替换lvm为ceph。
    单节点部署参考:https://www.jianshu.com/p/73598a5cd00b

    使用ceph存储

    参考
    https://docs.openstack.org/cinder/rocky/configuration/block-storage/drivers/ceph-rbd-volume-driver.html

    介绍(可跳过)。

    ceph基于Reliable Autonomic Distributed Object Store (RADOS)。RADOS在存储群集中分配对象并复制对象以实现容错。
    RADOS包含以下主要组件:

    • ceph-osd: Object Storage Device (OSD) Daemon,对象存储设备服务。ceph-osd是Ceph分布式文件系统的对象存储守护进程。 它负责将对象存储在本地文件系统上,并通过网络提供对它们的访问。必须在群集中的每个服务器上运行此守护程序。 每个OSD都可以关联硬盘驱动器。
    • ceph-mds: Meta-Data Server (MDS),元数据服务。 MDS在Ceph客户端的对象之上构建POSIX文件系统。不使用Ceph文件系统,则不需要元数据服务器。
    • ceph-mon: Monitor (MON),监控服务。轻量级守护程序,用于处理与外部应用程序和客户端的所有通信。 它还为Ceph / RADOS集群中的分布式决策提供了共识。 例如,当您在客户端上安装Ceph共享时,您指向MON服务器的地址。 它检查数据的状态和一致性。 在理想的设置中,您必须在不同的服务器上运行至少三个ceph-mon守护进程。

    其它组件

    • ceph-mgr: Ceph Manager Daemon(ceph-mgr),管理服务。与监视器守护程序一起运行,为外部监视和管理系统提供额外的监视和接口。
    • ceph-nfs: 可以使用NFS-Ganesha NFS Server通过NFS协议导出CephFS命名空间。NFS-Ganesha提供了一个文件系统抽象层(FSAL)来插入不同的存储后端。Ceph对象网关可以配置为在嵌入NFS-Ganesha NFS Server时提供基于文件的访问。
    • ceph-rgw: Ceph Object Gateway,对象网关服务。Ceph对象存储使用Ceph对象网关守护进程(radosgw),它是一个用于与Ceph存储集群交互的HTTP服务器。 由于它提供与OpenStack Swift和Amazon S3兼容的接口,因此Ceph对象网关具有自己的用户管理。 Ceph对象网关可以将数据存储在用于存储来自Ceph文件系统客户端或Ceph块设备客户端的数据的相同Ceph存储集群中。 S3和Swift API共享一个公共命名空间,因此您可以使用一个API编写数据并使用另一个API检索它。

    开始配置

    参考:
    https://docs.openstack.org/kolla-ansible/queens/reference/ceph-guide.html

    在上一篇单节点部署当中,使用20G /dev/sdb作为lvm卷,这里将/dev/sdb作为ceph数据盘,加一块10G /dev/sdc作为ceph日志盘。并且单节点环境下需要额外得一些配置。

    1. 格式化硬盘
    格式化数据盘:
    parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO 1 -1
    
    格式化该数据盘对应得日志盘:
    parted /dev/sdc -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_FOO_J 1 -1
    

    注意,在使用单独得日志盘时,数据盘和日志盘mkpart 必须添加后缀,KOLLA_CEPH_OSD_BOOTSTRAP_<后缀名>,如上图FOO

    2. 配置globals.yml
    取消lvm配置

    vim /etc/kolla/globals.yml

    #enable_cinder_backend_lvm: "yes"
    #cinder_volume_group: "cinder-volumes"
    
    增加ceph配置

    vim /etc/kolla/globals.yml

    enable_ceph: "yes"
    enable_ceph_rgw: "yes"
    cluster_interface: "ens35" # 管理网网卡
    ceph_pool_pg_num: 64 # Total PGs = ((Total_number_of_OSD * 100) / pool_count . 并且结果向上取值为2的n次方
    ceph_pool_pgp_num: 64
    
    enable_ceph_rgw_keystone: "yes"
    glance_backend_ceph: "yes"
    glance_backend_file: "no"
    cinder_backend_ceph: "yes"
    cinder_backup_driver: "ceph"
    nova_backend_ceph: "yes"
    

    注意:上面得pg_num 需要根据实际环境进行配置。比如当前环境使用命令查看为5个pool。根据公式得出64
    查看整体状态(可查看pool数量):

    docker exec ceph_mon ceph -s
    

    查看pool:

    docker exec ceph_mon ceph osd lspools
    
    ceph单节点rgw需额外配置:

    mkdir /etc/kolla/config
    vim /etc/kolla/config/ceph.conf 新建文件,增加如下内容

    [global]
    osd pool default size = 1
    osd pool default min size = 1
    
    3. 重新部署openstack
    kolla-ansible -i /opt/all-in-one prechecks
    kolla-ansible -i /opt/all-in-one deploy
    

    相关文章

      网友评论

        本文标题:kolla-ansible 使用ceph存储

        本文链接:https://www.haomeiwen.com/subject/zxebuqtx.html