这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,Azure又该如何处理,对于设置在虚拟机中的禁用网卡选项是否还有存在的意义?通常情况下,点选了禁用网卡对于你和虚拟机来说就一下之抓瞎了,瞬间失去光明的感觉,你的远程连接就这样被自杀了。为了验证这样的自杀行为,也考验Azure的强大自我管理特性,笔者开始了验证。【后面还有彩蛋,欢迎阅读到结尾】

进行基础信息的收集

对于和网卡有关的属性我认为常见的有MAC物理地址IP地址DHCP服务器DNS后缀网卡适配器名称。其中MAC地址作为一种原始数据存在于网卡本身,而这个特性被很多防篡改软件和产品作为“唯一识别码”来说是相当的重要。

Figure 1自杀前拍照留念,我特地标记了物理地址以突出他的重要性

开始禁用虚拟机中唯一的一块网卡

禁用开始,远程连接终端,并出现开始尝试最多20次的链接数量,此时在Azure.com的管理界面里看到系统还是活着的,可以判断Azure使用的是另一种非网络行为(方式)进行虚拟机状态监控。

随后,我手动方式在Azure的管理界面中关闭(shutdown了虚拟机(之前需要做一次重启动作),很快的管理界面提示虚拟机已关闭。

再次对虚拟机进行开机,同样在Azure的管理界面,选择界面下方的启动(Start

Figure 2启动刚刚手动关闭的虚拟机,不过系统会提示关机还在进行中,请稍后尝试。继续点击Start启动按钮,进行第二次启动,此时已经过去了1分钟。此状态表明Azure在后台正在进行着什么。

随着第二次启动的尝试,Aure已经能够识别可开机指令,并返回启动已完成。

Figure 3当看到圆角矩形内的CPU核数识别以及右下角启动OK的标记后,我尝试远程连接,此时已经过去了1.5分钟了

随后就是使用之前下载回来的rdp文件进行远程连接,很快的各种安全提示与警告之后,我顺利登陆到了刚刚禁用网卡的虚拟机,此时已经过去了2分钟。

再等待一些内容和信息的加载之后,系统已经可以使用了,此时已经过去了2.5分钟。

加上之前系统关机到第一次启动这些时间,系统重我点下禁用网卡之后到现在总共经过了7.5分钟,其中那神秘的5分钟就是见证此刻奇迹的基础。

揭秘奇迹的时刻

禁用后的网卡居然自己“活”了,在刚刚我们已经见证了奇迹,而此刻我们需要揭秘一下奇迹的背后。

此图Figure 4展示的是网卡禁用后重新启动并远程进入的虚拟机设备管理器网卡适配器的截图。请勿在意网卡名称后的数字,如果没有他们我是不会这么大胆撰写此文的,您只需要知道#2网卡是系统默认的那个,#3网卡是系统禁用后虚拟机重启自动分配的新网卡

Figure 4自杀后的设备管理器--网络适配器属性,因为是相同型号的网卡,虚拟机会对网卡进行由小到大数字、时间顺序的分配

让我们在验证一下那些关键网卡参数的变化

因为是第二次试验所以参照对象是#3网卡,也就是Figure 1里面所展示的那块网卡的属性。

Figure 5在此看到MAC是没有变化的——这太安心了,绿色高亮的是进行了变化且较为关键的网卡参数信息

小结:

通过上面的假设与验证,事实上已经可以忽略曾经在现实机器中的种种尴尬,而Azure是一个称职尽责的管理员,那神秘的5分钟就解决了此次非常重大的失手操作,用户完全不用担心触动了那些底层带来的负面影响,强大的Azure可以帮助我们即可发现,并顺利解决。

处理流程是Azure.com管理页面下先重启该虚拟机--〉代重启结束后--〉关机--〉再进行开机(可能需要两次),7.5分钟后即可远程登陆。

彩蛋:

想必聪明的你已经发现了什么,为什么默认情况下的网卡标识数字是#2呢?原本的#1呢?

Figure 6此图红框标记的就是网卡#1,这个应该是Azure的虚拟机管理员所使用的一块网卡,其中还能看到一些来自于微软的内部信息。4、3、2分别代表设备管理器中看到的网卡序号,这些内容都完整的存在于注册表中了

-=EOB=-

当Azure里的虚拟机网卡被禁用了之后……的更多相关文章

  1. 当Azure里的虚拟机网卡被禁用

    当Azure里的虚拟机网卡被禁用了之后…… 这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,Azure又该如何处理,对于设置在虚拟机中的禁用网卡选项是否还有存在的意义?通常情况下,点选了 ...

  2. 利用win服务定时为网卡启用/禁用

    上周,Boss和我说,他儿子夜里爬起来用笔记本在被窝里玩CF,问路由器可以解决么,我看了是TPLINK的普通家用无线路由器,不支持禁用CF客户端网游,可以通过配置端口屏蔽什么的,但是白天又要开启,想想 ...

  3. Windows Azure Virtual Machine (24) Azure VM支持多网卡功能

    <Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...

  4. 理解 Azure 平台中虚拟机的计算能力

    虚拟化平台至今已经发展了十多年的时间.其中 Hyper-V 技术现在也已经是第三代版本.用户对于虚拟化计算也越来越接受,这也有了公有云发展的基础.然而在很多时候,用户在使用基于 Hyper-V 的 A ...

  5. Hadoop集群(第2期)虚拟机网卡的介绍和配置

    很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识 虚拟机网络模式 无论是vm ...

  6. 阿里云至 Windows Azure 的 Linux 虚拟机迁移

    在Windows Azure中,用户可以对部署在Azure中的虚拟机的映像.磁盘以及快照进行生成和下载.用户可以方便地将Azure中的虚拟机实例迁移到本地.私有云甚至其他公有云平台进行测试.扩展或者再 ...

  7. Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法

    Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法   虚拟化大势所趋 公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyp ...

  8. vmware克隆Centos6.7虚拟机网卡无法启动问题

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  9. Microsoft Azure News(7) Azure B系列虚拟机

    <Windows Azure Platform 系列文章目录> 最近微软Azure新数据中心上线了B系列的虚拟机,我这边研究了一下,给大家分享. Azure B系列虚拟机,其实是Burst ...

随机推荐

  1. HTML5 使用application cache 接口实现离线数据缓存

    1.配置缓存文件 cache manifest MIME TYPE:text/cache-manifest文件名称:name.appcache作用:用于配置需要缓存的文件 2.使用方法 在服务器上添加 ...

  2. SQL Server 求结果

    ;with cte as ( select  CONVERT(DATE, DATEADD(DAY, -9, GETDATE())) as paytime union all select datead ...

  3. Default Parameter Values in Python

    Python’s handling of default parameter values is one of a few things that tends to trip up most new ...

  4. SQLite 预写式日志

    SQLite在3.7.0版本引入了WAL (Write-Ahead-Logging),WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,引入WAL机制之 ...

  5. 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)

    上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承. 一.原型链继承 1.通过设置prototype指向“父类”的实例来实现继承. function Obj1() { this.name1 ...

  6. 开发OpenWrt路由器上LuCI的模块

    [题外话] 学校里最近改造了校园网,要求必须用iNode验证,万幸的是路由器能刷OpenWrt,并且OpenWrt上有好多iNode认证的开源项目,比如njit8021xclient(以下简称njit ...

  7. [ASP.NET MVC 小牛之路]06 - 使用 Entity Framework

    在家闲着也是闲着,继续写我的[ASP.NET MVC 小牛之路]系列吧.在该系列的上一篇博文中,在显示书本信息列表的时候,我们是在程序代码中手工造的数据.本文将演示如何在ASP.NET MVC中使用E ...

  8. 老司机学新平台 - Xamarin开发环境及开发框架初探

    随着被微软收购,最近一年间,Xamarin的火爆程度与日俱增.免费.更好的VS2015集成.更好的模拟器,甚至,在windows上运行和调试iOS平台程序,让我这样接触了十几年.NET平台的老司机,即 ...

  9. [大数据之Sqoop] —— 什么是Sqoop?

    介绍 sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具.你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs中:也可以把数据从hdfs中导出到关系型数据 ...

  10. KnockoutJS 3.X API 第六章 组件(4) 自定义元素

    自定义元素提供了一种将组件注入视图的方便方法. 本节目录 介绍 例子 传递参数 父组件和子组件之间的通信 传递监控属性的表达式 将标记传递到组件中 控制自定义元素标记名称 注册自定义元素 备注1:将自 ...