Azure 目前有两种部署模型:经典部署模型 (ASM) 和资源管理器 (ARM)。如果您之前使用过 ASM 模式下的可用性集,那么很可能在使用 ARM 模式下的可用性集时,会遇到一些问题或者疑惑。这里就 ARM 中可用性集使用的一些常见问题做个简单回答。

    1. ARM 中,虚拟机的整个生命周期都不能更改其可用性集设置。

      在经典模式中,只需要经过停止分配再启动虚拟机,就可以将虚拟机加入,移除或者更换可用性集。 而在 ARM 模式中,在查看虚拟机可用性集是,您会注意到如下提示:

      什么意思呢?就是说:

      1. 如果在创建虚拟机的时候,如果没有指定可用性集,那么虚拟机完成部署后,是不能将该虚拟机加入到可用性集中的。

      2. 如果虚拟机已经在可用性集中,您需要给它换个可用性集,或者将其移除可用性集,这也是不能的。

        如果您的确需要更改该虚拟机的可用性集设置,唯一的方法,就是通过删除虚拟机保留磁盘,并重建虚拟机的方式,指定可用性集。

    2. 可用性集的设置也是只能在创建的时候指定。

      创建可用性集时,您可以自定义容错域和更新域的数量。但在创建完成后,这些设置就不能再更改了。
      容错域:范围 1-3,默认值是 3。在物理上,一个域中的所有虚拟机和物理机,会共享同样的电源和网络资源。
      更新域:范围 1-20, 默认值是 5。这是一个逻辑的概念,后台在执行计划内维护时,所有更新域中一次只会有一个域在进行维护。

    3. 可用性集中虚拟机操作常见错误 1 :

      由于后台部署失败,造成虚拟机创建失败。这些失败的虚拟机因放在可用性集中,删除也遇到问题。删除单个虚拟机,报错虚拟机分配失败;通过删除整个可用性集,报错须首先删除虚拟机。

      解决方法 :

      将可用性集下的所有虚拟机,都执行一遍删除操作,无论成功与否。然后再删除该可用性集。
      原因:通过对每台虚拟机都执行删除操作,即使未能成功删除,也会将虚拟机的状态标记为 “ToBeDelete”。此时再删除可用性集,可用性集在验证虚拟机状态时,发现所有虚拟机都是可以被删除的,则会将虚拟机连同可用性集一起删除。

    4. 可用性集中虚拟机操作常见错误 2 :

      在对可用性集中的虚拟机进行一些管理平面的操作时,你可能会遇到如下错误。
      如更改诊断设置存储账号/删除虚拟机:

      或者向该可用性集中创建新虚拟机 :

      而实际上,您操作的虚拟机可能并没有使用这些存储账号。

      这是由于在对可用性集中的虚拟机进行管理操作时,可用性集会验证其所有虚拟机的 OS Profile,保证信息的一致性。如果任何一台虚拟机引用的诊断存储账号不存在了,该验证过程失败,则操作无法继续进行,该虚拟机状态会被同步标记为失败。

      解决方法 :

      1. 找到被删除的存储账号是被哪个虚拟机在使用。

        通过 Get-AzureRmVM -ResourceGroupName <resource_name> -Name <vm_name> 查看 BootDiagnostics 和 Diagnostic Extensions 的存储账号设置。
        禁用该虚拟机的诊断存储账号即可。

      2. 如果该可用性集中同时有多个诊断存储账号被误删,则方法 1 因一个虚拟机设置等待另一个虚拟机设置先修正而造成死锁。在这种情况下,需要找到所有被误删的诊断存储账号,重建之。

        Note

        前端显示存储账号重建成功后,后台各资源提供程序间的同步需要一段时间,可能发生因同步延迟造成的存储账号还是找不到的问题。请在重建好所有存储账号,大约一至一个半小时后,再次尝试管理操作。

        同时,建议客户在使用可用性集时,提前进行规划,比如使用有意义的虚拟机和存储账号命名,将诊断设置放在同一个单独的存储账号中等,避免存储账号被误删的情况发生。                                                                                                                                                                                                                                                   立即访问http://market.azure.cn

