Openstack 之 kolla 部署ceph

  1. 云栖社区>
  2. 博客>
  3. 正文

Openstack 之 kolla 部署ceph

技术小甜 2017-11-08 18:06:00 浏览1914
展开阅读全文

  如果首次安装没有使用ceph作为存储,同样也可以重新部署为存储使用ceph,注意,在本例中,重新部署后,所有的后端存储都使用ceph,包括虚拟机文件、cinder、glance、对象存储。另外,本示例的前提是一开始就使用kolla作为部署工具。

    下面是简单步骤:

    1.增加一块硬盘,/dev/sdb,然后分区:

1
parted /dev/sdb -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1

查看结果: 

parted /dev/sdb print

    2.配置ceph:

创建/etc/kolla/config/ceph.conf:

1
2
3
[global]
osd pool default size = 2
osd pool default min size = 1

    上面的配置表示ceph的对象存储副本数是2,最小副本数是1     


    3.修改/etc/kolla/global.yml文件:

1
2
3
4
5
    enable_cinder: "yes"
    enable_ceph: "yes"
    enable_ceph_rgw: "yes"
    enable_ceph_rgw_keystone: "yes"
    glance_backend_ceph: "yes"


    如果是使用虚拟化实验环境,那么你需要把virt_type=qemu :

1
2
3
4
5
6
    mkdir -p /etc/kolla/config/nova
    cat << EOF > /etc/kolla/config/nova/nova-compute.conf
    [libvirt]
    virt_type=qemu
    cpu_mode = none
    EOF


    4.修改/root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one文件,将localhost改为control01:

1
2
    vim /root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one
    :%s/localhost/control01/g

    注意,多节点实现方法也是一样的。

    

    5.执行deploy:

1
    /root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible deploy -i /root/kolla-ansible-4.0.3.dev36/ansible/inventory/all-in-one


    后续如果扩容磁盘,也是非常方便的,直接在宿主机上增加硬盘,然后对每一块硬盘打标签,然后重新执行deploy即可,步骤如下:

    1..OSD盘打标:


1
2
    parted /dev/sdc -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1
    parted /dev/sdd -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1

        注意,整块盘作为一个OSD只能用标签KOLLA_CEPH_OSD_BOOTSTRAP ,如果日志分区单独使用SSD固态硬盘的分区,则使用不同标签,比如/dev/sdb 标签为KOLLA_CEPH_OSD_BOOTSTRAP_SDC ,日志分区/dev/sdh1 标签为:KOLLA_CEPH_OSD_BOOTSTRAP_SDC_J

    2.部署前的检查:

1
       tools/kolla_ansible prechecks -i 3node

        注意:3node是inventory文件,根据实际环境替换。

        检查报错6780端口占用,查询这个端口是ceph_rgw容器占用,临时将这个容器关闭:  docker stop ceph_rgw

    3.部署:

1
       tools/kolla_ansible deploy -i 3node

 

        注意:3node是inventory文件,根据实际环境替换。

        部署完成后,将上面关闭的容器ceph_rgw启动:

1
        docker start ceph_rgw

    4、检查OSD的CRUSH规则(数据分布存放规则):

1
2
    docker exec -it ceph_mon ceph osd getcrushmap -o /var/log/kolla/ceph/crushmap.bin
    docker exec -it ceph_mon crushtool -d /var/log/kolla/ceph/crushmap.bin -o /var/log/kolla/ceph/crushmap

    5.修改镜像转换成raw格式:

qemu-img convert -f qcow2 -O raw CentOS-7-x86_64-GenericCloud-1711.qcow2 CentOS-7-x86_64-GenericCloud-1711.raw

    6.重新上传镜像:

openstack image create centos7-raw --disk-format raw \

    --container-format bare --file CentOS-7-x86_64-GenericCloud-1711.raw
















本文转自yuweibing51CTO博客,原文链接:http://blog.51cto.com/yuweibing/2071452 ,如需转载请自行联系原作者




网友评论

登录后评论
0/500
评论
技术小甜
+ 关注