创建实例失败
1 查看/var/log/nova-compute.log发现有 ERROR
did not finish being created even after we waited 205 seconds or 61 attempts. And its status is downloading
原因:由于创建实例时 Nova 在调用 cinder创建卷时超时所致,默认 Nova 会询问 60 次,当第 61 次时就会报这个错
解决方法1 修改 /etc/nova/nova.conf文件中的block_device_allocate_retries 和 block_device_allocate_retries_interval,修改完即可重启 nova相关服务 systemctl restart openstack-nova*
# 块设备允许重试最大次数
block_device_allocate_retries=600
# 块设备允许每次重试间隔时间
block_device_allocate_retries_interval=10
解决方法 2 去先创建卷,然后通过卷创建实例
创建卷失败
1 查看/var/log/cinder/schedule.log发现有 ERROR
volume:create: No valid backend was found. No weighed backends available: NoValidBackend: No valid backend was found. No weighed backends availabl
原因:这个是由于没有足够的空间创建卷了,所以需要给 volume group 增加空间
可以使用 vgs 查看空间,如下:
PV:物理盘数量
LV:逻辑盘数量
VSize:总空间大小
也可以使用 lvdisplay [某个vg名称]查看逻辑盘更详细的数据,它将列出来指定 vg下的所有逻辑盘详细信息,如下:
LV Size:逻辑盘占用的空间大小,将所有逻辑盘大小相加即可得出目前vg下用了多少空间
关于扩容:
首先你需要有一个可使用的空盘,比如在分盘的时候,多分出来一个物理盘,空间给大一点,其次将此盘给添加到对应的 vg内,例如我们的需要将 vg名称为cinder-volumes的盘进行扩容,操作如下:
摘除可使用的卷
[root@localhost ~]# umount /var/cinder
创建物理卷
[root@localhost ~]# pvcreate /dev/sda3
在现有的卷组内添加物理卷
[root@localhost ~]# vgextend cinder-volumes /dev/sda3
元数据容量。在 LVM 的 thin-pooling 或 caching 场景中,元数据用于跟踪哪些数据块被分配或缓存了。随着数据的增加和删除,元数据也可能需要增加大小来容纳更多的追踪信息
[root@localhost ~]# lvresize --poolmetadatasize +50G /dev/cinder-volumes/cinder-volumes-pool
lvextend 选择其一即可
分配指定大小
[root@localhost ~]# lvextend -L +2048G /dev/cinder-volumes/cinder-volumes-pool
将剩余所有可用空间都分配
[root@localhost ~]# lvextend -l +100%FREE /dev/cinder-volumes/cinder-volumes-pool
实例问题
centos镜像可运行但是进入系统后是 dracut 非正常系统
1 先重启实例
2 在重启时,进入 recuse
3 进入 recuse 后执行如下命令
重新生成initramfs 以确保所有必要的驱动程序和模块都被包含在内
[root@localhost ~]# dracut --force
检查 GRUB 配置是否正确,并确保其包含正确的根分区 UUID:
获取根分区的 UUID
[root@localhost ~]# blkid
确认 GRUB_CMDLINE_LINUX 行中有正确的 root=UUID=...选项
[root@localhost ~]# vi /etc/default/grub
如没有,可执行如下命令重新生成 GRUB 配置文件
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
重启,正常进入系统即可
[root@localhost ~]# reboot -h now