openstack报错
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 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、旧磁盘保存三天,无问题进行删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2022-03-07 iptables使用详解(centos7)