Windows Azure Virtual Machine (24) Azure VM支持多网卡功能
《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支持多网卡功能的更多相关文章
- [New Portal]Windows Azure Virtual Machine (18) Azure Virtual Machine内部IP和外部IP
<Windows Azure Platform 系列文章目录> 在开始本章内容之前,请读者熟悉以下2篇博文: [New Portal]Windows Azure Virtual ...
- Windows Azure Virtual Machine (35) Azure VM通过Linked DB,执行SQL Job
<Windows Azure Platform 系列文章目录> 今天遇到一个Case,客户在使用Azure Automation,执行Azure SQL Database 存储过程的时候, ...
- Windows Azure Virtual Machine (34) Azure VM挂载WebDAV
<Windows Azure Platform 系列文章目录> 之前使用Azure VM,挂载box网盘.发现不能正常挂载,这里简单记录一下. 1.WebDAV的网络映射,需要WebCli ...
- Windows Azure Virtual Machine (33) Azure虚拟机删除重建
<Windows Azure Platform 系列文章目录> 注意:本文介绍的重建Azure虚拟机,必须在同一个订阅内删除重建,必须在同一个订阅内删除重建,必须在同一个订阅内删除重建. ...
- [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,并且保留OS中的内容. 注意:笔者没有执行Syspr ...
- Windows Azure Virtual Machine (26) 使用高级存储(SSD)和DS系列VM
<Windows Azure Platform 系列文章目录> Update: 2016-11-3,如果大家在使用Linux VM,使用FIO进行IOPS测试的时候,请使用以下命令: su ...
- Windows Azure Virtual Machine (29) 修改Azure VM 数据磁盘容量
<Windows Azure Platform 系列文章目录> 当我们使用Windows Azure管理界面,创建Azure虚拟机的时候,默认挂载的磁盘是固定大小的 1.比如我创建1个Wi ...
- Windows Azure Virtual Machine (30) 修改Azure VM 的Subnet
<Windows Azure Platform 系列文章目录> 我在使用Azure Virtual Machine虚拟机的时候,常常会结合Virtual Network虚拟网络一起使用. ...
- [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
随机推荐
- Salesforce + AngularJS + Bootstrap
也可以分成三步: 1. 添加css和js引用: <apex:stylesheet value="https://maxcdn.bootstrapcdn.com/bootstrap/3. ...
- SQL入门经典(六) 之视图
视图实际上就是一个存储查询,重点是可以混合和匹配来自基本表(或其他视图)的数据,从而创建在很多方面象另一个普通表那样的起的作用.可以创建一个简单的查询,仅仅从一个表(另一个视图)选择几列或几行,而忽略 ...
- Caused by: java.lang.UnsatisfiedLinkError...解决经历
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned nu ...
- Visual Studio 2013 错误提示“未找到与约束匹配”的修正
昨天由于项目需要,在开发电脑上安装了Microsoft Office Project 2007来做时间计划,但是安装之后第二天重新打开VS之后,就无法打开项目或者原有程序文件无法打开.错图提示界面如下 ...
- EntityFunctions.AsNonUnicode
http://blog.csdn.net/zzx3q/article/details/7863797 使用工具VS2010 凡是调用FindAll的地方,如果传入参数是String类型的变量(数字类型 ...
- 解如下方程(java实现)
n (m=1) f(m,n)= m (n=1) f(m-1,n)+f(m,n-1) ...
- 《OOC》笔记(1)——C语言const、static和extern的用法
<OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用c ...
- 浅析SQL Server实现分布式事务的两阶段提交协议2PC
不久之前团队有个新人问我一个很重要的web服务接口如何保证事务的问题.因为涉及到跨库事务,当时我只是回答目前我们的SOA框架都不支持跨库事务.然后就问到了数据库跨库事务是如何实现的,我只能凭印象含糊回 ...
- redis系列-redis的持久化
redis对数据的持久化有两种方式:RDB(快照保存)和AOF(命令日志). RDB 介绍:将内存快照保存到磁盘,dump.rdb二进制文件 触发:满足“N 秒内数据集至少有 M 个改动”,或使用sa ...
- lua如何调用C++函数
第一步是定义函数.所有在Lua中被调用的C/C++函数将使用下面一类指针进行调用: typedef int (*lua_CFunction) (lua_State *L); 换句话说,函数必须要以Lu ...