Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  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中。

posted on 2012-11-23 21:29  Lei Zhang的博客  阅读(2005)  评论(2编辑  收藏  举报