ARM 中可用性集使用的注意事项的更多相关文章

  1. 【虚拟机-可用性集】ARM 中可用性集使用的注意事项

    Azure 目前有两种部署模型:经典部署模型 (ASM) 和资源管理器 (ARM).如果您之前使用过 ASM 模式下的可用性集,那么很可能在使用 ARM 模式下的可用性集时,会遇到一些问题或者疑惑.这 ...

  2. Azure 负载均衡和可用性集

    首先要2台以上的虚拟机,一开始我找了好久都没找到如何在一个云服务里添加多个虚拟机. 因为我使用的是快速创建,快速创建的界面是要新建一个云服务的,如果你输入现有的云服务名字,它会提示你重名了. 你要用[ ...

  3. 更改 Windows VM 的可用性集

    以下步骤说明如何使用 Azure PowerShell 来更改 VM 的可用性集. 只能在创建 VM 时将 VM 添加到可用性集. 如果要更改可用性集,必须将虚拟机删除,并重新创建虚拟机. 使用 Po ...

  4. ARM 中必须明白的几个概念

    文章具体介绍了关于ARM的22个常用概念. 1.ARM中一些常见英文缩写解释 MSB:最高有效位: LSB:最低有效位: AHB:先进的高性能总线: VPB:连接片内外设功能的VLSI外设总线: EM ...

  5. 重新创建redis集群的注意事项

    一.重新创建redis集群的注意事项 1.将每个节点下aof.rdb.nodes.conf本地备份文件删除: 2.127.0.0.1:7001> flushdb #清空当前数据库(这一步可以省略 ...

  6. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  7. 如何在ARM中创建Express Route

    很早之前就想试试Azure的express route,但是一直没有找到合适的机会,正好有个客户需要上express route,所以最近先自己研究研究,防止在做poc的时候耗费更多时间,本次场景我们 ...

  8. 如何将已部署在ASM的资源迁移到ARM中

    使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到AR ...

  9. Swift基础--Swift中的分类以及在分类中扩展init方法的注意事项

    Swift中的分类 1.创建一个空的swift文件 2.关键字extension,格式: extension 要扩展的类名 {} extension UIButton { } Swift中扩展init ...

随机推荐

  1. php 其他格式数据与数组互转

    class otherArr { private $char="UTF-8"; private $cvs_fege=","; // cvs 分割符 /**数组 ...

  2. [BZOJ 4923][Lydsy1706月赛]K小值查询

    传送门 势能分析平衡树,splay或treap都可以 放个指针版的就跑 #include <bits/stdc++.h> using namespace std; #define rep( ...

  3. Kibana6.x.x源码结构分析笔记

  4. 上海高校程序设计竞赛 D CSL 的字符串 ( 贪心)

    题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. 给定一个字符串,只含有可打印字符,通过删除若干字符得到新字符串,新字符串必须满足两个条件: 原字符串中出现的字 ...

  5. ansys14.0 从入门到精通

    凌桂龙 李战分 2013.2 清华大学 FLUENT流体计算应用教程 索书号:TB126-39 ZW2.1     单元 结点 和 自由度 载荷 与 边界条件 : 关系 就是约束 , 边界条件是 结构 ...

  6. 使用JDBC连接了数据库的图书管理系统2.0

    更新日志: 2019.3.28 数据库版本2.0 1.使用mySQL数据库 2.修改代码使用JDBC连接数据库 3.新增Manage操作类及DBUtils数据库工具类 4.完善代码(封装及方法调用) ...

  7. 搭建Redis报错

    2018-10-26 报错信息 You need tcl 8.5 or newer in order to run the Redis test 原因 缺少 tcl 插件 解决方式 wget http ...

  8. hcheck 脚本

    hcheck.sql - Script to Check for Known Problems in Oracle8i, Oracle9i, Oracle10g, Oracle 11g and Ora ...

  9. win10 sshsecureshellclient删除profile保存的信息

    C:\Users\joe\AppData\Roaming\SSH

  10. GitHub(hexo)博客页面访问量错误以及中文乱码解决

    如果访问量不显示(乱码形状),是因为不蒜子域名更新,所以你的域名也需要更新 <script async src="//busuanzi.ibruce.info/busuanzi/2.3 ...