zoukankan      html  css  js  c++  java
  • [New Portal]Windows Azure Virtual Machine (3) 在VM上挂载磁盘

      Windows Azure Platform 系列文章目录

      

      在前一章里我已经向大家介绍了如何创建一个预安装SQL Server 2012的Windows Server VM。

      本章我将介绍如何在这个VM上挂载磁盘。

      看到这里,有读者可能会产生疑问:为什么在这里要介绍挂载磁盘的功能呢?在这里笔者先简单的介绍一下概念:

      在一些现有的系统里,对于系统盘(比如C盘)的操作比较少,而大部分情况下是对除系统盘以外的其他盘符(比如 F盘 G盘等)做读写操作。

      我们可以按照上一章的内容,远程登录Windows Azure的Virtual Machine。我们看到默认的磁盘有2个,分别是C和D盘,如下图:

      我简单介绍一下:C盘保存的内容主要是OS文件,最大容量是127G

      而D盘是保存临时文件。

      但是请注意:C盘中的内容是持久化的,但是D盘不是持久化的(从名字我们也不难观察出,D: Temporary Storage)

      我们知道Azure VM其实是物理RACK虚拟化出来的虚拟机。用户只能访问虚拟机,不能访问到物理机。

      D盘的文件,其实是保存在物理机的磁盘上的。

      也就是说,如果你将文件保存到D盘。一旦这台VM所在的物理主机发生内存故障,断电等异常情况导致无法正常服务,Azure Fabric Control会将这个VM自动迁移到另外一台正常的物理主机之上,以保证服务正常提供。但是你保存到D盘中的文件信息都将丢失。

      按照以前的经验,如果我们想保存持久化的内容,就必须放到Windows Azure Storage里去(包括Blob, Table和Queue,我在前面几章已经做了介绍),但是这需要一定的手动开发过程。

      Windows Azure VM提供了新的功能:首先在Azure Storage里先创建VHD,然后将这个VHD mount到VM里,作为VM的本地磁盘来使用(例如E盘或者F盘)。当挂载磁盘完毕后(比如挂载新的盘符叫E盘),你写入E盘里的内容就被写入到Windows Azure Storage的VHD文件里去了。

      而且我们知道,Windows Azure Storage是支持三重备份的。这也提高了VHD文件的可靠性和完整性。我们放在Storage里面的内容就万无一失啦。

      那就开始我们本次练习吧。

      1.首先我们登陆Windows Azure管理界面 https://manage.windowsazure.com/

      2.在列表中选择"Virtual Machines",找到之前创建的SQL2012VM1并选中它。如下图:

      3.选中后,在Management Portal窗口最下面会出现菜单栏,我们点击Attach--> Attach Empty Disk。

      4.在弹出的窗口里(请注意Storage Location的地址,我将会在本章最后介绍),Size设置成50GB

      5.按照同样的方法,再次Attach Disk,Size我们设置成80GB

      6.设置成功后,我们登陆SQL2012VM1的远程桌面

      7.选择Server Manager-->Storage-->Disk Management,可以看到VM已经找到新增加的2个磁盘

      7.上图中我们直接点击OK就可以了。然后我们点击Disk2,右键,New Simple Volume,初始化磁盘

      8.按照同样的方法,将Disk3也初始化。可以看到F盘(大小50G)和G盘(大小80G),大小和我们之前在Management Portal设置的一样,结果如下:

    在我的电脑里也能看到新创建的磁盘,如下图:

      9.请注意:我们之前创建的Windows Azure VM Size为Small ,所以我在只能挂载最多2个DIsk;而VM Size为Extra Large,最多能挂载16个Disk。

      不管VM Size是Extra Small还是Extra Large,他们最大支持1TB。如果你创建Disk的时候,超过1TB,你会收到如下的错误信息:

       10.为了验证我之前说的,Attach Disk的内容其实是保存在Azure Storage里的。请大家在Management Portal,找到Name为Portalxxxxx的(名字之前系统自动生成的),并选中。在跳转的页面中,选择Container。点击VHDS:

      11.在下图中,我们可以看到:

    • 第一行的LeiSQL2012VM-SQL2012VM1是我在第一章里创建的,预装好SQL Server 2012的Virtual Machine,也就是我在远程登录Azure托管服务器的C盘。因为这个盘符的内容其实是保存到Windows Azure 的Blob,所以任何保存在Virtual Machine C盘中的内容都是持久化的。
    • 接下来,是我本章创建的,容量为50GB的Disk。也就是我在远程登录Azure托管服务器的F盘
    • 最后是我创建的,容量为80GB的Disk。也就是我在远程登录Azure托管服务器的G盘
    • 这些内容都是以VHD的形式,保存在Azure Blob中。

  • 相关阅读:
    ubnt+ros 接入无线
    生成new, old的 shell script
    lua学习记录
    反编译dtsi
    抓包软件PowerSniff开发计划
    android的ArrayMap类
    京东买的5本书
    c++ 变量必须初始化吗???
    cocos2dx 很好的源码分析博文
    cocos2dx 最基本,纯色、字体、图片
  • 原文地址:https://www.cnblogs.com/threestone/p/2784291.html
Copyright © 2011-2022 走看看