注意:如果你是第二代虚拟机,那就别看这个了,老老实实在Azure上重新创建吧,Azure不支持第二代虚拟机。
写在之前,对Azure基本不了解只知道名字,完全是工作需要,正好也是微软的东西,也就没什么抵触心理,况且还有微软的朋友帮忙协助,正好把握机会好好了解一下。虽然SharePoint都学习不过来,但相关联的东西做一定程度的了解也是好的。感谢之前汀栎和克明对我的帮助,克明给我的课程文档让我对Azure有了整体的认识,汀栎FYI给我的文章让我对迁移到大概过程有了把握,同时也感谢海峰哥的帮助。
本周一我刚开始正八经的了解和使用Azure,所以如果哪里错了,各位大神轻拍。本篇也是对我这几天大致工作的一个总结。虽然最后都白费了。。。但如果不是第二代虚拟机,肯定好使没有问题,所以记录下来供参考。
1. 创建一个虚拟网络
2. 创建一个存储账户
之后在创建好的存储账户下新建一个容器用来保存上传到VHD,把容器的URL记录下来之后要用。
3. 创建一个云服务
前期创建的这几个东西在之后创建虚拟机的时候都会用得到的,因为自动生成的那个名字没什么规律,还是自己创建了吧。
4. 将本地Hyper-V的vhdx转换为vhd
在Hyper-V服务器打开PowerShell。输入如下命令:
Convert-VHD –Path “C:\Hyper\JXT-AD\Virtual Hard Disks\JXT-AD.vhdx” –DestinationPath c:\VHD-HyperV\JXT-AD.vhd
Convert-VHD –Path “C:\Hyper\JXT-DB\Virtual Hard Disks\JXT-DB.vhdx” –DestinationPath c:\VHD-HyperV\JXT-DB.vhd
Convert-VHD –Path “C:\Hyper\JXT-SP\Virtual Hard Disks\JXT-SP.vhdx” –DestinationPath c:\VHD-HyperV\JXT-SP.vhd
5. 配置Azure PowerShell到云端Azure订阅的远程管理
PS:Azure PowerShell的相关配置在目录\%appdata%\Windows Azure Powershell,如果乱了就删了重新弄。
(1) 首先下载Azure命令行工具(即Azure PowerShell)
(2) 访问https://manage.windowsazure.cn/publishsettings/下载publishSettingFile
(3) 在Powershell中执行Import-AzurePublishSettingsFile将下载到本地的publishiSettingFile导入。命令格式形如:
Import-AzurePublishSettingsFile -PublishSettingsFile C:\MyTest.publishsettings
(4) 在Powershell中执行命令
Get-AzureStorageAccount | Select StorageAccountName
获得当前订阅的所有存储账户名称。
执行命令
Set-AzureSubscription -SubscriptionName <你的订阅名称(用记事本打开下载的publishSettingFile文件可查看Name)> -CurrentStorageAccount jteststorage(你的存储账户名称)
将某个存储账户设置为当前存储账户,以后需要执行存储空间的指令时,就可将相关的文件放到当前设置的存储账户中。如创建VM时,需要将VM的文件放置到存储空间。
6. 将本地转换完的VHD文件上传到Azure存储空间
在Powershell执行Add-AzureVHD命令将VHD文件上传到Azure的存储账户。命令格式如下:
Add-AzureVHD -Destination <你的存储账户下某个容器的URL/目的端VHD(即文件名)> -LocalFilePath “C:\MyTest.vhd” -NumberOfUploaderThreads 5
Add-AzureVHD命令可以自动将动态大小的VHD转换为固定大小的;对VHD的MD5 HASH进行分析,识别空块,只传输实际容量数据;自动将Blob Type设置为Page Blob。
上传完之后有完成提示,并可在Azure管理界面的存储-容器中看到。
在管理界面中看到上传完的大小是127G,这个是默认的大小,跟VHD本身的大小无关。
7. 在Powershell执行Add-AzureDisk命令将VHD文件转换为Windows Azure VM OS磁盘,命令格式如下:
Add-AzureDisk -OS Windows -MediaLocation “https://jteststorage.blob.core.chinacloudapi.cn/jtestcontainer/JXT-AD.vhd” -DiskName “JXT-AD”
不执行命令也可以使用Azure管理控制台中的创建Disk进行配置。
8. 创建Azure上的VM
选择虚拟机->创建虚拟机->从库中,选择并填写之前创建的信息一直到完成点击创建。
创建完成后也就完成了迁移,需要的是虚拟机的D盘是临时存储盘,所以不要存储有用的数据。

