Ejemplo 3: Conexión de discos a un BMS
Escenarios
Si los discos existentes de un BMS no cumplen con los requisitos de servicio, por ejemplo, debido a un espacio en el disco insuficiente o a un rendimiento de disco deficiente, puede conectar más discos disponibles al BMS o invocar a la API de creación de discos de EVS para crear los discos y adjuntarlos al BMS.
Prerrequisitos
Los BMS que usan ciertas variantes no pueden tener los discos de EVS conectados porque los servidores no tienen iNIC de SDI o por otras razones. Por lo tanto, realice las siguientes operaciones para comprobar si los discos de EVS se pueden conectar a un BMS:
Invoque a la API de Consulta de detalles sobre variantes y la información de las variantes extendidas y compruebe la respuesta. Si el valor de baremetal:__support_evs para la variante de BMS es de true, se pueden conectar los discos de EVS al BMS. Si el valor es de false o la variante de BMS no contiene este parámetro, los discos de EVS no se pueden adjuntar al BMS.
Las API involucradas
Las siguientes API están involucradas:
Procedimiento
- Cree un disco de EVS.
- API
Formato de URI: POST /v2/{project_id}/volumes
Para obtener más información, consulte la Creación de discos de EVS.
- Ejemplo de la solicitud
POST https://{EVS Endpoint}/v2/05041fffa40025702f6dc009cc6f8f33/volumes
Obtenga {EVS Endpoint} de Regiones y puntos de conexión.
Cuerpo:
{ "volume": { "name": "openapi_vol01", "availability_zone": "cn-north-4a", "description": "create for api test", "volume_type": "SSD", "metadata": { "hw:passthrough": "true" }, "size": 40 } }
Los BMS solo admiten los discos SCSI de EVS. Por lo tanto, el valor de hw:passthrough debe ser true.
- Ejemplo de la respuesta
{ "volume": { "attachments": [], "links": [ { "href": "https://evs.cn-north-4.myhuaweicloud.com/v2/05041fffa40025702f6dc009cc6f8f33/volumes/8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111", "rel": "self" }, { "href": "https://evs.cn-north-4.myhuaweicloud.com/05041fffa40025702f6dc009cc6f8f33/volumes/8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111", "rel": "bookmark" } ], "availability_zone": "cn-north-4a", "encrypted": false, "updated_at": "2020-11-09T08:19:22.077967", "replication_status": "disabled", "storage_cluster_id": null, "snapshot_id": null, "id": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111", "size": 40, "user_id": "0504186e6a8010e01f3ec009a7279baa", "metadata": { "hw:passthrough": "true" }, "status": "creating", "description": "create for api test", "multiattach": false, "source_volid": null, "consistencygroup_id": null, "name": "openapi_vol01", "bootable": "false", "created_at": "2020-11-09T08:19:22.061273", "volume_type": "SSD", "shareable": false } }
Registre el valor de id en el volume.
- API
- Conecte el disco de EVS al BMS.
- API
Formato de URI: POST /v1/{project_id}/baremetalservers/{server_id}/attachvolume
Para obtener más información, véase Conexión de un disco de EVS a un BMS.
- Ejemplo de la solicitud
POST https://{BMS Endpoint}/v1/05041fffa40025702f6dc009cc6f8f33/baremetalservers/9ab74d89-61e7-4259-8546-465fdebe4944/attachvolume
Obtenga {BMS Endpoint} de Regiones y puntos de conexión.
Cuerpo:
{ "volumeAttachment": { "volumeId": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111", "device": "/dev/sdb" } }
- Ejemplo de la respuesta
{ "volumeAttachment": { "id": "b53f23bd-ee8f-49ec-9420-d1acfeaf91d6", "volumeId": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111", "serverId": "9ab74d89-61e7-4259-8546-465fdebe4944", "device": "/dev/sdb" } }
- API
- Compruebe si el disco de EVS está conectado correctamente al BMS.
- API
Formato de URI: GET /v1/{project_id}/baremetalservers/{server_id}/os-volume_attachments
Para obtener más información, véase Consulta de los discos de EVS conectados a un BMS.
- Ejemplo de la solicitud
GET https://{BMS Endpoint}/v1/05041fffa40025702f6dc009cc6f8f33/baremetalservers/9ab74d89-61e7-4259-8546-465fdebe4944/os-volume_attachments
Obtenga {BMS Endpoint} de Regiones y puntos de conexión.
- Ejemplo de la respuesta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ "volumeAttachments": [ { "device": "/dev/sdd", "id": "a26887c6-c47b-4654-abb5-dfadf7d3f803", "serverId": "9ab74d89-61e7-4259-8546-465fdebe4944", "volumeId": "a26887c6-c47b-4654-abb5-dfadf7d3f803" }, { "device": "/dev/sdb", "id": "b53f23bd-ee8f-49ec-9420-d1acfeaf91d6", "serverId": "9ab74d89-61e7-4259-8546-465fdebe4944", "volumeId": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111" } ] }
- API