微软云虚拟机系统磁盘选择 azure virtual machines disks types

本文参考azure-virtual-machines-disks-types
欢迎大佬指点

一、磁盘使用

		AzureResourceManager azureResourceManager = getAzureResourceManager();

		azureResourceManager.virtualMachines()
				.define("vmName")
				.withRegion(Region.ASIA_EAST)
				.withNewResourceGroup("groupName")
				.withExistingPrimaryNetwork(azureResourceManager.networks().getById("netId"))
				.withSubnet("subName")
				.withPrimaryPrivateIPAddressStatic("166.66.6.66")
				.withoutPrimaryPublicIPAddress()
				.withLatestLinuxImage("publisher","offer", "sku")
				.withRootUsername("root223")
				.withRootPassword("asdDsa11102.")
//				30GB标准固态硬盘
				.withOSDiskStorageAccountType(StorageAccountTypes.STANDARD_SSD_LRS)
				.withOSDiskSizeInGB(30)
//				1核1G前750小时免费
				.withSize(VirtualMachineSizeTypes.STANDARD_B1S)
				.create();

二、磁盘类型对照

  1. 磁盘类型(简介->磁盘类型)

     标准机械硬盘 			-> 	Standard_LRS
     标准固态硬盘 			-> 	StandardSSD_LRS
     高级 SSD 				-> 	Premium_LRS
     高级 SSD V2 			-> 	PremiumV2_LRS
     超级磁盘 				-> 	UltraSSD_LRS
     StandardSSD分区冗余存储 	-> 	Premium_ZRS
     Premium SSD分区冗余存储 	-> 	StandardSSD_ZRS
    
  2. 磁盘大小

    选择完磁盘类型后还需确定磁盘大小默认30GB(名称->属性名)

    属性名为段落三查询出的属性

     磁盘类型名称    				name
     性能等级名称					size
     磁盘大小 (GiB)         		capabilities.MaxSizeGiB
     IOPS						capabilities.MaxIOps
     扩展IOPS            		capabilities.MaxIOpsPerformancePlus
     磁盘吞吐量             		capabilities.MaxBandwidthMBps
     扩展吞吐量            		capabilities.MaxBandwidthMBpsPerformancePlus
     最大突发IOPS        		capabilities.MaxBurstIops
     最大突发吞吐量        		capabilities.MaxBurstBandwidthMBps
     最大突发持续时间    			capabilities.MaxBurstDurationInMin
    

    在这里插入图片描述

三、磁盘类型数据拉取

与拉取nic一样都是从sku查,其中需要过滤ComputeResourceType.DISKS、Region.ASIA_EAST

       AzureResourceManager azureResourceManager = getAzureResourceManager();
       PagedIterable<ResourceSkuInner> list = azureResourceManager
                .virtualMachines()
                .manager()
                .serviceClient()
                .getResourceSkus()
                .list();

        // 使用 Set 来存储已经出现过的 sku.name(),保证不重复
        Set<String> uniqueNames = new HashSet<>();
        for (ResourceSkuInner sku : list) {
            if (ComputeResourceType.DISKS.toString().equals(sku.resourceType())) {
                String name = sku.name();
                List<String> locations = sku.locations();
                if (!uniqueNames.contains(sku.name()) && (locations.contains(Region.ASIA_EAST.label()) || locations.contains(Region.ASIA_EAST.name()))) {
                    // 如果当前 sku.name() 没有出现过,则添加到 uniqueNames 集合中,并保留这个 sku 作为第一个唯一的 sku
                    uniqueNames.add(sku.name());
                    // 将 capabilities 转换为一个 Map,并直接添加到 dataMap 中
                    Map<String, String> capabilityMap = sku.capabilities().stream()
                            .collect(Collectors.toMap(ResourceSkuCapabilities::name, ResourceSkuCapabilities::value));
                    // 添加 name 和 capabilityMap 到 dataMap
                    capabilityMap.put("name", name);
                    capabilityMap.put("size",sku.size());
//                    统一格式 秒->分
                    String maxBurstDurationInMin = capabilityMap.get("MaxBurstDurationInMin");
                    if(null != maxBurstDurationInMin){
                        capabilityMap.put("MaxBurstDurationInMin", String.valueOf(Integer.parseInt(maxBurstDurationInMin) / 60));
                    }
                    dataMaps.add(capabilityMap);
                }
            }
        }
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值