遇到的问题:
1. 基于上传到VHD创建的虚拟机无法远程连接。
该问题只是现象,真实原因是第二代系统Azure根本就不支持!做到这里我很崩溃,意味着我之前的准备没什么用了,只能在Azure上重建虚拟机重新配置了。
2. DB服务器无法上传成功,报错信息:
Upload failed with exceptions: Elapsed time for upload: 00:28:51
当NumberOfUploaderThreads参数过大的话就可能出现此问题,把它调小点儿再试一下可能就好了。
最后在吐槽一下Hyper-V:
转换完的第二代的vhd   新建虚拟机第一代的话就启动不了,出错
选第二代的话  就没法选择vhd。。。

新增:关于服务器IP的固定,参见张磊的blog
          关于VIP的固定,参加汀栎的blog
在Azure的虚拟机管理那里可以配置公网与内网的映射,然后在SharePoint配置备用访问映射就可以了。

Windows Azure 实操 —— 迁移本地SharePoint服务器到Azure的更多相关文章

  1. Windows下利用TortoiseSVN搭建本地SVN服务器

    写在前面: 安装TortoiseSVN时,图中这步要选择,才能同时安装后面需要的svnserve.exe 环境说明: Win 7 TortoiseSVN 1.7 搭建步骤: 0. 新建一个目录,做&q ...

  2. Windows Server: 将虚拟机迁移到 Azure (以阿里云为例)

    Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.本文以阿里云为例,阐述如何将Windows Server 的 ...

  3. HDFS集群PB级数据迁移方案-DistCp生产环境实操篇

    HDFS集群PB级数据迁移方案-DistCp生产环境实操篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 用了接近2个星期的时间,终于把公司的需要的大数据组建部署完毕了,当然,在部 ...

  4. Windows下搭建本地SVN服务器【转】

    转自:http://www.linuxidc.com/Linux/2015-01/111563.htm 本文介绍Windows下搭建本地SVN服务器的方法,网上资料比较少也比较旧,大都介绍的是旧版本S ...

  5. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  6. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

  7. 通过调用Windows本地RPC服务器bypass UAC

    备战一个月比赛,导致近期都没啥时间更新博客,正好今天看到一篇通过调用本地RPC服务的文章,觉得非常有意思,就拿来充充博客. 在1.0版本的APPINFO.DLL中的RPC服务调用接口ID为:201ef ...

  8. 【实操日记】使用 PyQt5 设计下载远程服务器日志文件程序

    最近通过 PyQt5 设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享. PyQt5 是一套 Python 绑定 Digia Qt5 应用的框架,是最强大的 GUI ...

  9. [博客迁移]探索Windows Azure 监控和自动伸缩系列3 - 启用Azure监控扩展收集自定义监控数据

    上一篇我们介绍了获取Azure的监控指标和监控数据: http://www.cnblogs.com/teld/p/5113376.html 本篇我们继续:监控虚拟机的自定义性能计数器. 随着我们应用规 ...

随机推荐

  1. 每日一笔记之3:QTconnect()

    刚学习QT的时候,跟着教程做一些简答的实验,教程简单的界面使用UI文件,直接在界面上拖一个按键,在右键go to slot,在编写槽函数. 我以前没学过C++,一直以为这个自动跳转过去的slot函数是 ...

  2. 20160815_设置静态IP

    1.CentOS6.4x64里面默认没有文件"/etc/sysconfig/network-scripts/ifcfg-eth0"(还是 是有的,但是默认为空??以后再看吧...) ...

  3. JQuery基础汇总

    1. 对象获取与赋值::$("#obj").val("Hello World!"); 2. 对象的显示与隐藏:$("#obj").show( ...

  4. 基于SpringBoot项目的https

    在spring中配置项目运行的端口很简单. 在application.properties中 server.port: 这样配置后,spring boot内嵌的tomcat服务器就是跑在8080端口启 ...

  5. LinuxShell脚本攻略--第一章 小试牛刀

    使用 shell 进行数学运算: #!/bin/bash no1=; no2=; let result=no1+no2 echo $result result=$[ $no1 + no2 ] resu ...

  6. Openvpn 安装简述

    1.固定本地IP地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0 2.同步时间.安装ntpd yum  install ntpddate netupda ...

  7. Webdriver - Selenium Grid Configuration

    Grid parameter: role = <hub|node> (default is no grid, just run an RC/webdriver server). When ...

  8. 如何查看连接mysql的ip地址

    select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;

  9. 20145218 《Java程序设计》第9周学习总结

    20145218 <Java程序设计>第9周学习总结 教材学习内容总结 16.1.1 JDBC简介 JDBC全名Java DataBase Connectivity,是java联机数据库的 ...

  10. Qt之绘制闪烁文本

    简述 根据之前的二位绘图,我们可以很轻松的进行文本的绘制,如果需要一些特效,比如:文本闪烁.我们就必须借助其它辅助类来完成. 简述 原理 实现 效果 源码 原理 主要涉及两个辅助类: QFontMet ...