当Azure里的虚拟机网卡被禁用了之后……
这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,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里的虚拟机网卡被禁用了之后……的更多相关文章
- 当Azure里的虚拟机网卡被禁用
当Azure里的虚拟机网卡被禁用了之后…… 这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,Azure又该如何处理,对于设置在虚拟机中的禁用网卡选项是否还有存在的意义?通常情况下,点选了 ...
- 利用win服务定时为网卡启用/禁用
上周,Boss和我说,他儿子夜里爬起来用笔记本在被窝里玩CF,问路由器可以解决么,我看了是TPLINK的普通家用无线路由器,不支持禁用CF客户端网游,可以通过配置端口屏蔽什么的,但是白天又要开启,想想 ...
- Windows Azure Virtual Machine (24) Azure VM支持多网卡功能
<Windows Azure Platform 系列文章目录> Update 2016-03-30 一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了. 如果 ...
- 理解 Azure 平台中虚拟机的计算能力
虚拟化平台至今已经发展了十多年的时间.其中 Hyper-V 技术现在也已经是第三代版本.用户对于虚拟化计算也越来越接受,这也有了公有云发展的基础.然而在很多时候,用户在使用基于 Hyper-V 的 A ...
- Hadoop集群(第2期)虚拟机网卡的介绍和配置
很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmware有三种网络模式,对初学者来说也比较眼花聊乱,今天我就来基于虚拟机3种网络模式,帮大家普及下虚拟机上网的背景知识 虚拟机网络模式 无论是vm ...
- 阿里云至 Windows Azure 的 Linux 虚拟机迁移
在Windows Azure中,用户可以对部署在Azure中的虚拟机的映像.磁盘以及快照进行生成和下载.用户可以方便地将Azure中的虚拟机实例迁移到本地.私有云甚至其他公有云平台进行测试.扩展或者再 ...
- Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法
Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法 虚拟化大势所趋 公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyp ...
- vmware克隆Centos6.7虚拟机网卡无法启动问题
快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...
- Microsoft Azure News(7) Azure B系列虚拟机
<Windows Azure Platform 系列文章目录> 最近微软Azure新数据中心上线了B系列的虚拟机,我这边研究了一下,给大家分享. Azure B系列虚拟机,其实是Burst ...
随机推荐
- QT 文件对话框(QFileDialog)
1.选择文件(上传.打开...) QString QFileDialog::getOpenFileName( QWidget *parent = , //parent,用于指定父组件.注意,很多Qt组 ...
- Python模块之day4
模块,代码归类实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能 ...
- css技巧
1.实现position为fixed与absolute值时居中定位: 给需要定位的元素块外加一层div盒子,外层div盒子存在于文档流中,让外层div盒子居中定位并设置position属性为relat ...
- SQL执行效率1
第一种方法:使用insert into 插入,代码如下: ? 1 2 3 4 5 6 7 $params = array('value'=>'50′); set_time_limit(0); e ...
- Devexpress Ribbon
http://www.cnblogs.com/liwei81730/archive/2011/12/21/2296203.html 可查看此处.
- ASP.NET Core Docker部署
前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序. ...
- ABP理论学习之实体类
返回总目录 本篇目录 实体类 惯例接口 审计 软删除 激活/未激活 IEntity接口 实体是DDD(领域驱动设计)的核心概念之一.Eirc Evans是这样描述的实体的:"它根本上不是通过 ...
- Nodejs之MEAN栈开发(一)---- 路由与控制器
因为工作需要,最近再次学习了node,上一次学习node是2014年,纯粹是个人兴趣,学了入门之后没有运用,加上赶别的项目又不了了之.这次正好捡起来.废话不多说,这里的MEAN指的是Mongodb.E ...
- [Voice communications] 声音的滤波
本系列文章主要是介绍 Web Audio API 的相关知识,以及 web语音通信 中会遇到的一些问题,阐述可能存在错误,还请多多斧正! 通过设备获取音频流会不可避免的渗入一些杂音,这些杂音可能来自你 ...
- 【Java并发编程实战】-----synchronized
在我们的实际应用当中可能经常会遇到这样一个场景:多个线程读或者.写相同的数据,访问相同的文件等等.对于这种情况如果我们不加以控制,是非常容易导致错误的.在java中,为了解决这个问题,引入临界区概念. ...