所有文档

          云服务器 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)
          上一篇
          快照
          下一篇
          镜像