Windows Azure Virtual Machine
1.怎样创建一个简单的Azure Virtual Machine
New-->Virtual Machine-->From Gallery -弹出"Virtual Machine Operation System Selection"页面里
根据向导创造Virtual Machine,能在Virtual Machine里看到我们之前创建的Virtual Machine,然后通过
CONNECT远程连接到Virtual Machine上面.
2.在VM上挂载磁盘
基本的话磁盘分为C、D两个盘,C盘保存的内容主要是OS文件,最大容量是127G 而D盘是保存临时文件
想保存持久化的内容,就必须放到Windows Azure Storage里去。首先在Azure Storage里先创建VHD,
然后将这个VHD mount到VM里,作为VM的本地磁盘来使用(例如E盘或者F盘)。当挂载磁盘完毕后(比如挂
载新的盘符叫E盘),你写入E盘里的内容就被写入到Windows Azure Storage的VHD文件里去了。
在Management Portal窗口最下面会出现菜单栏,我们点击Attach--> Attach Empty Disk 设置好size的大小
远程登陆上去VM 选择Server Manager-->Storage-->Disk Management,可以看到VM已经找到新增加的磁盘,
初始化再新建卷就可以使用了。
3.配置VM的Endpoints (Windows Azure EndPoints分两种,分别是Public Port--57500和Private Port--1433)
1)Public Port。表示这个Endpoint是对Internet开放的。所有从外部发起的访问,都是通过Public Port来进行的。
2)Private Port。这个Endpoint不对Inetnet开放,只对Windows Azure 内部开放。如果Windows Azure包含多个实
例(multi instance)并行计算,那么实例与实例(instance to instance)的内部访问是通过Private Port来实现的。
3)Endpoint使用TCP或者UDP的协议,TCP协议包括HTTP和HTTPS通信。
Azure VM默认情况下,只开启了RDP的端口和PowerShell的端口,其他的端口都是关闭的
点击窗口最下面的Add Endpoint --> Add endpoint 然后设置好Name Protocol选择为TCP,将Public Port设置
为57500, Private Port为1433 就可以达到映射的效果。
4.指定Virtual Machine存储账户
新的Management Portal里,我们可以指定Virtual Machine存储的Storage
我们先创建一个Storage Name MyStorage 可以查看到storage 的名字 然后再创建VM 在Storage Account里面,
我们选择之前创建的mystorage
5. 删除Virtual Machine
删除创建的虚拟机服务,删除虚拟机对应的VHD
创建完虚拟机后,Windows Azure会在leivms这个storage下自动创建vhds这个Container,且访问方式为Private(私有),
可以点击delete将其删除,导航到Storage,找到Name将之前创建的vhd并将其删除。
6. Virtual Machine高可用
同时创建2台Azure Virtual Machine并公用一个DNS地址,以实现高可用性 设置中两台DNS相同。
1) 在Virtual machine mode中,点击Stand-Alone Virtual Machine, DNS Name设置为NameVM
2) 在Virtual Machine Opetions里,我们可以创建高可用。选择Create an availability set,然后设置名称为NameAvbSet
3) 在第二台虚拟机的Virtual Machine Mode里,选择Connect to an Existing Virtual Machine,并选择之前创建的VMOne
4) 在第二台虚拟机的Virtual Machine Options里,我们选择之前在步骤4中创建高可用设置NameAbvSet
5)远程至第一台VM,.配置第一台虚拟机的IIS,在<body>标签页下,区域代码<H3>NameVMOne</H3>。并且保存iisstart文件。
6) 回到Windows Azure Management Portal,选择NameVMOne,点击ENDPOINTS,点击ADD 添加IIS端口号 80
7)配置第二台IIS 类似,不过在Windows Azure Management Portal,选择NameVMTwo,点击ENDPOINTS,点击ADD。在弹出的
界面里,选择Load-Balance Traffic On An Existing Endpoint 再添加端口号IIS的80号。
8)关闭一台验证是生效的,有负载均衡的效果的。
7.自定义Windows Azure Virtual Machine模板
1).创建Azure Virtual Machine
2).远程连接创建完成的VM,并增加IIS功能
3).运行操作系统自带的Sysprep.exe程序,并关机 (等同于创建一个新的一样的VM类似于gho)
4).在Azure Management Portal中,运行Capture。创建新的虚拟机模板。(注意:此步骤会删除步骤1中的Virtual Machine)
5).使用步骤4种自定义的Azure Virtual Machine模版,创建带有IIS的Azure Vitual Machine
创建新的Virtual Machine。点击New->Virtual Machine->FROM GALLERY 就可以看到创建的新的镜像了
可用于批量创建VM,这里以添加IIS功能为例。
8.在本地使用Hyper-V制作虚拟机模板,并上传至Azure
Windows Azure允许用户在本地制作装有操作系统的VHD,然后将该VHD上传至云端:
一:Windows Azure支持含有操作系统的VHD的限制如下
1).目前只支持VHD,不支持VHDX
2).只支持固定大小的VHD
3).VHD必须是整数MB的文件大小
4).Windows OS的C盘VHD大小必须不大于127G
5).vhd文件不是由其他压缩文件压缩过
6).vhd文件不是由其他第三方工具处理过
7).不支持VHD差异盘
8).不支持VHD快照
一般情况下,将本地的VHD上传至Azure要经历以下过程
1).创建VHD,并安装相应的操作系统和软件
2).在Azure Storage创建相应的Container
3).使用Azure Powershell,将本地的VHD上传至Azure Storage
4).使用Azure Portal,使用上传的VHD模板创建Azure Virtual Machine
二:打开Hyper-V管理器,新建硬盘,然后再新建虚拟机。
安装完毕后,请使用Hyper-V连接创建的Server 2012虚拟机,查找C:WindowsSystem32SysprepSysprep.exe并双击运行,然后
就完成了VHD的准备工作了。
三:在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)创建成功后,我们将来会通过访问这个URL,将本地的Server 2012 VHD上传至这个Blob Container
4)安装最新的Azure SDK
5)进入C:Program FilesMicrosoft SDKsWindows Azure.NET SDKv2.0in目录,执行csupload.exe命令
6)下载安装Azure PowerShell,以管理员身份运行Azure PowerShell
7)Get-AzurePublishSettingsFile
8)登陆Azure,保存扩展名为publishsettings的文件
9)Import-AzurePublishSettingsFile <PathToFile> 命令是将本地的publishsettings文件上传至Azure的Management Certificates
10)本地计算机就和Azure建立了可靠安全的链接了。接下来就可以上传VHD文件
11)Add-AzureVhd -Destination <BlobStorageURL>/<YourImagesFolder>/<VHDName> -LocalFilePath <PathToVHDFile>
接下来的Azure PowerShell会做如下操作:
a)将本地的VHD做MD5加密
b)在Azure Storage创建Page Blob。
c)将VHD上传至Azure Storage Page Blob
注意:上传VHD的速度与你本地网络有关。
可以通过Azure Management Portal查看到上传成功的VHD
12)根据用户上传的VHD,制作Azure Virtual Machine Image镜像
选择Virtual Machine,点击右侧的Images页,最后选择Create An Image,
这时候会弹出Azure Storage的窗口,然用户选择保存在Azure Storage中VHD。根据操作用户选择保存在Azure Storage中VHD,
再找到之前上传得vhd,选择OPEN 。
9.在本地制作数据文件VHD并上传至Azure
可以事先在本地制作VHD,并将需要的文件保存至这个VHD中,最后将VHD上传至云端并挂载在虚拟机上
Windows Azure支持的含有数据文件的VHD的限制:目前只支持VHD,不支持VHDX;只支持固定大小的VHD;VHD大小必须不大于1TB
1) 同样在本地新建硬盘,本地计算机的磁盘管理。系统会自动监测到外面创建的VHD,我们选择MBR分区,点击新建简单卷,就可以做为
相同的磁盘使用了,最后然后分离VHD,VHD的工作就完成了。
2)将VHD通过Azure PowerShell上传至Azure Blob Storage,命令跟本地制作操作系统VHD上传至Azure的步骤一样的。
3)将该VHD挂载到Azure Virtual Machine中去
a:点击Virtual Machine,选择右侧的DISKS,然后点击 CREATE A DISK 设置Disk的名称
b:在弹出的页面中,在Blob Storage中找到我们之前上传的VHD 创建DISK完毕
c:选中VM 点击下方菜单栏的ATTACH,并选择 Attach disk ,将之前上传的Office 2013 DISK挂载上去(一旦某个Disk被Attach到一台
Azure Virtual Machine,就不能同时被另外一台Azure VM Attach了)
d:如果多台机器需要通过这样的方法访问数据怎么办?安装完毕后,在Azure Management Portal里点击DETACH DISK ,然后在别的
Azure VM里继续使用 ATTACH即可
10.Azure Virtual Machine内部IP和外部IP
当分别创建2台不同的Virtual Machine的时候,第一台VM和第二台VM的Internal IP ADDRESS不同-Public Virtual IP (VIP) Address却是一样的
Internal IP Address其实就是VM在Azure数据中心的内部网络地址,它是从DHCP获得的,所以每次关闭这台Azure VM一段时间再开机后,Internal IP就改变了
Public Virtual IP (VIP) Address,这个地址是Azure VM的公网IP地址,是在Azure Load Balance里。VIP的主要功能是负载均衡(Load Balance),
11.关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系
在2台Azure VM共用一个DNS情况下,有以下2种方式安全停止Azure VM。
1)关闭其中一台Azure VM(使用Azure Management Portal, RDP或者PowerShell,三种方式)
2)同时关闭2台Azure VM(同上三种方式)
a:使用Azure Management Portal或Azure PowerShell without -StayProvisioned,关闭一台Azure VM
VIP Address是否改变:否 Internal IP Address是否改变:是
b:使用Azure Management Portal或Azure PowerShell without -StayProvisioned,关闭所有Azure VM
VIP Address是否改变:是 Internal IP Address是否改变:是
c:使用RDP或Azure PowerShell with -StayProvisioned,关闭一台或多台Azure VM
VIP Address是否改变:否 Internal IP Address是否改变:否
尽量不要随意关闭VM,如果必须关闭VM,必须遵循以下2点:
1)如果是采用是single vm,那这台VM 绝对不能使用Azure Management Portal STOP VM,否则VIP和Internal IP都会改变。
必须采用RPD或者PowerShell with -StayProvisioned 来关闭VM。VIP和Internal IP都不会改变。
2)如果采用的是Multi VM,那要保证至少一台机器不被STOP,这样能够保证整个Azure Cloud Service的VIP不会改变。
12:将本地Hyper-V的VM上传至Windows Azure Virtual Machine 的知识还在不断的学习,综合以上知识是将VM上传至Azure VM