返回总目录页

openstack报错

 

1、

创建机器失败

 

openstack_compute_servergroup_v2.servergroup_vm-qa-cloudconfig-sidecar: Creating...
41Error: Error creating openstack_compute_servergroup_v2 vm-qa-cloudconfig-sidecar: Request forbidden: [POST http://opensxxxtroller.xx.xx.com:xxxx/v2.1/os-server-groups], error message: {"forbidden": {"message": "Quota exceeded, too many server groups.", "code": 403}}
42 on main.tf line 2, in resource "openstack_compute_servergroup_v2" "servergroup_vm-qa-cloudconfig-sidecar":
43 2: resource "openstack_compute_servergroup_v2" "servergroup_vm-qa-cloudconfig-sidecar" {
47ERROR: Job failed: exit status 1
 
 
 

查看已经用了

# openstack server group list|wc -l
204

查看详细

# openstack server group list 
+--------------------------------------+------------------------------+--------------------+
| ID                                   | Name                         | Policies           |
+--------------------------------------+------------------------------+--------------------+
| 6c4bb957-361xx6199aebed | vm-test                      | soft-anti-affinity |
| 9168d7xxf76c2481 | vm-newop-prod                | anti-affinity      |

需要执行扩容命令。这里只需要扩容服务器组的数量

 

复制代码
openstack quota set --server-groups 200 admin 是一个OpenStack命令行界面(CLI)命令,用于设置特定租户(在这个例子中是admin租户)的服务器组配额。配额是OpenStack用来限制租户可以创建或使用的资源数量的机制。

这个命令的具体解释如下:

openstack quota set: 这是用来设置配额的OpenStack CLI命令。
--server-groups 200: 这个选项指定了服务器组配额的数量为200。这意味着admin租户最多可以创建200个服务器组。
admin: 这是要设置配额的租户的名称。在这个例子中,我们正在为admin租户设置配额。
执行这个命令后,OpenStack会更新admin租户的配额设置,以确保它不能超过所设定的服务器组数量限制。如果admin租户尝试创建超过200个服务器组,OpenStack将拒绝这些请求,并返回一个错误消息,说明已达到配额限制。

需要注意的是,这个命令仅设置了服务器组的配额。OpenStack还支持设置其他资源的配额,例如实例数量、卷数量、网络数量等。要查看或设置这些其他资源的配额,可以使用相应的选项和参数与openstack quota set命令一起使用。
复制代码

 

复制代码
openstack quota set --server-group-members 200 admin 是一个OpenStack命令行界面(CLI)命令,用于为特定租户(在这个例子中是admin租户)设置服务器组成员配额。这个配额限制了该租户在一个服务器组内可以拥有的成员(即虚拟机实例)的最大数量。

具体来说:

openstack quota set: 这是OpenStack CLI中用来设置配额的命令。
--server-group-members 200: 这个选项指定了服务器组成员的配额数量为200。这意味着admin租户在创建服务器组时,每个服务器组最多可以包含200个成员(即虚拟机实例)。
admin: 这是要设置配额的租户的名称。
执行这个命令后,OpenStack会更新admin租户的配额设置,确保它在一个服务器组内创建的成员数量不超过所设定的限制。如果admin租户尝试在一个服务器组内添加超过200个成员,OpenStack将拒绝这个操作,并返回一个错误消息,说明已达到配额限制。

这个命令与设置服务器组配额的命令(如 openstack quota set --server-groups X admin)不同,后者限制了租户可以创建的服务器组的数量,而不是单个服务器组内的成员数量。

请确保在执行命令之前已经正确配置了OpenStack CLI,并且具有足够的权限来修改租户的配额设置。同时,也需要了解OpenStack环境的当前配额设置和资源使用情况,以便做出合理的配额调整决策。
复制代码

 

上面两种策略的了解:

复制代码
soft-anti-affinity是一种亲和性策略,与服务器组关联。在这种策略下,OpenStack会尽量将同一服务器组中的虚拟机实例安排到不同的物理主机上,以实现更好的资源隔离和故障容忍。然而,如果由于某种原因(例如资源不足或主机故障),
OpenStack无法将虚拟机实例安排到不同的主机上,它仍然会尝试安排这些实例,而不是导致生成失败。这种“软”策略提供了更大的灵活性和容错性,使得在资源紧张或主机故障的情况下,仍然能够成功部署虚拟机实例。 相比之下,anti
-affinity策略是一种更严格的策略,它要求同一服务器组中的虚拟机实例必须安排到不同的物理主机上。如果无法满足这个要求,部署过程可能会失败。 在OpenStack环境中,可以根据实际需求和资源状况选择合适的亲和性策略。例如,在需要高可靠性和资源隔离的场景中,可以使用anti-affinity或soft-anti-affinity策略;而在资源紧张或需要更高灵活性的场景中,
可以使用soft-anti-affinity策略以允许更多的部署选项。 需要注意的是,具体的实现和效果可能因OpenStack的版本和配置而有所不同。因此,在实际使用中,建议参考OpenStack的官方文档和相关资源,以获取更详细和准确的信息。
复制代码

 

看自动开机里面的配置,可以看到下面有策略

复制代码
use Template::Openstack::VM::VM;
use Factory::Slang;
def az
= "xx-prod"; def count = 1; def name = iter("vm-qa-xiaoma", 16); def meta = %(owner=>"马昌伟", team =>"ee", app => "qa-xiaoma", env => "qa"); def network = ( %(name => "xx-net-xx-qa") ); def values = network => network, image => "CentOS7.xx_v1", flavor => "1c1g-50", meta => meta, sec-group => ["xxx-all"] ; desc_vm(az => az, count => count, name => name, values => values, policy => "soft-anti-affinity");
复制代码

 

执行命令之后

 

# openstack quota set --server-groups 250 admin

 

 2、

下面是只开了一个计算节点可被调度,而这个计算节点存储已经分配完了。

消息
No valid host was found. There are not enough hosts available.
编码
500
详情
File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 1116, in schedule_and_build_instances instance_uuids, return_alternates=True) File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 716, in _schedule_instances return_alternates=return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/utils.py", line 726, in wrapped return func(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 53, in select_destinations instance_uuids, return_objects, return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 37, in __run_method return getattr(self.instance, __name)(*args, **kwargs) File "/usr/lib/python2.7/site-packages/nova/scheduler/client/query.py", line 42, in select_destinations instance_uuids, return_objects, return_alternates) File "/usr/lib/python2.7/site-packages/nova/scheduler/rpcapi.py", line 158, in select_destinations return cctxt.call(ctxt, 'select_destinations', **msg_args) File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 174, in call retry=self.retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 131, in _send timeout=timeout, retry=retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 559, in send retry=retry) File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 550, in _send raise result
已创建
March 27, 2024, 5:07 p.m.

 

 

3、集群个数限额

 400个

#  openstack quota list  --compute
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
| Project ID                       | Cores | Fixed IPs | Injected Files | Injected File Content Bytes | Injected File Path Bytes | Instances | Key Pairs | Metadata Items |     Ram | Server Groups | Server Group Members |
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
| ea4e668xxxxxxxfd9a657b |  2024 |        -1 |              5 |                       10240 |                      255 |       400 |       100 |            128 | 3565158 |           350 |                  200 |
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
openstack quota set --instances <limit> <project_name>
# openstack quota set --instances 480 admin
#  openstack quota list  --compute
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
| Project ID                       | Cores | Fixed IPs | Injected Files | Injected File Content Bytes | Injected File Path Bytes | Instances | Key Pairs | Metadata Items |     Ram | Server Groups | Server Group Members |
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
| ea4xxxxxx9a657b |  2024 |        -1 |              5 |                       10240 |                      255 |       480 |       100 |            128 | 3565158 |           350 |                  200 |
+----------------------------------+-------+-----------+----------------+-----------------------------+--------------------------+-----------+-----------+----------------+---------+---------------+----------------------+
#

 


 4、

 

Build of instance d11f730b-070f-42c8-a34a-8a81fcdf244c aborted: Flavor's disk is too small for requested image. Flavor disk is 107374182400 bytes, image is 214748364800 bytes.

 新建实例失败,100g存储

 镜像当前这么大

 这个镜像是一个200g存储的实例创建的,查看镜像,随时磁盘大小10G,但是镜像虚拟大小还是200G,所以用它创建规格100G的实例失败了

 

# qemu-img info ./mcw3/vm-qa-scan-engine001-image.raw
image: ./mcw3/vm-qa-scan-engine001-image.raw
file format: qcow2
virtual size: 200G (214748364800 bytes)
disk size: 10G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false

 

5、热迁移失败以及冷迁移方法

迁移之前,服务正常访问

 

 ERROR oslo_messaging.rpc.server InvalidSharedStorage: openstack123.xx.com is not on shared storage:Shared storage live-migration requires either shared storage  boot-from-volume with no local disks.

 

 

把块设备迁移勾选上试试

 点了迁移后,没看到提示迁移成功或者失败,但结果是没有迁移

 

迁移实例呢

 

 没法点击迁移到那个计算节点,并且迁移失败了

 

看计算节点报错,不能解析地址和不能连接远程lbivirt URI ,这个是没有对nova.conf做配置,让外面的机器连接到这个机器,好像是。也就是迁移到目标主机,目标主机nova服务要配置可以让其它节点连接的地址,并且主机名连接,也就是主机名也是能解析到主机IP的。

 

主机手动拷贝磁盘文件操作

1、关闭虚拟机

2、拷贝相关虚拟机相关的磁盘文件到目标宿主机上,并修改相应的权限

3、修改数据库相关的配置,袖改host、node相关记录的主机

update instances set host='new_host', node='new_host' where uuid='xxxxx*xxxx';

4、旧磁盘保存三天,无问题进行删除

 

 

 

 

 

 

 

 

 

posted @   马昌伟  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2022-03-07 iptables使用详解(centos7)
博主链接地址:https://www.cnblogs.com/machangwei-8/
点击右上角即可分享
微信分享提示