@@ -84,6 +84,15 @@ func (self *SAwsGuestDriver) GetWindowsUserDataType() string {
8484 return cloudprovider .CLOUD_EC2
8585}
8686
87+ // AWS EBS 单卷容量:参见 https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html
88+ const (
89+ awsEbsGp2MaxSizeGiB = 16384 // gp2 最大 16 TiB
90+ awsEbsGp3MaxSizeGiB = 65536 // gp3 最大 64 TiB
91+ awsEbsIoMaxSizeGiB = 16384 // io1/io2 常规卷最大 16 TiB(io2 Block Express 另受实例等约束)
92+ awsEbsHddMaxSizeGiB = 16384 // st1/sc1 最大 16 TiB
93+ awsEbsSt1Sc1MinSizeGiB = 125 // st1/sc1 最小 125 GiB
94+ )
95+
8796func (self * SAwsGuestDriver ) GetInstanceCapability () cloudprovider.SInstanceCapability {
8897 return cloudprovider.SInstanceCapability {
8998 Hypervisor : self .GetHypervisor (),
@@ -100,18 +109,21 @@ func (self *SAwsGuestDriver) GetInstanceCapability() cloudprovider.SInstanceCapa
100109 },
101110 Storages : cloudprovider.Storage {
102111 DataDisk : []cloudprovider.StorageInfo {
103- cloudprovider.StorageInfo {StorageType : api .STORAGE_GP2_SSD , MaxSizeGb : 16384 , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : true },
104- cloudprovider.StorageInfo {StorageType : api .STORAGE_GP3_SSD , MaxSizeGb : 16384 , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : true },
105- cloudprovider.StorageInfo {StorageType : api .STORAGE_IO1_SSD , MaxSizeGb : 16384 , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : true },
106- cloudprovider.StorageInfo {StorageType : api .STORAGE_ST1_HDD , MaxSizeGb : 16384 , MinSizeGb : 500 , StepSizeGb : 1 , Resizable : true },
107- cloudprovider.StorageInfo {StorageType : api .STORAGE_SC1_HDD , MaxSizeGb : 16384 , MinSizeGb : 500 , StepSizeGb : 1 , Resizable : true },
112+ cloudprovider.StorageInfo {StorageType : api .STORAGE_GP2_SSD , MaxSizeGb : awsEbsGp2MaxSizeGiB , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : true },
113+ cloudprovider.StorageInfo {StorageType : api .STORAGE_GP3_SSD , MaxSizeGb : awsEbsGp3MaxSizeGiB , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : true },
114+ cloudprovider.StorageInfo {StorageType : api .STORAGE_IO1_SSD , MaxSizeGb : awsEbsIoMaxSizeGiB , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : true },
115+ cloudprovider.StorageInfo {StorageType : api .STORAGE_IO2_SSD , MaxSizeGb : awsEbsIoMaxSizeGiB , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : true },
116+ cloudprovider.StorageInfo {StorageType : api .STORAGE_ST1_HDD , MaxSizeGb : awsEbsHddMaxSizeGiB , MinSizeGb : awsEbsSt1Sc1MinSizeGiB , StepSizeGb : 1 , Resizable : true },
117+ cloudprovider.StorageInfo {StorageType : api .STORAGE_SC1_HDD , MaxSizeGb : awsEbsHddMaxSizeGiB , MinSizeGb : awsEbsSt1Sc1MinSizeGiB , StepSizeGb : 1 , Resizable : true },
108118 cloudprovider.StorageInfo {StorageType : api .STORAGE_STANDARD_HDD , MaxSizeGb : 1024 , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : true },
109119 },
110120 SysDisk : []cloudprovider.StorageInfo {
111- cloudprovider.StorageInfo {StorageType : api .STORAGE_GP2_SSD , MaxSizeGb : 16384 , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : false },
112- cloudprovider.StorageInfo {StorageType : api .STORAGE_IO1_SSD , MaxSizeGb : 16384 , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : false },
113- cloudprovider.StorageInfo {StorageType : api .STORAGE_ST1_HDD , MaxSizeGb : 16384 , MinSizeGb : 500 , StepSizeGb : 1 , Resizable : false },
114- cloudprovider.StorageInfo {StorageType : api .STORAGE_SC1_HDD , MaxSizeGb : 16384 , MinSizeGb : 500 , StepSizeGb : 1 , Resizable : false },
121+ cloudprovider.StorageInfo {StorageType : api .STORAGE_GP2_SSD , MaxSizeGb : awsEbsGp2MaxSizeGiB , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : false },
122+ cloudprovider.StorageInfo {StorageType : api .STORAGE_GP3_SSD , MaxSizeGb : awsEbsGp3MaxSizeGiB , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : false },
123+ cloudprovider.StorageInfo {StorageType : api .STORAGE_IO1_SSD , MaxSizeGb : awsEbsIoMaxSizeGiB , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : false },
124+ cloudprovider.StorageInfo {StorageType : api .STORAGE_IO2_SSD , MaxSizeGb : awsEbsIoMaxSizeGiB , MinSizeGb : 4 , StepSizeGb : 1 , Resizable : false },
125+ cloudprovider.StorageInfo {StorageType : api .STORAGE_ST1_HDD , MaxSizeGb : awsEbsHddMaxSizeGiB , MinSizeGb : awsEbsSt1Sc1MinSizeGiB , StepSizeGb : 1 , Resizable : false },
126+ cloudprovider.StorageInfo {StorageType : api .STORAGE_SC1_HDD , MaxSizeGb : awsEbsHddMaxSizeGiB , MinSizeGb : awsEbsSt1Sc1MinSizeGiB , StepSizeGb : 1 , Resizable : false },
115127 cloudprovider.StorageInfo {StorageType : api .STORAGE_STANDARD_HDD , MaxSizeGb : 1024 , MinSizeGb : 1 , StepSizeGb : 1 , Resizable : false },
116128 },
117129 },
0 commit comments