
# 示例3：裸金属服务器挂载磁盘
#### 操作场景
裸金属服务器创建成功后，如果发现磁盘不够用或当前磁盘不满足要求，可以将已有磁盘挂载给裸金属服务器，或调用创建云硬盘的接口创建新的磁盘，然后再挂载至裸金属服务器。挂载操作需要调用挂载云硬盘接口。
#### 前提条件
由于某些机型的服务器没有配备SDI卡，或者其他服务器本身的原因，有些规格的裸金属服务器不支持挂载云硬盘。因此，您需要先确认裸金属服务器是否支持挂载云硬盘。判断方式如下：
调用[查询规格详情和规格扩展信息列表 - ListBaremetalFlavorDetailExtends](https://support.huaweicloud.com/api-bms/bms_api_0619.html)API，确定响应参数中某个规格对应的"baremetal:__support_evs"的取值，如果为"true"表示支持挂载云硬盘，为"false"表示不支持。有些裸金属服务器规格中无此参数，也表示不支持云硬盘。
#### 涉及接口
挂载磁盘涉及的接口如下：
- [创建云硬盘]
- [裸金属服务器挂载云硬盘]
- [查询裸金属服务器挂载的云硬盘信息]
 
#### 操作步骤
1. 创建云硬盘。
   - 接口相关信息 URI格式：POST /v2/{project_id}/volumes
     详情请参考"[创建云硬盘](https://support.huaweicloud.com/api-evs/evs_04_2065.html)"。
     
   
   - 请求示例 POST https://{EVS Endpoint}/v2/05041fffa40025702f6dc009cc6f8f33/volumes
     {EVS Endpoint}信息请从"[地区和终端节点](https://developer.huaweicloud.com/endpoint?EVS)"获取。
     Body：
     ```
     {
         "volume": {
             "name": "openapi_vol01", 
             "availability_zone": "cn-north-4a", 
             "description": "create for api test", 
             "volume_type": "SSD", 
             "metadata": {
                 "hw:passthrough": "true"
             },
             "size": 40
         }
     }
     ```
     ![](https://support.huaweicloud.com/api-bms/public_sys-resources/note_3.0-zh-cn.png)
     裸金属服务器仅支持挂载SCSI类型的云硬盘，因此"hw:passthrough"参数必须取值"true"。
     
   
   - 响应示例
     ```
     {
         "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
         }
     }
     ```
     记录响应中volume的"ID"。
     
    
2. 挂载云硬盘。
   - 接口相关信息 URI格式：POST /v1/{project_id}/baremetalservers/{server_id}/attachvolume
     详情请参考[裸金属服务器挂载云硬盘 - AttachBaremetalServerVolume](https://support.huaweicloud.com/api-bms/bms_api_0626.html)。
     
   
   - 请求示例 POST https://{BMS Endpoint}/v1/05041fffa40025702f6dc009cc6f8f33/baremetalservers/9ab74d89-61e7-4259-8546-465fdebe4944/attachvolume
     {BMS Endpoint}信息请从"[地区和终端节点](https://developer.huaweicloud.com/endpoint?BMS)"获取。
     Body：
     ```
     {
         "volumeAttachment": {
             "volumeId": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111",
             "device": "/dev/sdb"
         }
     }
     ```
     
   
   - 响应示例
     ```
     {
         "volumeAttachment": {
             "id": "b53f23bd-ee8f-49ec-9420-d1acfeaf91d6",
             "volumeId": "8ae4ff5b-7e6e-492f-b83a-8a51fdfa3111",
             "serverId": "9ab74d89-61e7-4259-8546-465fdebe4944",
             "device": "/dev/sdb"
         }
     }
     ```
     
    
3. 确认挂载云硬盘是否成功。
   - 接口相关信息 URI格式：GET /v1/{project_id}/baremetalservers/{server_id}/os-volume_attachments
     详情请参考[查询裸金属服务器挂载的云硬盘信息 - ShowBaremetalServerVolumeInfo](https://support.huaweicloud.com/api-bms/bms_api_0629.html)。
     
   
   - 请求示例 GET https://{BMS Endpoint}/v1/05041fffa40025702f6dc009cc6f8f33/baremetalservers/9ab74d89-61e7-4259-8546-465fdebe4944/os-volume_attachments
     {BMS Endpoint}信息请从"[地区和终端节点](https://developer.huaweicloud.com/endpoint?BMS)"获取。
     
   
   - 响应示例
     ```
     {
         "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"
             }
         ]
     }
     ```
     
    
 
