云服务器BCC

    磁盘

    直接创建磁盘

    使用以下代码可以创建磁盘:

    def create_volume_with_cds_size(self):
          client_token = generate_client_token()
          #设置CDS磁盘容量(GB)必须为大于0的整数,范围0~5120GB
          cds_size_in_gb = 5
          #设置付费方式
          billing = pre_paid_billing
          #批量创建的CDS磁盘的个数,必须为大于0的整数,单次创建不能超过5个。可选参数,缺省为1
          purchase_cpunt = 1
          #设置cds磁盘存储类别
          #std1:普通型
          #hp1:高性能型
          #cloud_hp1:SSD型
          #local:本地盘
          #sata:sata磁盘,创建DCC字实例专用
          #ssd:ssd磁盘,创建DCC子实例专用
          storage_type = 'hp1'
          #指定区域信息,默认为空由系统自动选择
          zone_name = 'cn-bj-a'
          self.assertEqual(
               type(self.client.create_volume_with_cds_size(cds_size_in_gb,
                                                             billing=billing,
                                                             purchase_count=purchase_count,
                                                             storage_type=storage_type,
                                                             zone_name=zone_name,
                                                             client_token=client_token),
    
                baidubce.bce_response.BceResponse)

    从快照创建CDS磁盘

    使用以下代码可以从快照创建磁盘:

    def create_volume_with_snapshot_id(self):
          client_token = generate_client_token()
          #设置CDS磁盘容量(GB)必须为大于0的整数,范围0~5120GB
          snapshot_id = 'your-choose-snap-shot-id'
          #设置付费方式
          billing = pre_paid_billing
          #批量创建的CDS磁盘的个数,必须为大于0的整数,单次创建不能超过5个。可选参数,缺省为1
          purchase_cpunt = 1
          #设置cds磁盘存储类别
          #std1:普通型
          #hp1:高性能型
          #cloud_hp1:SSD型
          #local:本地盘
          #sata:sata磁盘,创建DCC字实例专用
          #ssd:ssd磁盘,创建DCC子实例专用
          storage_type = 'hp1'
          #指定区域信息,默认为空由系统自动选择
          zone_name = 'cn-bj-a'
          self.assertEqual(
                type(self.client.create_volume_with_snapshot_id(snapshot_id,
                                                                billing=billing,
                                                                purchase_count=purchase_count,
                                                                storage_type=storage_type,
                                                                zone_name=zone_name,
                                                                client_token=client_token),
    
                baidubce.bce_response.BceResponse)

    查询磁盘列表

    使用以下代码查询所有的磁盘列表:

    def list_volumes(self):
          #查询某一实例挂载的磁盘列表
          self.client.list_volumes(instance_id = 'your-choose-instance-id')
          #查询某一区域下的磁盘列表
          self.client.list_volumes(zone_name = 'your-choose-zone-name')
          #批量获取列表的查询起始位置,是一个由系统产生的字符串
          self.client.list_volumes(marker = 'your-marker')
          #设置每页包含的最大数量,默认为1000
          self.client.list_volumes(max_keys = 100)
          print self.client.list_instances()

    查询磁盘详情

    使用以下代码可以根据磁盘ID查询单个磁盘的详细信息:

    def get_volume(self):
          volume_id = 'your-choose-volume-id'
          self.assertEqual(
                type(self.client.get_volume(volume_id)), 
                baidubce.bce_response.BceResponse)

    挂载CDS磁盘

    使用以下代码将磁盘挂载在指定的虚机实例下,注意cds磁盘需要挂载在与其处在相同zone下的虚机实例上

    只有磁盘状态为 Available 且实例状态为 Running 或 Stopped 时才允许挂载:

    def attach_volume(self):
          #设置要挂载的磁盘ID
          volume_id = 'your-choose-volume-id'
          #设置要挂载的实例ID
          instance_id = 'your-choose-instance-id'  
          self.assertEqual(
                type(self.client.attach_volume(volume_id, 
                                               instance_id)), 
                baidubce.bce_response.BceResponse)

    卸载CDS磁盘

    将指定的磁盘从实例中卸载

    只有实例状态为 Running 或 Stopped 时,磁盘才可以执行此操作:

    def detach_volume(self):
          #设置要卸载的磁盘ID
          volume_id = 'your-choose-volume-id'
          #设置所挂载的实例ID
          instance_id = 'your-choose-instance-id'  
          self.assertEqual(
                type(self.client.detach_volume(volume_id, 
                                               instance_id)), 
                baidubce.bce_response.BceResponse)

    释放CDS磁盘

    用于释放未挂载的CDS磁盘,系统盘不能释放

    磁盘释放后不可恢复。默认情况下,该磁盘的所有快照将保留,但会删除与磁盘的关联关系

    只有磁盘状态为 Available 或 Expired 或 Error 时才可以执行此操作:

    def release_volume(self):
          #设置要释放的磁盘ID
          volume_id = 'your-choose-volume-id'
          self.assertEqual(
                type(self.client.release_volume(volume_id)), 
                baidubce.bce_response.BceResponse)

    磁盘扩容

    磁盘只能进行扩容操作,不支持缩容

    只有Available状态的磁盘,才能进行扩容操作

    只有磁盘状态为 Available 或 Expired 或 Error 时才可以执行此操作:

    def resize_volume(self):
          #设置被扩容磁盘ID
          volume_id = 'your-choose-volume-id'
          #设置新的CDS磁盘容量,必须为大于0的整数,单位为GB,范围0~5120GB
          resize_cds_size_in_gb = 10
          client_token = generate_client_token()   
          self.assertEqual(
                type(self.client.resize_volume(volume_id,
                                               resize_cds_size_in_gb,
                                               client_token)), 
                baidubce.bce_response.BceResponse)

    回滚磁盘

    用指定磁盘自身的快照回滚磁盘内容

    磁盘状态必须为 Available 才可以执行此操作

    指定 snapshotId 必须是由 volumeId 创建的快照

    若是回滚系统盘,实例状态必须为 Running 或 Stopped 才可以执行此操作

    回滚系统盘快照,自本次快照以来的系统盘数据将全部丢失,不可恢复:

    def rollback_volume(self): 
          #待回滚的磁盘ID
          #待系统盘则为实例ID
          volume_id = 'your-choose-volume-id'
          #用于回滚指定磁盘的快照ID,必须为 volumeId 所创建的快照
          snapshot_id = 'your-choose-snapshot-id'
          self.assertEqual(
                type(self.client.rollback_volume(volume_id,
                                                 snapshot_id)), 
                baidubce.bce_response.BceResponse)

    磁盘续费

    用以下代码可以实现磁盘续费

    磁盘扩缩容期间不能进行续费操作:

    def purchase_reserved_volume(self):
          #待续费磁盘ID
          volume_id = 'your-choose-volume-id'
          #设置付费方式
          billing = pre_paid_billing
          client_token = generate_client_token()   
          self.assertEqual(
                type(self.client.purchase_reserved_volume(volume_id,
                                                          billing,
                                                          client_token)), 
                baidubce.bce_response.BceResponse)
    上一篇
    快照
    下一篇
    镜像