• OpenStack Train版-15.创建并挂载存储卷


    1.创建并挂载存储卷

    创建一个1GB的卷

    source ~/demo-openrc
    openstack volume create --size 1 volume1

    很短的时间后,卷状态应该从creating 到available

    [root@controller ~]# openstack volume list
    +--------------------------------------+---------+-----------+------+-------------+
    | ID | Name | Status | Size | Attached to |
    +--------------------------------------+---------+-----------+------+-------------+
    | 5e89f544-e204-436c-8d9c-25a77039796f | volume1 | available | 10 | |
    +--------------------------------------+---------+-----------+------+-------------+ 

    将卷附加到provider-vm1实例,可以在dashboard界面操作

    openstack server add volume provider-vm1 volume1

    查看卷清单

    [root@controller ~]# openstack volume list
    
    +--------------------------------------+---------+--------+------+------------------------------------------+
    | ID | Name | Status | Size | Attached to |
    +--------------------------------------+---------+--------+------+------------------------------------------+
    | 75011e60-33fc-4061-98dc-7028e477efc9 | volume1 | in-use | 1 | Attached to selfservice-vm1 on /dev/vdb |
    +--------------------------------------+---------+--------+------+------------------------------------------+

    使用SSH访问实例

    使用fdisk命令验证该卷是否作为/dev/vdb块存储设备

    [root@controller ~]# ssh cirros@192.168.0.198
    $ sudo fdisk -l

    分区并格式化新添加的/dev/vdb

    $ sudo fdisk /dev/vdb
    Command (m for help): n #创建一个新分区
    Partition type
    p primary (0 primary, 0 extended, 4 free)
    e extended (container for logical partitions)
    Select (default p): p #创建一个主分区
    Partition number (1-4, default 1): #分区默认编号为1
    First sector (2048-2097151, default 2048): #磁盘分区中第一个扇区(从哪里开始) 默认的
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): #磁盘分区中最后1个扇区的位置 默认全部
    Command (m for help): w #保存

    查看创建的主分区

    $ ls /dev/vdb*
    /dev/vdb /dev/vdb1

    格式化 创建文件系统

    $ sudo mkfs.ext4 /dev/vdb1

    临时挂载

    $ sudo mount /dev/vdb1 /mnt/
    $ df -h|tail -1
    /dev/vdb1 990.9M 2.5M 921.2M 0% /mnt

    永久挂载

    $ sudo su -
    # echo '/dev/vdb1 /mnt/ xfs defaults 0 0' >>/etc/fstab

    2.使用卷创建实例报错的故障
    从实例中分离cinder虚拟磁盘

    umount卸载
    
    openstack server remove volume provider-vm1 volume1
    openstack volume delete volume1

    删除无法删除的卷,用命令改变卷的状态,然后删除

    cinder reset-state <volume> --state available
    cinder delete <volume>

    OpenStack创建实例提示失败的具体原因如下:

    did not finish being created even after we waited 241 seconds or 61 attempts. A its status is downloading.
    
    即使等待了241秒或61次尝试,仍无法完成创建。 其状态为下载中。 

    解决办法

    在计算节点上的nova.conf中有一个控制卷设备重试的参数:block_device_allocate_retries,可以通过修改此参数延长等待时间。
    该参数默认值为60,这个对应了之前实例创建失败消息里的61 attempts。我们可以将此参数设置的大一点,例如:180。这样Nova组件就不会等待卷创建超时,也即解决了此问题。
    然后重启计算节点服务

    openstack-config --set /etc/nova/nova.conf DEFAULT block_device_allocate_retries 180
    
    systemctl restart libvirtd.service openstack-nova-compute.service
  • 相关阅读:
    ftell
    diff
    继承
    类的组合
    拷贝构造函数
    内存管理
    Hibernate学习-Hibernate查询语言HQL
    JAVA解析JSON数据
    Android异步加载
    Android数据存储-文件操作
  • 原文地址:https://www.cnblogs.com/Wang-Hongwei/p/13132238.html
Copyright © 2020-2023  润新知