物理机更改 IP
介绍如何更改平台里面物理机的 IPMI 、PXE 以及安装好操作系统的 IP 地址。
云平台里面的物理机会分配 2 个 IP 地址,一个分配给 BMC IPMI 的地址,还有一个是物理机 PXE 启动时候的地址。如果物理机安装操作系统,会在平台生成一条裸金属的记录,裸金属记录也会被分配一个 IP 地址。物理机安装操作系统的时候,在默认没有指定 IP 地址的情况下,裸金属分配的 IP 地址会优先复用对应物理机上的 PXE IP 地址。
通常情况下,这些 IP 地址都由云平台记录和管理,不需要手动去更改。但有时候遇到物理网络的变更,可能会手动更改 IPMI 或者操作系统里面的 IP 地址,手动更改相应的 IP 地址后,就需要更新云平台对应的 IP 地址。
注意
如果手动更改了物理机上的 IP 地址,但是云平台对应的信息没有同步更新,管理另外的物理机就可能出现 IP 地址冲突。物理机更改 IP
对于没有安装操作系统的物理机,可以更改 IPMI 和 PXE 的 IP 地址。
更改 IPMI IP
假设要把名称为 bm1 的物理机 IPMI 地址变为 10.0.2.2
# 先用 host-list 找到对应的物理机
# 能看到 bm1 的状态 status 字段为 running
$ climc host-list --search bm1
+--------------------------------------+------+-------------------+--------------+---------+---------+-------------+----------+-----------+------------+---------------+--------------+-----------+--------------+-----------+--------------+
| ID | Name | Access_mac | Access_ip | Status | enabled | host_status | mem_size | cpu_count | node_count | sn | storage_type | host_type | storage_size | domain_id | public_scope |
+--------------------------------------+------+-------------------+--------------+---------+---------+-------------+----------+-----------+------------+---------------+--------------+-----------+--------------+-----------+--------------+
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 52:54:00:12:34:56 | 10.168.26.70 | running | true | offline | 4096 | 1 | 1 | Not Specified | hybrid | baremetal | 215040 | default | system |
+--------------------------------------+------+-------------------+--------------+---------+---------+-------------+----------+-----------+------------+---------------+--------------+-----------+--------------+-----------+--------------+
# 查看 bm1 上网卡对应的 IP 地址
# 能够看到类型为 ipmi 的网卡 30:4e:05:26:22:43 分配的地址为 10.0.2.3
$ climc host-network-list --host bm1 --details
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| Baremetal_ID | Host | Network_ID | Network | IP_addr | Mac_addr | Nic_Type |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | pxe-net | 10.168.26.72 | 52:54:00:12:34:56 | admin |
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | ipmi-net | 10.0.2.3 | 30:4e:05:26:22:43 | ipmi |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
# 更新 IPMI 地址为 10.0.2.2
$ climc host-update --ipmi-ip-addr 10.0.2.2 bm1
# 更新完 IPMI 地址后需要调用 IPMI 探测的接口重新刷新一遍信息
$ climc host-ipmi-probe bm1
# 执行 host-ipmi-probe 后,bm1 的状态 status 字段会变为 start_probe
# 探测完成后状态会变为 running ,期间可以用 host-list 命令查看
# 等到探测完毕后,再用 host-network-list 命令查看 ipmi 地址
# 发现已经更新为 10.0.2.2
$ climc host-network-list --host bm1 --details | grep ipmi
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | ipmi-net | 10.0.2.2 | 30:4e:05:26:22:43 | ipmi |
更改 PXE IP
物理机在安装系统,或者重装系统的时候,会先 PXE 引导进入平台定制的精简 Linux 系统,可以通过以下命令更改 PXE 启动时分配的 IP 地址。
假设要把名称为 bm1 的 PXE 启动 IP 地址从 10.168.26.72 变为 10.168.26.70 。
# 先查看物理机 bm1 上网卡已经分配的 IP 地址
$ climc host-network-list --host bm1 --details
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| Baremetal_ID | Host | Network_ID | Network | IP_addr | Mac_addr | Nic_Type |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | pxe-net | 10.168.26.72 | 52:54:00:12:34:56 | admin |
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | ipmi-net | 10.0.2.2 | 30:4e:05:26:22:43 | ipmi |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
# 其中类型为 admin 的网卡表示分配给 PXE 启动的 IP
# 对应网卡的 MAC 地址为 52:54:00:12:34:56
# 先把物理机网卡禁用
$ climc host-disable-netif bm1 52:54:00:12:34:56
# 然后重新启用对应网卡,分配指定的 IP 地址
$ climc host-enable-netif --ip 10.168.26.70 bm1 52:54:00:12:34:56
# 再查看 bm1 上的网卡 IP 地址分配情况,发现 admin 类型的网卡已经变为 10.168.26.70
$ climc host-network-list --host bm1 --details
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| Baremetal_ID | Host | Network_ID | Network | IP_addr | Mac_addr | Nic_Type |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 14f56d88-0a70-404f-872e-56949bf0e488 | pxe-net | 10.168.26.70 | 52:54:00:12:34:56 | admin |
| 610a7133-a2f6-4e52-8b12-2067296863a4 | bm1 | 25056dcc-45dr-3wef-8734-9b5694f880e4 | ipmi-net | 10.0.2.2 | 30:4e:05:26:22:43 | ipmi |
+--------------------------------------+------+--------------------------------------+------------+--------------+-------------------+----------+
裸金属更改 IP 地址
物理机安装完操作系统后,在平台有一条对应的裸金属记录,裸金属分配的 IP 地址对应当前磁盘操作系统上的 IP 地址,如果手动修改了操作系统的 IP,需要使用以下的命令行更改对应裸金属的 IP 地址。
# 先找到物理机 bm1 上对应的裸金属记录
$ climc server-list --scope system --host bm1
# 查看裸金属 bms 上的网卡和 IP 地址对应关系
# 会发现 bms 上的网卡 MAC 地址其实和 bm1 物理机的网卡时一致的
# IP 地址也是优先复用的
$ climc server-network-list --server bms --details
+--------------------------------------+-------+--------------------------------------+---------+-------------------+---------------+
| Guest_ID | Guest | Network_ID | Network | Mac_addr | IP_addr |
+--------------------------------------+-------+--------------------------------------+---------+-------------------+---------------+
| 398df1ce-1675-42b9-87d0-87634e21f139 | bms | 14f56d88-0a70-404f-872e-56949bf0e488 | pxe-net | 52:54:00:12:34:56 | 10.168.26.72 |
+--------------------------------------+-------+--------------------------------------+---------+-------------------+---------------+
# 然后更新裸金属 bms 的 IP 地址,改为 pxe-net 子网里面的 10.168.26.70 地址
$ climc server-change-ipaddr bms 52:54:00:12:34:56 pxe-net:10.168.26.70