说明
-
下面是在openstack的控制节点通过命令完成。
-
通过命令行更改;通过命令行更改必须关闭虚拟机。
更改流程
信息获取
- 注:下面ip前2个段均做过删减【真实环境不方便展示】
- 假设,我现在有一台虚拟机的ip是
1.1.99.53
,需要换成1.1.99.126
【这个ip必须没有使用才行】
那么下面的值为1.1.99.53
这台虚拟机的信息。 - 下面命令均在控制节点执行,如果执行失败,先source环境变量
- 1、
neutron net-list
【记录port-create的id】 - 2、
neutron subnet-list
【记录subnet_id=的id】 - 3、
nova show 2ff68976-65e4-40b6-a893-e4344975c79b(虚拟机uuid)
【记录–tenant-id编号】【注,这个id可以是我们需要修改的虚拟机id,也可以是和需要修改虚拟机id同一个域的虚拟机,因为同一个域的tenant-id是固定的】
- 1、
替换ip
-
说明
neutron port-create b37857c8-488a-4e17-9e3d-5cd287【上面1记录的值】 --fixed-ip subnet_id=3502cdd0-43b9-42ce-a86d-4fdb48ee9ea【上面2记录的值】,ip_address=1.1.99.126【需要替换成这个ip】 --tenant-id 39f06653835f4f69ea509179243179c【上面3记录的值】
-
实操
[root@controller01 ~]# neutron port-create b37857c8-488a-4e17-9e3d-5e0fecd287 --fixed-ip subnet_id=3502cdd0-43b9-42ce-a86d-4fd48ee9ea,ip_address=1.1.99.126 --tenant-id 39f06653835f4f619509179243179c
Created a new port:
+-----------------------+--------------------------------------------------------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------------------------------------------------------+
| admin_state_up | True |
| allowed_address_pairs | |
| binding:host_id | |
| binding:profile | {
} |
| binding:vif_details | {
} |
| binding:vif_type | unbound |
| binding:vnic_type | normal |
| created_at | 2021-05-17T01:12:28 |
| description | |
| device_id | |
| device_owner | |
| dns_name | |
| extra_dhcp_opts | |
| fixed_ips | {
"subnet_id": "3502cdd0-43b9-42ce-a86d-4fd0b48ee9ea", "ip_address": "1.1.99.126"} |
| id | 36b36369-8f2e-45c6-a7bd-5cdba2f5c5fc |
| mac_address | fa:16:3e:c4:be:60 |
| name | |
| network_id | b37857c8-488a-4e17-9e3d-5e0fe32cd287 |
| port_security_enabled | True |
| security_groups | c8a9e998-22f3-4bf3-ae0e-3bfa028eb8ec |
| status | DOWN |
| tenant_id | 39f06653835f4f619ea509179243179c |
| updated_at | 2021-05-17T01:12:28 |
+-----------------------+--------------------------------------------------------------------------------------+
[root@controller01 ~]#
[root@controller01 ~]# neutron port-list |grep 99.53 【查看该ip是否存在】
| 6a0375cc-c9f7-4bd9-89d2-257fa700ce49 | | fa:16:3e:c5:eb:9a | {
"subnet_id": "3502cdd0-43b9-42ce-a86d-4fd0b48ee9ea", "ip_address": "1.1.99.53"} |
[root@controller01 ~]# neutron port-list |grep 99.126【查看该ip是否存在】
| 36b36369-8f2e-45c6-a7bd-5cdba2f5c5fc | | fa:16:3e:c4:be:60 | {
"subnet_id": "3502cdd0-43b9-42ce-a86d-4fd0b48ee9ea", "ip_address": "1.1.99.126"} |
[root@controller01 ~]#
删除原网卡
-
命令解释
nova interface-detach 2ff68976-65e4-40b6-a893-e4344975c79b【99.53的虚拟机uuid】 6a0375cc-c9f7-4bd9-89d2-257fa700ce49【port-id,上面 neutron port-list |grep 99.53的id】
-
实操
[root@controller01 ~]# nova interface-detach 2ff68976-65e4-40b6-a893-e4344975c79b 6a0375cc-c9f7-4bd9-89d2-257fa700ce49
[root@controller01 ~]# neutron port-list |grep 99.53【上面删除以后,该ip不存在】
[root@controller01 ~]#
添加新网卡
- 命令解释
nova interface-attach --port-id 36b36369-8f2e-45c6-a7bd-5cdba2f5c5fc【port-ID,上面neutron port-list |grep 99.126的id】 2ff68976-65e4-40b6-a893-e4344975c79b【99.53的虚拟机uuid】
- 实操
[root@controller01 ~]# nova interface-attach --port-id 36b36369-8f2e-45c6-a7bd-5cdba2f5c5fc 2ff68976-65e4-40b6-a893-e4344975c79b
[root@controller01 ~]# nova show 2ff68976-65e4-40b6-a893-e4344975c79b # 可以看到修改ip已经生效了
+--------------------------------------+----------------------------------------------------------------------------------+
| Property | Value |
+--------------------------------------+----------------------------------------------------------------------------------+
| OS-DCF:diskConfig | AUTO |
| OS-EXT-AZ:availability_zone | BUSINESS |
| OS-EXT-SRV-ATTR:host | computer13 |
| OS-EXT-SRV-ATTR:hostname | xz-nms-sjmypt-8 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | computer13 |
| OS-EXT-SRV-ATTR:instance_name | instance-00001116 |
| OS-EXT-SRV-ATTR:kernel_id | |
| OS-EXT-SRV-ATTR:launch_index | 0 |
| OS-EXT-SRV-ATTR:ramdisk_id | |
| OS-EXT-SRV-ATTR:reservation_id | r-zc1wca84 |
| OS-EXT-SRV-ATTR:root_device_name | /dev/vda |
| OS-EXT-SRV-ATTR:user_data | - |
| OS-EXT-STS:power_state | 1 |
| OS-EXT-STS:task_state | - |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2021-05-17T00:44:41.000000 |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| config_drive | |
| created | 2021-05-17T00:43:35Z |
| description | xz-nms-sjmypt-8 |
| flavor | 8C-16GB-40GB (c125a923-0e2a-498e-8904-078cacdf638c) |
| hostId | 1b664e2ff01a9b9dc2efd76c06b61f3df6f0fd7618019939453530c9 |
| host_status | UP |
| id | 2ff68976-65e4-40b6-a893-e4344975c79b |
| image | Centos7.4 (c3784aea-02c0-48db-9499-500901cb9964) |
| key_name | - |
| locked | False |
| metadata | {
} |
| name | xz-nms-sjmypt-8 |
| nms2-net network | 1.1.99.126 |
| os-extended-volumes:volumes_attached | [{
"id": "12ce2a98-95d6-4b49-b3d4-37b785410742", "delete_on_termination": false}] |
| progress | 0 |
| security_groups | default |
| status | ACTIVE |
| tenant_id | 39f06653835f4f619ea509179243179c |
| updated | 2021-05-17T00:44:42Z |
| user_id | 7b5624409d4a4b39acf5fa426e4a9c9b |
+--------------------------------------+----------------------------------------------------------------------------------+
[root@controller01 ~]#
重启网卡【注意事项】【重启网卡报错处理】
- 上面修改以后,启动该虚拟机,如果ip没有,则重启网卡【此时网卡重启应该会报错】
网卡重启报错处理方法:进入该网卡的配置文件,注释掉该网卡的 mac信息 ,再次重启网卡就不会报错了。