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

最新文章

  1. Assertor用于判断参数和抛出异常
  2. Extjs swfUpload 多图片上传
  3. iOS进阶_三方使用步骤
  4. C++浅析——返回对象的函数
  5. Linux EOF使用
  6. VS2012离线安装Xamarin (含破解补丁)
  7. 03.product.js
  8. ERROR:The requested URL could not be retrieved解决方法
  9. [转]美国的软件公司是什么样?---- 以Fog Creek为例
  10. zxing 生成二维码
  11. angularjs modal模态框----创建可拖动的指令
  12. poj1003
  13. hihocoder1236(北京网络赛J):scores 分块+bitset
  14. mongodb数据库备份恢复
  15. Visual Studio Tip: Get Public Key Token for a Strong Named Assembly
  16. PLSQL解析XML文件
  17. 15-Flink实战项目之实时热销排行
  18. 2019.04.23 Scrapy框架
  19. docker 安装配置
  20. python基础之socket与socketserver

热门文章

  1. 攻防世界 - Web(三)
  2. Git安装/VScode+Git+Github
  3. GIT常用命令:
  4. # from tall import b from tall import * print(b) __all__ 模块 引用管理
  5. 死锁案例 GAP 锁 没有就插入,存在就更新
  6. Git:.gitignore和.gitkeep文件的使用 让空文件夹被跟踪
  7. 你应该了解的25个JS技巧
  8. deepin定制deepin-terminal
  9. LOJ10163 Amount of Degrees
  10. redis性能优化、内存分析及优化