美文网首页
虚拟机创建-镜像介绍

虚拟机创建-镜像介绍

作者: lzp1234 | 来源:发表于2020-04-28 17:34 被阅读0次

    前言

    虚拟机在创建时,可选择:

    1. 从镜像启动(创建新硬盘)
    2. 从镜像启动(不创建新硬盘,重点介绍
    3. 其它(此处不介绍)

    环境

    openstack 版本:T
    部署方式: kolla-ansible(容器)
    块设备: ceph rbd

    正文

    从镜像启动,并创建新硬盘

    该方法实际流程:

    首先通过 cinder 创建一块硬盘,然后将镜像信息复制进去,最后将这块盘作为启动盘,启动虚拟机。

    该启动方式的一些问题:
    1. 查询虚拟机时,无法查询到镜像信息。因为它本质上是从硬盘启动,而非镜像,所以查询不到。
    2. 此时规格中定义的硬盘大小不会起作用,实际硬盘大小由创建时传入的硬盘大小决定。

    从镜像启动,不创建新硬盘(重点)

    该方法实际流程

    nova 直接访问 ceph rbd ,复制镜像文件供虚拟机使用。
    根磁盘的大小由规格决定。(虚拟机规格调整时,不能将磁盘调小,只能增或保持不变)

    该启动方式的一些问题:
    1. 使用该方法无法查询到根磁盘的卷信息。因为它没有使用 cinder 创建根磁盘,因此无法通过 cinder 接口查询到根磁盘的信息。
    查询详细过程参考:

    1. 查询到虚拟机 xml 信息

    # 显示虚拟机信息
    openstack server show
    

    其中:
    OS-EXT-SRV-ATTR:host 指虚拟机所在节点
    OS-EXT-SRV-ATTR:instance_name 指虚拟机在 qemu 中的名称

    在虚拟机所在节点执行:

    # 进入 libvirt 容器
    docker exec -itu0 nova_libvirt bash
    
    # 查询 xml 信息,这里的 instance_name 是指刚刚查询到的虚拟机在 qemu 中的名称
    virsh dumpxml <instance_name>
    

    找到 xml 中的 devices 组:

    image.png
    如上图划线处,总体含义是指:
    虚拟机的根磁盘由 ceph 的 rbd 提供。
    其中块设备所在的 是 vms,名称 是 603ad6af-4ffd-4043-b154-ed97fa3781b3_disk

    2. 查询块设备
    查询该设备的方法有多种,一是直接进入 ceph_mon 容器中查询,二是在 nova_compute 容器中查询。
    这里展示在 nova_compute 容器中查询(因为这种方式参考资料很少)。

    首先退出刚刚进入的容器。
    然后进入 nova_compute 容器:

    # 进入容器
    docker exec -itu0 nova_compute bash
    

    在该容器中,/etc 下可以发现 ceph 的认证配置文件,这也说明了 nova_compute 直接与 ceph 交互。

    # 查看 ceph 配置文件
    ls /etc/ceph/
    
    image.png

    这个 keyring 结尾的文件就是 ceph 认证文件了,连接 ceph 时需要使用它。

    使用 rbd 命令查看块设备信息

    # rbd ls <pool> 查询该 pool 中的块设备
    # 查看所有块设备列表, -k 指定 keyring 文件路径,--id 指定用户(也就是 keyring 文件中的倒数第二个单词:nova)
    rbd ls vms -k /etc/ceph/ceph.client.nova.keyring --id nova
    
    # rbd info <pool>/<name>
    # 查看单个块设备详情
    rbd info vms/603ad6af-4ffd-4043-b154-ed97fa3781b3_disk -k /etc/ceph/ceph.client.nova.keyring --id nova
    

    执行如上命令可以查询到相应的块设备信息。

    如果对 qemu 熟悉一点的话,还存在一个 qemu-img 的方法去查看虚拟机镜像(根磁盘)信息。

    在这里也是可以使用 qemu-img 对该 rbd 设备进行查询的:

    # qemu-img info rbd:<pool>/<name>:keyring=<path>:id=<user>
    qemu-img info rbd:vms/603ad6af-4ffd-4043-b154-ed97fa3781b3_disk:keyring=/etc/ceph/ceph.client.nova.keyring:id=nova
    

    相关文章

      网友评论

          本文标题:虚拟机创建-镜像介绍

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