安装配置好openstack环境的虚拟机,需要修改ip时,在数据库中同步修改ip的方法

本文介绍如何在更改服务器IP地址时,同步更新OpenStack环境中数据库内的相关IP配置。以Keystone服务为例,展示了登录数据库、查询及修改涉及IP字段的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如果转载,请保留作者信息。
博客地址:http://blog.youkuaiyun.com/qq_21398167

原博文地址:http://blog.youkuaiyun.com/qq_21398167/article/details/46729717

由于配置openstack 环境的时候,创建了很多表,都配置了本机的ip

所以当本机需要修改ip的 时候  就需要同步数据库中所有与环境有关的ip

方法:

1.进入数据库

[root@node Desktop]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.40-MariaDB-wsrep MariaDB Server, wsrep_25.11.r4026

Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

2.显示所有数据    show database;

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| glance             |
| keystone           |
| mysql              |
| nova               |
| performance_schema |
| test               |
+--------------------+
7 rows in set (0.12 sec)

MariaDB [(none)]>

3.进入keystone 数据库

MariaDB [(none)]> use keystone;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [keystone]>

4.查看 所有数据表

MariaDB [keystone]> show tables;
+-----------------------+
| Tables_in_keystone    |
+-----------------------+
| assignment            |
| credential            |
| domain                |
| endpoint              |
| group                 |
| migrate_version       |
| policy                |
| project               |
| region                |
| role                  |
| service               |
| token                 |
| trust                 |
| trust_role            |
| user                  |
| user_group_membership |
+-----------------------+
16 rows in set (0.00 sec)

MariaDB [keystone]>

5.查看 endpoint 数据表所有内容

MariaDB [keystone]> SELECT * FROM endpoint;
+----------------------------------+----------------------------------+-----------+-----------+----------------------------------+-------------------------------------------+-------+---------+
| id                               | legacy_endpoint_id               | interface | region    | service_id                       | url                                       | extra | enabled |
+----------------------------------+----------------------------------+-----------+-----------+----------------------------------+-------------------------------------------+-------+---------+
| 2c1bfecbc0354ce8998675ae511139b6 | f73717cab6d4464cb65171d31535efe3 | public    | regionOne | da28568989314cbcb6562a069a8c4c4e | http://192.168.0.22:5000/v2.0             | {}    |       1 |
| 458b7c2cf4614f2fade90836671795ea | e1d8e224bc434587941d00f42b1b3d88 | admin     | regionOne | 507666ec257f4090850853ce5fa06881 | http://192.168.0.22:9292                  | {}    |       1 |
| 565afe887f1244afb1bc2c75cb05b3f7 | 3f6df8dffd5745228130066c9521888a | public    | regionOne | 30162d7fd4c448f481a617a47138a087 | http://192.168.0.22:8774/v2/%(tenant_id)s | {}    |       1 |
| 849d71c20521483480a02ca7e248d2b3 | e1d8e224bc434587941d00f42b1b3d88 | internal  | regionOne | 507666ec257f4090850853ce5fa06881 | http://192.168.0.22:9292                  | {}    |       1 |
| 886f672ed16a4b4c9a1959846cdb6790 | f73717cab6d4464cb65171d31535efe3 | admin     | regionOne | da28568989314cbcb6562a069a8c4c4e | http://192.168.0.22:35357/v2.0            | {}    |       1 |
| 99b9f854f7ab409bad2902376cfa26e0 | f73717cab6d4464cb65171d31535efe3 | internal  | regionOne | da28568989314cbcb6562a069a8c4c4e | http://192.168.0.22:5000/v2.0             | {}    |       1 |
| b0ffbaf2b9854f07a9741fe7f7ee51f9 | 3f6df8dffd5745228130066c9521888a | internal  | regionOne | 30162d7fd4c448f481a617a47138a087 | http://192.168.0.22:8774/v2/%(tenant_id)s | {}    |       1 |
| cf450711e11547b3b03885e08bbdab5d | e1d8e224bc434587941d00f42b1b3d88 | public    | regionOne | 507666ec257f4090850853ce5fa06881 | http://192.168.0.22:9292                  | {}    |       1 |
| ee495ededf0b46bb9f8db1efef85da71 | 3f6df8dffd5745228130066c9521888a | admin     | regionOne | 30162d7fd4c448f481a617a47138a087 | http://192.168.0.22:8774/v2/%(tenant_id)s | {}    |       1 |
+----------------------------------+----------------------------------+-----------+-----------+----------------------------------+-------------------------------------------+-------+---------+
9 rows in set (0.00 sec)

