《Windows Azure Platform 系列文章目录

  Update 2016-03-30

  一个VM的多张网卡可以在一个VNet的同一个Subnet子网下,笔者亲自测试过了。

  如果我们需要在同一个DNS下,用多个Azure VM实现负载均衡。

  则创建的第一台Azure VM必须是多网卡才行。

  不支持第一台虚拟机是单网卡,以后创建的虚拟机是多网卡

  Windows Azure VM在默认情况下,是一张网卡,2个IP地址。在很多情况下,我们需要Azure支持多张网卡,在这里笔者简单介绍一下。

  假设我们创建了一个虚拟网络,3个Subnet子网,分为命名为Frondend, MidTier和Backend,具有不同的CIDR地址。如下图:

  

  那我们可以创建一个具有三个网卡的Azure VM,每张网卡对应不同的subnet。如下图:

  

  这里特别强调一下,创建多网卡的Azure VM是有限制的:

  (1)必须先创建Azure虚拟网络(Virtual Network),才可以使用多网卡功能

  (2)只能在标准类型(Standard)的Azure VM创建多网卡VM,基本类型(Basic)的Azure VM是不支持多网卡的。

  (3)必须通过PowerShell,在创建Azure VM的时候指定多网卡。已经创建完毕的Azure VM不支持添加多网卡

  (4)Azure VM默认的网卡是支持面向Internet的。其他创建的网卡不支持负载均衡集。

  (5)Azure VM可支持的网卡数量与VM Size虚拟机配置大小有关

虚拟机配置 支持网卡数量
A3和A6 2
A4和A7 4
A9 2
D3 2
D4 4
D13 4

  

  接下来我们Demo一下。

  1.使用管理员身份,运行Azure PowerShell

  2.创建虚拟网络VNETDEMO,设置3个Subnet,命名为Front-Subnet, Middle-Subnet, End-Subnet。对应不同的CIDR地址。

  3.设置订阅和存储账号

Set-AzureSubscription -SubscriptionName '[SubscriptioName]' -CurrentStorageAccountName '[StorageAccountName]'

  4.设置当前订阅

Select-AzureSubscription -SubscriptionName '[SubscriptionName]' -Current

  5.获得虚拟机镜像

$image=get-azurevmimage | where {$_.imagename -like "*Windows-Server-2012-R2*"} 

  6.设置用户名、密码

$adminusername="azureuser"
$adminpassword="[YourPassword]"

  7.设置子网和网卡地址

  注意:网卡的IP地址必须和虚拟网络的子网地址相对应。

$Subnet1Name="Front-Subnet"
$Subnet2Name="Middle-Subnet"
$Subnet3Name="End-Subnet" $NIC1IP="10.11.0.20"
$NIC2IP="10.12.0.20"
$NIC3IP="10.13.0.20"

  8.创建虚拟机

$vm = New-AzureVMConfig -Name "MultiNicVM001" -InstanceSize "ExtraLarge" -Image $image[$image.count-].ImageName

Add-AzureProvisioningConfig –VM $vm -Windows -AdminUserName $adminusername -Password $adminpassword

#设置默认的网卡地址
Set-AzureSubnet -SubnetNames $Subnet1Name -VM $vm
Set-AzureStaticVNetIP -IPAddress $NIC1IP -VM $vm #增加第一张网卡
Add-AzureNetworkInterfaceConfig -Name "NIC2" -SubnetName $Subnet2Name -StaticVNetIPAddress $NIC2IP -VM $vm #增加第二张网卡
Add-AzureNetworkInterfaceConfig -Name "NIC3" -SubnetName $Subnet3Name -StaticVNetIPAddress $NIC3IP -VM $vm #创建虚拟机
New-AzureVM -ServiceName "multivmpool" -VNetName "VNETDEMO" -VM $vm -Location 'China North'

  

  注意:本次笔者用的A4 VM,最多支持4张网卡。Azure VM可支持的网卡数量与VM Size虚拟机配置大小有关

参考资料:http://azure.microsoft.com/blog/2014/10/30/multiple-vm-nics-and-network-virtual-appliances-in-azure/

Windows Azure Virtual Machine (24) Azure VM支持多网卡功能的更多相关文章

  1. [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文:       [New Portal]Windows Azure Virtual ...

  2. Windows Azure Virtual Machine (35) Azure VM通过Linked DB,执行SQL Job

    <Windows Azure Platform 系列文章目录> 今天遇到一个Case,客户在使用Azure Automation,执行Azure SQL Database 存储过程的时候, ...

  3. Windows Azure Virtual Machine (34) Azure VM挂载WebDAV

    <Windows Azure Platform 系列文章目录> 之前使用Azure VM,挂载box网盘.发现不能正常挂载,这里简单记录一下. 1.WebDAV的网络映射,需要WebCli ...

  4. Windows Azure Virtual Machine (33) Azure虚拟机删除重建

    <Windows Azure Platform 系列文章目录> 注意:本文介绍的重建Azure虚拟机,必须在同一个订阅内删除重建,必须在同一个订阅内删除重建,必须在同一个订阅内删除重建. ...

  5. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...

  6. Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM

    <Windows Azure Platform 系列文章目录> Update: 2016-11-3,如果大家在使用Linux VM,使用FIO进行IOPS测试的时候,请使用以下命令: su ...

  7. Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量

    <Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...

  8. Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet

    <Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...

  9. [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

随机推荐

  1. Salesforce + AngularJS + Bootstrap

    也可以分成三步: 1. 添加css和js引用: <apex:stylesheet value="https://maxcdn.bootstrapcdn.com/bootstrap/3. ...

  2. SQL入门经典(六) 之视图

    视图实际上就是一个存储查询,重点是可以混合和匹配来自基本表(或其他视图)的数据,从而创建在很多方面象另一个普通表那样的起的作用.可以创建一个简单的查询,仅仅从一个表(另一个视图)选择几列或几行,而忽略 ...

  3. Caused by: java.lang.UnsatisfiedLinkError...解决经历

    Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu ...

  4. Visual Studio 2013 错误提示“未找到与约束匹配”的修正

    昨天由于项目需要,在开发电脑上安装了Microsoft Office Project 2007来做时间计划,但是安装之后第二天重新打开VS之后,就无法打开项目或者原有程序文件无法打开.错图提示界面如下 ...

  5. EntityFunctions.AsNonUnicode

    http://blog.csdn.net/zzx3q/article/details/7863797 使用工具VS2010 凡是调用FindAll的地方,如果传入参数是String类型的变量(数字类型 ...

  6. 解如下方程(java实现)

    n                              (m=1) f(m,n)=  m                              (n=1) f(m-1,n)+f(m,n-1) ...

  7. 《OOC》笔记(1)——C语言const、static和extern的用法

    <OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用c ...

  8. 浅析SQL Server实现分布式事务的两阶段提交协议2PC

    不久之前团队有个新人问我一个很重要的web服务接口如何保证事务的问题.因为涉及到跨库事务,当时我只是回答目前我们的SOA框架都不支持跨库事务.然后就问到了数据库跨库事务是如何实现的,我只能凭印象含糊回 ...

  9. redis系列-redis的持久化

    redis对数据的持久化有两种方式:RDB(快照保存)和AOF(命令日志). RDB 介绍:将内存快照保存到磁盘,dump.rdb二进制文件 触发:满足“N 秒内数据集至少有 M 个改动”,或使用sa ...

  10. lua如何调用C++函数

    第一步是定义函数.所有在Lua中被调用的C/C++函数将使用下面一类指针进行调用: typedef int (*lua_CFunction) (lua_State *L); 换句话说,函数必须要以Lu ...