运维-04-裸机服务-ironic¶
常用命令¶
上传裸机镜像¶
usage: openstack image create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--fit-width] [--print-empty] [--noindent]
[--prefix PREFIX] [--id <id>]
[--container-format <container-format>]
[--disk-format <disk-format>]
[--min-disk <disk-gb>] [--min-ram <ram-mb>]
[--file <file> | --volume <volume>] [--force]
[--protected | --unprotected]
[--public | --private | --community | --shared]
[--property <key=value>] [--tag <tag>]
[--project <project>]
[--project-domain <project-domain>]
<image-name>
[root@172e18e211e4 images]# openstack image create "centos72-baremetal" --file centos72-baremetal.qcow2 --disk-format qcow2 --container-format bare --public --tag store:swift --property img_hv_type=baremetal
+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum | 0838e4a4cd54b4d9e59e4c60c8531baf |
| container_format | bare |
| created_at | 2018-09-17T10:19:55Z |
| disk_format | qcow2 |
| file | /v2/images/03fc7f55-8adc-4832-aee1-624e7ef23e78/file |
| id | 03fc7f55-8adc-4832-aee1-624e7ef23e78 |
| min_disk | 0 |
| min_ram | 0 |
| name | centos72-baremetal |
| owner | 1029082edee848dca9f175a5f741a3be |
| properties | img_hv_type='baremetal', locations='[{u'url': u'swift+http://GLANCE_USERNAME%3Aswift:STORE_KEY@192.168.200.65:7480/auth/1.0/glance/03fc7f55-8adc-4832-aee1-624e7ef23e78', u'metadata': {}}]' |
| protected | False |
| schema | /v2/schemas/image |
| size | 1160380416 |
| status | active |
| tags | store:swift |
| updated_at | 2018-09-17T10:20:08Z |
| virtual_size | None |
| visibility | public |
+------------------+------------------------------------------------------------------------------------------------------
上传 deploy-kernel 镜像¶
[root@172e18e211e4 images]# glance image-create --tag store:swift --name deploy-kernel --visibility public --disk-format aki --container-format aki <coreos_production_pxe.vmlinuz
+------------------+----------------------------------------------------------------------------------+
| Property | Value |
+------------------+----------------------------------------------------------------------------------+
| checksum | c8d30c974be68fd227ed708736be2617 |
| container_format | aki |
| created_at | 2018-09-17T10:23:23Z |
| disk_format | aki |
| id | 2630a4f6-27ae-413f-8ef0-3a76ab68dbc7 |
| locations | [{"url": "swift+http://GLANCE_USERNAME%3Aswift:STORE_KEY@192.168.200.65:7480/aut |
| | h/1.0/glance/2630a4f6-27ae-413f-8ef0-3a76ab68dbc7", "metadata": {}}] |
| min_disk | 0 |
| min_ram | 0 |
| name | deploy-kernel |
| owner | 1029082edee848dca9f175a5f741a3be |
| protected | False |
| size | 33829856 |
| status | active |
| tags | ["store:swift"] |
| updated_at | 2018-09-17T10:23:23Z |
| virtual_size | None |
| visibility | public |
+------------------+----------------------------------------------------------------------------------+
上传 deploy-ramdisk 镜像¶
[root@172e18e211e4 images]# glance image-create --tag store:swift --name deploy-ramdisk --visibility public --disk-format ari --container-format ari <coreos_production_pxe_image-oem.cpio.gz
+------------------+----------------------------------------------------------------------------------+
| Property | Value |
+------------------+----------------------------------------------------------------------------------+
| checksum | c492eaae0f6bc9701f472086fc8bd5b7 |
| container_format | ari |
| created_at | 2018-09-17T10:26:35Z |
| disk_format | ari |
| id | 9c795112-bc84-4a38-92d8-7ebd047c8fca |
| locations | [{"url": "swift+http://GLANCE_USERNAME%3Aswift:STORE_KEY@192.168.200.65:7480/aut |
| | h/1.0/glance/9c795112-bc84-4a38-92d8-7ebd047c8fca", "metadata": {}}] |
| min_disk | 0 |
| min_ram | 0 |
| name | deploy-ramdisk |
| owner | 1029082edee848dca9f175a5f741a3be |
| protected | False |
| size | 358809034 |
| status | active |
| tags | ["store:swift"] |
| updated_at | 2018-09-17T10:26:40Z |
| virtual_size | None |
| visibility | public |
+------------------+----------------------------------------------------------------------------------+
创建裸机规格¶
[root@172e18e211e4 images]# openstack flavor create --ram 400 --disk 400 --vcpus=40 --property cpu_arch=x86_64 --property resources:CUSTOM_HUAWEI=1 --property resources:VCPU=0 --property resources:MEMORY_MB=0 --property resources:DISK_GB=0 huawei
+----------------------------+--------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------------------------------------------------------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| disk | 400 |
| id | de2fd079-8d8d-4744-a49b-ec47b58b04e2 |
| name | huawei |
| os-flavor-access:is_public | True |
| properties | cpu_arch='x86_64', resources:CUSTOM_HUAWEI='1', resources:DISK_GB='0', resources:MEMORY_MB='0', resources:VCPU='0' |
| ram | 400 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 40 |
创建 Ironic node,裸机的 enroll 阶段¶
usage: openstack baremetal node create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--fit-width] [--print-empty]
[--noindent] [--prefix PREFIX]
[--chassis-uuid <chassis>] --driver
<driver> [--driver-info <key=value>]
[--property <key=value>]
[--extra <key=value>] [--uuid <uuid>]
[--name <name>]
[--boot-interface <boot_interface>]
[--console-interface <console_interface>]
[--deploy-interface <deploy_interface>]
[--inspect-interface <inspect_interface>]
[--management-interface <management_interface>]
[--network-interface <network_interface>]
[--power-interface <power_interface>]
[--raid-interface <raid_interface>]
[--storage-interface <storage_interface>]
[--vendor-interface <vendor_interface>]
[--resource-class <resource_class>]
[root@172e18e211e77 ~]# openstack baremetal node create --driver agent_ipmitool --driver-info deploy_kernel=0a3eabc3-fa00-4786-bd58-de6e793c98f2 \
--driver-info deploy_ramdisk=e62a4dfe-4f16-424e-8116-b949f027fae4 --driver-info ipmi_username=admin01 \
--driver-info ipmi_address=172.18.214.18 --driver-info ipmi_password='a1!a1!a1!' \
--resource-class huawei --name 172e18e214e18
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot_interface | None |
| chassis_uuid | None |
| clean_step | {} |
| console_enabled | False |
| console_interface | None |
| created_at | 2018-09-27T09:02:54+00:00 |
| deploy_interface | None |
| driver | agent_ipmitool |
| driver_info | {u'deploy_kernel': u'0a3eabc3-fa00-4786-bd58-de6e793c98f2', u'ipmi_address': u'172.18.214.18', u'deploy_ramdisk': u'e62a4dfe-4f16-424e-8116-b949f027fae4', u'ipmi_password': u'******', u'ipmi_username': u'admin01'} |
| driver_internal_info | {} |
| extra | {} |
| inspect_interface | None |
| inspection_finished_at | None |
| inspection_started_at | None |
| instance_info | {} |
| instance_uuid | None |
| last_error | None |
| maintenance | False |
| maintenance_reason | None |
| management_interface | None |
| name | 172e18e214e18 |
| network_interface | neutron |
| power_interface | None |
| power_state | None |
| properties | {} |
| provision_state | enroll |
| provision_updated_at | None |
| raid_config | {} |
| raid_interface | None |
| reservation | None |
| resource_class | huawei |
| storage_interface | noop |
| target_power_state | None |
| target_provision_state | None |
| target_raid_config | {} |
| traits | [] |
| updated_at | None |
| uuid | 702f253d-6cb4-4dc2-95be-7d66a5001f1f |
| vendor_interface | None |
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
查看裸机 node¶
usage: openstack baremetal node list [-h] [-f {csv,json,table,value,yaml}]
[-c COLUMN] [--max-width <integer>]
[--fit-width] [--print-empty]
[--noindent]
[--quote {all,minimal,none,nonnumeric}]
[--sort-column SORT_COLUMN]
[--limit <limit>] [--marker <node>]
[--sort <key>[:<direction>]]
[--maintenance | --no-maintenance]
[--associated | --unassociated]
[--provision-state <provision state>]
[--driver <driver>]
[--resource-class <resource class>]
[--chassis <chassis UUID>]
[--long | --fields <field> [<field> ...]]
[root@172e18e211e77 ~]# openstack baremetal node list
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| 702f253d-6cb4-4dc2-95be-7d66a5001f1f | 172e18e214e18 | None | None | enroll | False |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
裸机 inspect 阶段¶
当裸机 inspect 的时候,需要裸机状态为 manageable,所以需要先将状态置为 manageable
usage: openstack baremetal node manage [-h] [--wait [<time-out>]] <node>
[root@172e18e211e77 ~]# openstack baremetal node manage 702f253d-6cb4-4dc2-95be-7d66a5001f1f
[root@172e18e211e77 ~]# openstack baremetal node list
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| 702f253d-6cb4-4dc2-95be-7d66a5001f1f | 172e18e214e18 | None | power off | manageable | False |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
usage: openstack baremetal node inspect [-h] [--wait [<time-out>]] <node>
[root@172e18e211e77 ~]# openstack baremetal node inspect 702f253d-6cb4-4dc2-95be-7d66a5001f1f
这个过程需要花费较长的时间,当 Provisioning State 为 manageable 的时候,一般说明 inspect 成功。
[root@172e18e211e77 ~]# openstack baremetal node list
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| 702f253d-6cb4-4dc2-95be-7d66a5001f1f | 172e18e214e18 | None | power off | manageable | False |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
查看 node 详情,如果inspect 成功,driver_info 与 properties 会有相关信息。
[root@172e18e211e77 ~]# openstack baremetal node show 702f253d-6cb4-4dc2-95be-7d66a5001f1f
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| boot_interface | None |
| chassis_uuid | None |
| clean_step | {} |
| console_enabled | False |
| console_interface | None |
| created_at | 2018-09-27T09:02:54+00:00 |
| deploy_interface | None |
| driver | agent_ipmitool |
| driver_info | {u'ipmi_password': u'******', u'ipmi_address': u'172.18.214.18', u'deploy_ramdisk': u'e62a4dfe-4f16-424e-8116-b949f027fae4', u'deploy_kernel': u'0a3eabc3-fa00-4786-bd58-de6e793c98f2', u'ipmi_username': u'admin01'} |
| driver_internal_info | {} |
| extra | {} |
| inspect_interface | None |
| inspection_finished_at | 2018-09-27T09:37:13+00:00 |
| inspection_started_at | None |
| instance_info | {} |
| instance_uuid | None |
| last_error | None |
| maintenance | False |
| maintenance_reason | None |
| management_interface | None |
| name | 172e18e214e18 |
| network_interface | neutron |
| power_interface | None |
| power_state | power off |
| properties | {u'memory_mb': u'131072', u'cpu_arch': u'x86_64', u'local_gb': u'464', u'cpus': u'32', u'capabilities': u'cpu_txt:true,cpu_aes:true,cpu_hugepages_1g:true,cpu_hugepages:true,cpu_vt:true'} |
| provision_state | manageable |
| provision_updated_at | 2018-09-27T09:37:13+00:00 |
| raid_config | {} |
| raid_interface | None |
| reservation | None |
| resource_class | huawei |
| storage_interface | noop |
| target_power_state | None |
| target_provision_state | None |
| target_raid_config | {} |
| traits | [] |
| updated_at | 2018-09-27T09:37:13+00:00 |
| uuid | 702f253d-6cb4-4dc2-95be-7d66a5001f1f |
| vendor_interface | None |
+------------------------+-------------------------------------------------------------------------------
创建 port-group¶
usage: openstack baremetal port group create [-h]
[-f {json,shell,table,value,yaml}]
[-c COLUMN]
[--max-width <integer>]
[--fit-width] [--print-empty]
[--noindent] [--prefix PREFIX]
--node <uuid>
[--address <mac-address>]
[--name NAME] [--uuid UUID]
[--extra <key=value>]
[--mode MODE]
[--property <key=value>]
[--support-standalone-ports | --unsupport-standalone-ports]
[root@172e18e211e77 ~]# openstack baremetal port group create --node a762ee32-3a16-4021-adf4-366e59527030 --name port-group18 \
--mode balance-rr --property miimon=100 --property Eth-Trunk=51 \
--support-standalone-ports
+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| address | None |
| created_at | 2018-09-28T03:00:29.384607+00:00 |
| extra | {} |
| internal_info | {} |
| mode | balance-rr |
| name | port-group18 |
| node_uuid | a762ee32-3a16-4021-adf4-366e59527030 |
| properties | {u'miimon': 100, u'Eth-Trunk': 51} |
| standalone_ports_supported | True |
| updated_at | None |
| uuid | 7c3ed0a7-aca8-49bd-a450-d7990d9a892b |
+----------------------------+--------------------------------------+
port-group 创建完成以后,将 inpect 阶段创建的两个 port 添加到 port-group 中。
usage: openstack baremetal port set [-h] [--node <uuid>] [--address <address>]
[--extra <key=value>]
[--port-group <uuid>]
[--local-link-connection <key=value>]
[--pxe-enabled | --pxe-disabled]
[--physical-network <physical network>]
<port>
[root@172e18e211e77 ~]# openstack baremetal port set 06bbb36f-d58f-4dd8-9ac8-0c4ec4f181a0 --port-group 7c3ed0a7-aca8-49bd-a450-d7990d9a892b
[root@172e18e211e77 ~]# openstack baremetal port set 7355503e-eba4-4c5a-932a-ba0960288a00 --port-group 7c3ed0a7-aca8-49bd-a450-d7990d9a892b
添加成功以后,可以通过 port 的详情查看,可以看到 portgroup_uuid 这项信息。
[root@172e18e211e77 ~]# openstack baremetal port show 06bbb36f-d58f-4dd8-9ac8-0c4ec4f181a0
+-----------------------+-----------------------------------------------------------------+
| Field | Value |
+-----------------------+-----------------------------------------------------------------+
| address | 7c:a2:3e:e9:da:57 |
| created_at | 2018-09-28T02:07:12+00:00 |
| extra | {} |
| internal_info | {} |
| local_link_connection | {u'port_id': u'10GE1/0/28', u'switch_id': u'c8:1f:be:d0:23:11'} |
| node_uuid | a762ee32-3a16-4021-adf4-366e59527030 |
| physical_network | None |
| portgroup_uuid | 7c3ed0a7-aca8-49bd-a450-d7990d9a892b |
| pxe_enabled | False |
| updated_at | 2018-09-28T03:09:30+00:00 |
| uuid | 06bbb36f-d58f-4dd8-9ac8-0c4ec4f181a0 |
+-----------------------+-----------------------------------------------------------------+
裸机的 provide 阶段¶
usage: openstack baremetal node provide [-h] [--wait [<time-out>]] <node>
[root@172e18e211e77 ~]# openstack baremetal node provide a762ee32-3a16-4021-adf4-366e59527030
provide 完成以后,Provisioning State 为 available 状态。
[root@172e18e211e77 ~]# openstack baremetal node list
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+---------------+---------------+-------------+--------------------+-------------+
| a762ee32-3a16-4021-adf4-366e59527030 | 172e18e214e18 | None | power off | available | False |
+--------------------------------------+---------------+---------------+-------------+--------------------+---
创建 server¶
[root@172e18e211e77 ~]# openstack server create --nic net-id=e28b97bb-5a51-45a1-a5e3-34b73cc119c5,v4-fixed-ip=192.168.1.100 \
--image fbfb0101-6b64-4864-82a7-1d4a699eea01 --flavor huawei_128 \
--property admin_pass=123 --config-drive True \
--availability-zone public:172e18e211e77:a762ee32-3a16-4021-adf4-366e59527030 192e168e1e100
+-------------------------------------+-----------------------------------------------------------+
| Field | Value |
+-------------------------------------+-----------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | public |
| OS-EXT-SRV-ATTR:host | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | |
| OS-EXT-STS:power_state | NOSTATE |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| adminPass | EsM42qmkSjiE |
| config_drive | True |
| created | 2018-09-28T05:44:48Z |
| flavor | huawei_128 (e4a2a162-509c-4e49-88f4-569e0a635314) |
| hostId | |
| id | 0f66a3e7-55ca-40df-84d9-1c9c22dffe77 |
| image | centos72-baremetal (fbfb0101-6b64-4864-82a7-1d4a699eea01) |
| key_name | None |
| name | 192e168e1e100 |
| progress | 0 |
| project_id | 29007e532b4a4576a8099b9962d7a71f |
| properties | admin_pass='123' |
| security_groups | name='default' |
| status | BUILD |
| updated | 2018-09-28T05:44:48Z |
| user_id | e2efaaad1ff9442fb09ef6ad5b109889 |
| volumes_attached | |
+-------------------------------------+-----------------------------------------------------------+
显示 port 的详情,查看连接交换机¶
[root@172e18e211e77 ~]# openstack baremetal port list --long -f json --node 172e18e214e18
[
{
"UUID": "06bbb36f-d58f-4dd8-9ac8-0c4ec4f181a0",
"Extra": "",
"PXE boot enabled": false,
"Physical Network": null,
"Portgroup UUID": "7c3ed0a7-aca8-49bd-a450-d7990d9a892b",
"Internal Info": {},
"Address": "7c:a2:3e:e9:da:57",
"Local Link Connection": {
"port_id": "10GE1/0/28",
"switch_id": "c8:1f:be:d0:23:11"
},
"Updated At": "2018-09-28T03:09:30+00:00",
"Node UUID": "a762ee32-3a16-4021-adf4-366e59527030",
"Created At": "2018-09-28T02:07:12+00:00"
},
{
"UUID": "7355503e-eba4-4c5a-932a-ba0960288a00",
"Extra": "",
"PXE boot enabled": true,
"Physical Network": null,
"Portgroup UUID": "7c3ed0a7-aca8-49bd-a450-d7990d9a892b",
"Internal Info": {},
"Address": "7c:a2:3e:e9:da:47",
"Local Link Connection": {
"port_id": "10GE2/0/28",
"switch_id": "c8:1f:be:d0:23:11"
},
"Updated At": "2018-09-30T01:05:37+00:00",
"Node UUID": "a762ee32-3a16-4021-adf4-366e59527030",
"Created At": "2018-09-28T02:07:13+00:00"
}
]
删除裸机 node¶
usage: openstack baremetal node delete [-h] <node> [<node> ...]
[root@172e18e211e77 ~]# openstack baremetal node delete 97c2afbc-e209-46e6-8110-8a3bd7e8f8f1
Deleted node 97c2afbc-e209-46e6-8110-8a3bd7e8f8f1
故障处理¶
这里是故障处理