zoukankan      html  css  js  c++  java
  • Ceph与OpenStack的Nova相结合

    https://ervikrant06.wordpress.com/2015/10/24/how-to-configure-ceph-as-nova-compute-backend/

    在Ceph的admin-node上进行如下操作:

    1. ceph osd pool create vms 128
    2. ceph auth get-or-create client.nova mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=vms, allow rx pool=images'


    在OpenStack的node上进行如下操作:

    1. 将admin-node上的ceph.conf拷贝到controller的/etc/ceph目录下 (在结合glance时已经执行了这一步)
    2. 在admin-node上运行ceph auth get-key client.nova, 然后在compute上保存为/etc/ceph/ceph.client.nova.keyring, 同时将返回的结果追加到compute的ceph.conf中
    3. chown nova:nova /etc/ceph/ceph.client.nova.keyring
    4. 通过uuidgen得到一个随机的uuid, 然后在compute上创建/etc/ceph/secret.xml, 将下列内容添加到这个文件:
    <secret ephemeral='no' private='no'>
    <uuid>df1dabbf-c8b6-46a6-b427-1fad700370f0</uuid>
    <usage type='ceph'>
    <name>client.nova secret</name>
    </usage>
    </secret>
    5. virsh secret-define --file /etc/ceph/secret.xml
    6. virsh secret-set-value --secret df1dabbf-c8b6-46a6-b427-1fad700370f0 --base64 <这里填入/etc/ceph/ceph.client.nova.keyring中的base64值>
    7. 在compute的/etc/nova/nova.conf中加入以下行:
    [libvirt]
    images_type = rbd
    images_rbd_pool = vms
    images_rbd_ceph_conf = /etc/ceph/ceph.conf
    rbd_user = nova
    rbd_secret_uuid = df1dabbf-c8b6-46a6-b427-1fad700370f0
    disk_cachemodes="network=writeback"
    8. nova boot --flavor m1.tiny --image cirros-0.3.4-x86_64 demo-instance1
    9. nova list


    备注:
    1. rbd -p vms ls
    350d6217-e7b8-46e8-be71-a6a22b0603ae_disk

    2. 在compute上运行ll -h /var/lib/nova/instances, 你会发现硬盘不在此文件夹下:
    total 24K
    drwxr-xr-x 5 nova nova 4.0K Nov 5 15:44 ./
    drwxr-xr-x 9 nova nova 4.0K Oct 28 13:27 ../
    drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 _base/
    drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 c88ac315-f203-4abb-86d8-666f53f0d03b/
    -rw-r--r-- 1 nova nova 31 Nov 5 14:11 compute_nodes
    drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 locks/

    ll -h /var/lib/nova/instances/c88ac315-f203-4abb-86d8-666f53f0d03b
    total 36
    drwxr-xr-x 2 nova nova 4.0K Nov 5 15:44 ./
    drwxr-xr-x 5 nova nova 4.0K Nov 5 15:44 ../
    -rw-rw---- 1 libvirt-qemu kvm 24K Nov 5 15:45 console.log
    -rw-r--r-- 1 nova nova 2.4K Nov 5 15:44 libvirt.xml

    3. rbd -p vms info 350d6217-e7b8-46e8-be71-a6a22b0603ae_disk
    rbd image '350d6217-e7b8-46e8-be71-a6a22b0603ae_disk':
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.5e682ae8944a
    format: 2
    features: layering
    flags:

    4. ceph.client.nova.keyring的错误会导致nova-compute这个服务无法启动

  • 相关阅读:
    Android sendToTarget
    OSI七层模型具体解释
    JAVA中字符串比較equals()和equalsIgnoreCase()的差别
    [Angular 2] ng-class and Encapsulated Component Styles
    [Angular 2] Passing data to components with @Input
    [Angular 2] Template property syntax
    [Angular 2] Adding a data model
    [Angular 2] Using ng-model for two-way binding
    [Angular 2] ngFor
    [Angular 2] Inject Service
  • 原文地址:https://www.cnblogs.com/IvanChen/p/4939880.html
Copyright © 2011-2022 走看看