利用Azure嵌套虚拟化,解决公有云上机器不能启动的问题
很多时候我们都会碰到因为意外重启,机器硬盘被损坏导致无法启动,或者是因为各种原因Windows上的RDP服务启动不了,Linux上的SSH无法链接等等问题。碰到这种问题基本上很难解决以前都是将VHD下载回来本地,在本地用Hyper-V启动虚拟机再来看问题的。但是一个操作系统盘最少都要32G,下载回来的话费时费力。Azure新一代的机器(DV3,EV3)现在支持嵌套虚拟化了,我们有了更好的办法解决问题。
准备一台Windows Server 2016,并且安装Hyper-V
将出问题的VM挂载到云上VM内的Hyper V里
为了尽量不影响原来的环境,我们可以基于源VM的操作系统盘,利用Azure CLI创建一个新的磁盘
az disk create -g dev -n centos_diag --source "<你的磁盘resourceid>" --location southeastasia
创建完之后可以看到下面的界面

如果你的环境是Linux因为属性标记了osType=Linux所以没法直接挂接到Azure 的Windows VM上,先要改一下osType这个属性
用命令:
az disk update --set osType="Windows" -g dev -n centos_diag

然后回到安装了Hyper V的Windows 2016 VM上找到磁盘,将刚才新建出来的磁盘挂接上去


在2016 Server上启动虚拟机
这时候我们可以通过RDP登录到Hyper V的宿主机内了,因为我们刚挂接了一块新的磁盘,所以我们可以在服务管理界面的磁盘管理里看到一块新的磁盘。但是这块磁盘不是直接给这个服务器用的,为了让Hyper V Manager能够找到这块“物理盘”,我们需要将磁盘脱机

在Hyper-v上创建虚拟机,跟着向导一直做就好,注意在选择虚拟硬盘是可以不用创建虚拟硬盘,因为我们等一下会挂接:

创建好VM后,我们再次进入到VM的配置界面,添加这块“物理硬盘”

由于我们挂接的是“物理盘”,所以没有创建检查点的,这时候直接启动虚拟机的话,会报错的,所以我们还需要进行一个配置

启动VM,简单直接,这时候你想怎么调整这个服务器就怎么调整这个服务器,调整完之后,删掉虚拟机.回到Azure Portal,移除绑定。我们就可以基于这个磁盘再把VM启动起来了。
当然如果你的服务器是linux的话,你还需要再次调用 az disk update命令将属性修改回去。

利用Azure嵌套虚拟化,解决公有云上机器不能启动的问题的更多相关文章
- 公有云上构建云原生 AI 平台的探索与实践 - GOTC 技术论坛分享回顾
7 月 9 日,GOTC 2021 全球开源技术峰会上海站与 WAIC 世界人工智能大会共同举办,峰会聚焦 AI 与云原生两大以开源驱动的前沿技术领域,邀请国家级研究机构与顶级互联网公司的一线技术专家 ...
- 公司机器(线上机器)启动ftp任务的命令
这个命令: /usr/local/proftp/sbin/proftpd 注意要在root账户,并且kill掉原来的同名进程.
- 在Windows Azure公有云环境部署企业应用
作者 王枫 发布于 2014年4月5日 企业内部应用转换为在线服务 Windows Azure已经成为众多IT服务提供商们热议的话题,其中,有的认为只有提供互连网用户服务的应用才适合放在公有云环境内运 ...
- ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云
向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...
- 基于puppet分布式集群管理公有云多租户的架构浅谈
基于puppet分布式集群管理公有云多租户的架构浅谈 一.架构介绍 在此架构中,每个租户的业务集群部署一台puppet-master作为自己所在业务集群的puppet的主服务器,在每个业务集群所拥 ...
- 西瓜哥:公有云也“All-Flash”?
本文转载自 高端存储知识 Gartner在2018年Market Insight: Preparing for the SSD Rise and HDD Demise一文中指出:当闪存介质降到HDD每 ...
- [转帖]Gartner预测:2019年全球公有云规模达2143亿美元
Gartner预测:2019年全球公有云规模达2143亿美元 https://news.cnblogs.com/n/623341/ 近日,全球领先的信息技术研究和顾问公司 Gartner 发布的最新数 ...
- 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)
(一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解. Azure Pack是微软的私有云方案,具有弹性. ...
- “云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(上)
“云中论道”技术课堂第一课开讲啦!微软各路技术咖们齐聚一堂,为大家带来干货不断!作为“云中论道“课堂的开课之作,我们首先邀请到了微软Azure专家级的架构师:槐长清,他为我们带来了关于“使用开源技术和 ...
随机推荐
- JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. 1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包. ...
- winform打开本地html页面
有时候为了提高开发效率和后期可维护性,把cs里面嵌套了远程网页,这样方便后期升级.比如,美图秀秀,qq音乐PC都嵌套了本地和远程网页.在页面拖入控件System.Windows.Forms.WebBr ...
- JS 实现百度搜索功能
今天我们来用JS实现百度搜索功能,下面上代码: HTML部分: <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- 一个自己稍作修改了的美赛论文LaTeX模板
原模板(5.0)来自LaTeX工作室(latexstudio.net),我按照比赛规范做了一点小小的修改(5.0y),并加上了比原来更详细一些的注释,方便使用. 仅仅分享一下方便大家使用,模板的原创者 ...
- Python---多线程(threading)
1. 概述 threading提供线程相关操作,python当前版本的多线程库没有实现优先级.线程组,线程也不能被停止.暂停.恢复和中断 threading提供的类: Thread,Lock,Rloc ...
- Asp.net core 2.0.1 Razor 的使用学习笔记(三)
ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(二)—用户账户及cookie配置 修改用户账户及cookie配置 一.修改密码强度和用户邮箱验证规则 ...
- MySQL主从复制-xtrabackup的使用与延时复制(附原理图)
标签(linux): mysql 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 xtrabackup是percona公司针对MySQL开发的一款开源的物理备份工 ...
- fopen fclose feof fgets fetl
fopen :Open file, or obtain information about open files 例如 fid = fopen(filename, permission)%许可包括: ...
- java中线程的状态详解
一.线程的五种状态 线程的生命周期可以大致分为5种,但这种说法是比较旧的一种说法,有点过时了,或者更确切的来说,这是操作系统的说法,而不是java的说法.但对下面所说的六种状态的理解有所帮助,所以 ...
- javascript 中 dom.getAttribute("value") 与dom.value的差异
dom 是一个 input type="text" 手动修改 input 的值, 使用 dom.getAttribute("value") 只能得到 html ...