注意:如果你是第二代虚拟机,那就别看这个了,老老实实在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. contains

    ArrayLIst类使用contains方法时要注意:放入ArrayList中的类必须要重写equals方法(既然equals重写了,那么 hash方法也应该重写,这两个方法一般同时重写):如果不重写 ...

  2. java,UDP协议简单实现

    //UDP协议简单实现-----Serverpackage UDP; import java.net.DatagramPacket; import java.net.DatagramSocket; i ...

  3. OI中的代码调试

    作为一位OIer,代码调试的能力必不可少. 今天梳理一下自己进行代码调试的方法,下面只是一些个人的总结. 代码的评价有三部分: 正确性 强健性 高效性 检查也应该从这三部分出发. [正确性] 打完代码 ...

  4. C++/C#中堆栈、对象内存模型、深浅拷贝、Array.Clone方法

    转载自:http://blog.csdn.net/jarvischu/article/details/6425534 目录 1.      C++/C#中对象内存模型................. ...

  5. 用Visual C#向access添加数据

    (1)创建并打开一个OleDbConnection对象. (2)创建一个插入一条记录的SQL语句. (3)创建一个OleDbCommand对象. (4)通过此OleDbCommand对象完成对插入一条 ...

  6. Combinations [LeetCode]

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  7. cisco 路由配置

    Cisco路由配置基础 刚刚接触cisco路由配置,下面是学习的笔记,感觉命令还是多敲才能熟悉 一. 所处状态各类 router> 用户处于用户命令状态,可以查看网络和主机 router# 用户 ...

  8. html标签marquee实现走马灯效果(文字浮动)

    marquee标签实现文字或图片的移动效果 <marquee direction = "right">文字<marquee>

  9. 使用ContentProvider管理多媒体-----向多媒体数据中添加数据

    //为add按钮的单击事件绑定监听器 add.setOnClickListener(new OnClickListener() { @Override public void onClick(View ...

  10. Shell脚本:使用rsync备份文件/目录

    本文我们介绍一个shell脚本,用来使用rsync命令将你本地Linux机器上的文件/目录备份到远程Linux服务器上.使用该脚本会以交互的方式实施备份,你需要提供远程备份服务器的主机名/ip地址和文 ...