在我们的生产环境中 很多网络虚拟设备都要求使用多个 NIC。现在您可以在 Azure VM 中创建多个 NIC。借助多个 NIC,您可以更好地管理网络流量。您也可以将前端 NIC 和后端 NIC 之间的流量隔离开来,或者将数据层通信与管理层通信分开。

Microsoft Azure Linux 多网卡配置_第1张图片

这里特别强调一下,创建多网卡的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


1. 首先我们需要创建一个Vnet ,在Vnet 下创建三个子网,也称为subnet..

Microsoft Azure Linux 多网卡配置_第2张图片

2. 创建新的云服务

3. 使用Power Shell 指定我需要的订阅和存储账号:

Set-AzureSubscription -SubscriptionName "您的Azure 订阅" -CurrentStorageAccountName "你的Azure存储"

4. 配置创建虚拟机:

$azureName="**" //想要创建的虚拟机名字

$azureInstanceSize="Large" //指定虚拟机的类型(大小)

$azureImageName="**" //Vm 映像名字

$adminUserName="**" // VM 用户名

$adminPassword="**" // VM密码

$Subnet1Name="Subnet-2" //虚拟网络子网名

$Subnet2Name="Subnet-3" //虚拟网络子网名

$NIC1IP="10.0.1.4" //第一块网卡IP

$NIC2IP="10.0.2.4" //第二块网卡IP

//配置VM 参数

$vm = New-AzureVMConfig -Name $azureName -InstanceSize $azureInstanceSize -ImageName $azureImageName

Add-AzureProvisioningConfig –§CVM $vm -Linux -LinuxUser $adminusername -Password $adminpassword

//设置默认的网卡地址

Set-AzureSubnet -SubnetNames $Subnet1Name -VM $vm

Set-AzureStaticVNetIP -IPAddress $NIC1IP -VM $vm

// 增加第一张网卡

Add-AzureNetworkInterfaceConfig -Name "NIC02" -SubnetName $Subnet2Name -StaticVNetIPAddress $NIC2IP -VM $vm

//创建虚拟机

New-AzureVM -ServiceName "new-xsbd05" -VNetName "xsbd" -VM $vm -Location "China North"

clip_p_w_picpath006

5. 创建完成后看不到第二块网卡信息是正常的,因为您需要执行以下步骤:

(1)进入/etc/sysconfig/network-scripts目录,拷贝原来的配置文件,手动配置第二张网卡的信息,执行cp  ifcfg-eth0   ifcfg-eth1,用vim打开ifcfg-eth1,作如下修改,只需改动箭头指的地方

Microsoft Azure Linux 多网卡配置_第3张图片

(2)重启网络服务service network restart

重启network服务后,可看到第二张网卡的信息

Microsoft Azure Linux 多网卡配置_第4张图片

clip_p_w_picpath012

注意事项:

1. 多网卡VM 选择的虚拟网络中可以单网卡的虚拟机,但是单网卡虚拟机和多网卡虚拟机必须在不同subnet(子网中)。

2. 多网卡VM 选择的云服务不能有单网卡的虚拟机。