[New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)

简介:

 Windows Azure Platform 系列文章目录

  

  本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板。

  注意:因为在制作VHD的最后执行了Sysprep命令,所以该VHD中的OS会重新部署。

 

  如果您想迁移本地的Hyper-V虚拟机,还需要保留该虚拟机中安装的软件配置。

  请参考: [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine 

 

  上一章内容中,笔者介绍了如何在本地通过Hyper-V制作Windows Server 2012中文版的虚拟机。

  本章我将首先介绍如何在Azure Storage中创建Container,然后介绍如何使用Azure PowerShell将本地的Server 2012 VHD上传至Azure数据中心。

  1.首先我们登陆Azure Management Portal。我已经创建了叫leivms的Storage Account,然后我们点击Add Container。如下图:

  

  2.然后在弹出的New Container窗口中,我们设置NAME为uploadvm,访问方式设置为Private(也可以设置为Public Container)。如下图:

  

  3.创建成功后,我们将来会通过访问http://leivms.blob.core.windows.net/uploadvm 这个URL,将本地的Server 2012 VHD上传至这个Blob Container。如下图:      

  

  4.之前做的工作都是在Azure Portal进行准备工作,接下来就正式进入上传VHD的过程了。

  5.请先确认已经安装最新的Azure SDK,目前最新的SDK版本是2.0,请在http://www.windowsazure.com/en-us/downloads/进行下载,笔者下载的是.NET SDK VS2012。下载完成后,会通过Web Installer进行安装。如下图:

 

  6.安装完成,以管理员身份运行CMD命令提示符,进入C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.0\bin目录,执行csupload.exe命令,如下图:

  

  会发现黄色提示部分,微软建议下载Azure PowerShell工具......e........(折腾啊)..........

 

 

 

  建议读者以后使用Azure PowerShell,不要用CSUpload

  那我们通过http://go.microsoft.com/?linkid=9811175&clcid=0x409,继续下载PowerShell。随后通过Web Installer安装。

  7.安装完Azure PowerShell,以管理员身份运行Azure PowerShell。

  

 

 

  Update 2015-09-01

  发现一个新的命令。可以不需要导入PublishSetting文件。

  如果你使用的是国内由世纪互联运维的Azure China,请在PowerShell输入命令:

Add-AzureAccount -Environment AzureChinaCloud

  如果你使用的是国外的Azure Global,请在PowerShell输入命令:

Add-AzureAccount

  注意:我们在下面的步骤中下载的publishsettings这个文件,需要非常小心的保存。

  笔者建议在导入完毕后,直接删除这个publishsettings文件,防止被不坏好意的人重复利用。

 

=====================================这里是分隔符============================================

 

  8.首先我们要在本地创建证书文件。以便本地计算机和Azure建立可靠的安全连接。请在Azure PowerShell输入以下命令:

Get-AzurePublishSettingsFile

  9.这时候计算机会弹出新的IE窗口,导航至Windows Azure。并要求我们输入登陆Azure的用户名和密码并登陆。

  10.登陆完毕后,系统会要求我们保存扩展名为publishsettings的文件,我们保存至本地计算机的磁盘上。如下图:

  11.然后我们回到Azure PowerShell窗口,继续输入以下命令:

Import-AzurePublishSettingsFile <PathToFile>

  PathToFile就是我们保存步骤11中扩展名为publishsettings的文件位置(文件路径+文件名),比如我将该文件保存至D盘根目录,我们就输入以下命令:

Import-AzurePublishSettingsFile 'D:\Windows Azure MSDN - Visual Studio Ultimate-7-2-2013-credentials.publishsettings'

  上面的命令实际上是将本地的publishsettings文件上传至Azure的Management Certificates。我们可以打开Azure Management Portal。点击Settings,并选择Management Certificates,查看上传的publishsettings文件。如下图:

  这样,本地计算机就和Azure建立了可靠安全的链接了。接下来就可以上传我们的VHD文件了。

  12.请在本地Azure PowerShell继续输入以下命令。

Add-AzureVhd -Destination <BlobStorageURL>/<YourImagesFolder>/<VHDName> -LocalFilePath <PathToVHDFile>

  上面的参数说明是这样的:

  之前我们创建的BlobStorageUrl为http://leivms.blob.core.windows.net

  YourImagesFolder为ContainerName,我们在本章步骤2例设置为uploadvm

  VHDName,我们可以设置上传的VHD名称,这个可以按照用户需要设置

  PathToVHDFile,需要制定我们上传的VHD的路径(文件夹+文件名)

 

  根据笔者的本地环境,我们可以在PowerShell输入以下命令:

Add-AzureVhd -Destination 'http://leivms.blob.core.windows.net/uploadvm/Server2012_CHN_64bit.vhd' -LocalFilePath 'D:\VHD\Server2012_CHN_64bit\Server2012_CHN_64bit.vhd'

 

   接下来的Azure PowerShell会做如下操作:

  a)将本地的VHD做MD5加密

  b)在Azure Storage创建Page Blob。

  c)将VHD上传至Azure Storage Page Blob

  注意:上传VHD的速度与你本地网络有关。

  

  所有的步骤完毕后,如下图:

  13.最后,我们可以通过Azure Management Portal查看到上传成功的40G的VHD

 


本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/p/3159293.html,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
3月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
3月前
|
PHP 开发工具 git
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
|
3月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
3月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
3月前
|
应用服务中间件 nginx Windows
【Azure 应用服务】在App Service for Windows中实现反向代理
【Azure 应用服务】在App Service for Windows中实现反向代理
|
3月前
|
安全 Windows
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
【Azure 云服务】当Windows系统发布新的安全漏洞后,如何查看Azure云服务(Cloud Service)的实例是否也更新了安全补丁呢?
|
3月前
|
消息中间件 Kafka 网络安全
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息
|
3月前
|
网络协议 Linux 网络安全
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
|
3月前
|
Java 应用服务中间件 Windows
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面
【Azure 应用服务】App Service for Windows 环境中为Tomcat自定义4xx/5xx页面