openstack 命令行管理nova -volume(备忘)

卷操作文档:

(my_new_env) likailiang@pubbeta1-nova10:~$ nova |grep volum
            [--volume-service-name <volume-service-name>]
    update-qos          Update Qos metadata on a volume.  # 修改卷的iops和带宽范围,全部置为0表示qos不限制
    volume-attach       Attach a volume to a server.
    volume-create       Add a new volume.
    volume-create-attach
                        Create a volume and attach it to a server.
    volume-delete       Remove volume(s).
    volume-detach       Detach a volume from a server.
    volume-list         List all the volumes.
    volume-live-extend  Extend an attached volume.
    volume-map          Map a volume to a host.
    volume-revert       Revert a volume to a snapshot.
    volume-show         Show details about a volume.
    volume-snapshot-create
    volume-snapshot-delete
    volume-snapshot-list
    volume-snapshot-show
    volume-type-create  Create a new volume type.
    volume-type-delete  Delete a specific flavor
    volume-type-list    Print a list of available 'volume types'.
    volume-unmap        Unmap a volume from a host.
    volume-update       Update volume attachment.
  --volume-service-name <volume-service-name>

创建并挂载卷示例说明

(my_new_env) likailiang@pubbeta1-nova10:~$ nova help   volume-create-attach 
usage: nova volume-create-attach [--snapshot-id <snapshot-id>]
                                 [--display-description <display-description>]
                                 [--force <True|False>]
                                 [--qos_policy <qos_policy>]
                                 [--metadata <key=value>]
                                 <server> <size> <display_name>

Create a volume and attach it to a server.

Positional arguments:
  <server>              Name or ID of server.
  <size>                Size of volume in GB
  <display_name>        Name of the volume to create and attach.

Optional arguments:
  --snapshot-id <snapshot-id>
                        Optional snapshot id to create the volume from.
                        (Default=None)
  --display-description <display-description>
                        Optional volume description. (Default=None)
  --force <True|False>  Optional flag to indicate whether ignore `os-server-
                        status` to attach a volume. (Default=False)
  --qos_policy <qos_policy>
                        Qos policy (Optional, total or rw can be set,
                        Default=rw)
  --metadata <key=value>
                        Metadata to set on the create volume. (Default=[])

(my_new_env) likailiang@pubbeta1-nova10:~$ nova --debug  volume-create-attach 43fb3776-a5c8-4204-8088-157062f3376d 20 create_attach_volum_test

+--------------------+-------------------------------------------------+
| Property           | Value                                           |
+--------------------+-------------------------------------------------+
| attachments        | [{}]                                            |
| availabilityZone   | yiqiao1                                         |
| createdAt          | 2019-06-02T01:43:24.872671                      |
| displayDescription | -                                               |
| displayName        | create_attach_volum_test                        |
| id                 | 206e5ddc-399b-48ff-88f2-2d4dcd605c98            |
| metadata           | {"orig_instance_ceph_pool": "switch01_sas_vms"} |
| size               | 20                                              |
| snapshotId         | -                                               |
| status             | creating                                        |
| volumeType         | ceph                                            |
+--------------------+-------------------------------------------------+

挂载卷

(my_new_env) likailiang@pubbeta1-nova10:~$ nova help volume-attach 
usage: nova volume-attach [--force <True|False>] <server> <volume> [<device>]

Attach a volume to a server.

Positional arguments:
  <server>              Name or ID of server.
  <volume>              ID of the volume to attach.
  <device>              Name of the device e.g. /dev/vdb. Use "auto" for
                        autoassign (if supported)

Optional arguments:
  --force <True|False>  Optional flag to indicate whether ignore `os-server-
                        status` to attach a volume. (Default=False)

响应示例

{
    "volumeAttachment": {
        "device": "/dev/vdb",   # 【注意】该参数请忽略,卷挂载到云主机上的设备路径请通过cinder描述卷接口进行查询确认
        "serverId": "fd783058-0e27-48b0-b102-a6b4d4057cac",    #卷被挂载到的云主机的UUID
        "id": "ef40e5ca-5e70-44f6-a08b-87c458d4d81d",      #卷UUID,不建议使用该参数
        "volumeId": "ef40e5ca-5e70-44f6-a08b-87c458d4d81d"  #卷UUID,建议使用该参数
    }
}

响应状态码说明

200:
接口正常返回并且有body信息。(有无body请参考具体的API响应说明,某些API不符合规范)
202:
接口正常返回并且没有body信息。(有无body请参考具体的api响应说明,某些api不符合规范)
400:
请求参数错误,一般是body非法
401:
授权错误,一般是token非法,或者用户名密码错误。
403:
权限不足
404:
找不到资源,对应资源可能已经被删除或者不存在。
413:
配额不足
500:
内部服务错误,一般是程序的bug。

操作结果确认方法

需要轮询调用 描述卷 接口查询卷状态

  • 如果卷描述接口返回的卷状态变为in-use,则表示卷被成功挂载;
  • 如果卷描述接口返回的卷状态为attaching,则表示卷处在挂载过程中,需要继续等待;
  • 如果卷状态变为error_attaching,则表示卷挂载失败。
  • 如果卷状态变为available,则表示卷挂载失败。(挂载卷过程中的某些异常会导致这种情况)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值