MariaDB [keystone]>
6.用 命令修改 里面所有ip  即可。

例如:

update endpoint set url='http://192.168.0.22:5000/v2.0' where id='2c1bfecbc0354ce8998675ae511139b6';



<think>好的,我需要详细解释OpenStack虚拟机创建的流程。首先,用户的问题是关于流程的详细步骤,所以我需要结合之前提供的引用内容来组织回答。根据引用2和引用5,流程大致分为几个阶段:身份验证、调度、资源准备、网络配置虚拟机实例化。首先,用户发起请求,这涉及到nova-api接收请求。然后,Keystone进行身份验证,确保用户有权限。接着,nova-scheduler会选择合适的计算节点。这部分需要详细说明调度过程,可能涉及过滤和权重计算,不过引用中没有提到具体调度算法,可能需要保持一般性描述。 然后是nova-compute的工作,包括与Glance获取镜像,Neutron分配网络,Cinder提供存储(如果有的话)。这里要强调各组件之间的协作,比如通过消息队列通信,以及各服务如何通过Keystone验证。引用4和引用5提到nova-conductor的作用,用来安全访问数据库,需要解释这一点。最后是虚拟机实例化的具体步骤,比如调用libvirt创建虚拟机,并更新数据库状态。同,整个流程中数据库记录的状态变化也很重要,比如初始状态到运行中的转变。 需要确保回答结构清晰,分步骤说明,并正确引用相关的引用编号。同,要检查是否有遗漏的步骤,比如安全组配置、密钥对注入等,这些在引用3中提到过,需要包含在内。 另外,用户可能对各个组件之间的交互感兴趣,例如nova-api如何与数据库通信,nova-scheduler如何选择节点,以及消息队列的作用。引用5详细说明了消息队列作为交通枢纽的重要性,这点要突出。 最后,生成相关问题要考虑用户可能进一步想知道的内容,比如如何优化流程、常见错误排查,或者各个组件的详细功能。确保问题与创建流程相关,并引导用户深入理解。</think>### OpenStack虚拟机创建详细流程 OpenStack虚拟机创建是一个涉及多个组件协同工作的复杂过程,主要分为以下几个阶段: #### 一、用户请求与身份验证 1. **用户发起请求**:通过命令行或Dashboard向`nova-api`发送创建虚拟机请求,包含镜像、规格(flavor)、网络等参数[^3][^5]。 2. **Keystone认证**: - 用户首先需提供用户名和密码获取临令牌(token)[^5]。 - `nova-api`携带该令牌向Keystone验证权限,确保用户有权执行操作[^2][^5]。 #### 二、调度与资源分配 3. **数据库记录初始化**: - `nova-api`将虚拟机元数据写入数据库(如MySQL),并生成初始记录[^4][^5]。 4. **调度器选择计算节点**: - `nova-scheduler`通过消息队列接收请求,根据资源可用性(CPU、内存等)和策略选择最优的`nova-compute`节点[^2][^5]。 #### 三、资源准备与组件协作 5. **镜像获取**: - `nova-compute`从Glance下载指定镜像,期间需通过Keystone验证镜像访问权限[^5]。 6. **网络配置**: - 调用Neutron分配IP配置虚拟网络(如创建端口、绑定安全组),Neutron同样需验证Token[^3][^5]。 7. **存储资源分配**(可选): - 若需云硬盘,`nova-compute`会请求Cinder创建并挂载卷,Cinder需通过Keystone认证[^5]。 #### 四、虚拟机实例化 8. **底层虚拟化调用**: - `nova-compute`通过Libvirt(默认使用KVM)创建虚拟机实例,加载镜像并配置虚拟硬件[^5]。 9. **状态同步与更新**: - `nova-conductor`持续更新数据库中的虚拟机状态(如“构建中”→“运行中”)[^5]。 10. **网络连通性检查**: - Neutron确保虚拟机获得IP并可通过网络访问[^3]。 #### 五、流程完成 11. **用户接收结果**: - 创建成功后,用户可通过Dashboard或命令行访问虚拟机[^1]。 ```plaintext 流程图简化为: 用户 → nova-api → Keystone认证 → 调度 → nova-compute → 资源协调 → 实例化 → 状态更新 → 完成 ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值