有些用户在使用Azure Linux 虚拟机安装软件时,有些软件的license会和当前系统的mac地址绑定,那么在Azure VM重启,reszie(改变尺寸大小),停止然后再启动的时候,虚拟机的Mac地址会不会发生变化呢?Azure VM上的Mac地址是如何持久化的呢?

 

我们分VM在vNet和不在vNet中的情况来做一个测试。

 

不在vNet中的测试虚拟机

 

  1. 我们快速创建一台测试的Linux Ubuntu虚拟机,不设置vNet, 意思是该虚拟机不在设定的vNet中,一般是作为测试使用
  2. 登录到系统里面,记录系统当前的mac地址:

    00:17:fa:00:4f:9b

  3. 然后我们重启虚拟机,reboot系统,然后得到mac地址,可以看到mac地址和原来一样,没有发生变化:

    00:17:fa:00:4f:9b

  4. 当前虚拟机大小是A3,那么我们来坐下resize,将其升成A4大小的机器:

     

     

  5. 升级完成之后,系统会重启,然后我们登录进系统检查mac地址,发现内部的IP地址已经发生了变化,但mac地址保持不变:

    00:17:fa:00:4f:9b

     

     

     

  6. 同样的测试流程将机器从A4降到A2,

     

    Mac地址:00:17:fa:00:4f:9b

     

  7. 最后测试一下,在Azure的管理界面,停止虚拟机,取消分配的情况下,mac地址的变化。我们先停止虚拟机,选择"关闭":

     

    通过这种方式将虚拟机停止后,你会看到界面显示"已停止(取消分配)",在这种情况下,虚拟机资源被完全释放掉,不计算计算费用,只计算存储费用

  8. 启动虚拟机,然后检查mac地址:

虚拟机Mac地址变为:00:17:fa:00:3a:29 和之前的Mac地址00:17:fa:00:4f:9b不同,也就是说只有在虚拟机停止(取消分配)的情况下,Mac地址才会发生变化。

vNet中的虚拟机

  1. 测试方法和上面不在vnet中虚拟机类似,差别在于在本测试案例中,虚拟机在vnet中,如下图所示:

  2. 为节约篇幅,此处不再一一列举测试过程,和不在vnet中虚拟机的测试过程一样,分别测试:
    1. 重启虚拟机
    2. 升级到大尺寸虚拟机
    3. 降低到小尺寸虚拟机
    4. 停止(取消分配),然后重新启动

总结

目前Azure的虚拟机在一下情况下,无论VM是否在vNet中,MAC地址都不会发生变化:

  1. 重启虚拟机
  2. 升级到大尺寸虚拟机(resize)
  3. 降级到小尺寸虚拟机(resize)

在下面情况下,无论VM是否在vNet中,MAC地址都会发生变化:通过Azure的管理界面停止虚拟机,显示取消分配,然后再启动mac地址会发生变化.

请注意,如果你是通过虚拟机内部执行命令shutdown/poweroff,虚拟机并不会关闭或者断电,而是会继续计费,当然这个时候MAC地址也不会被释放,当你重启机器的时候,依然保持不变。

所以对于那些依赖MAC地址做license绑定的用户,如果你的虚拟机不需要关机,停止分配,重启,resize等都不会有问题,在未来Azure也会发布新的功能,保持Azure虚拟机无论在哪种场景下,MAC地址都不会改变。

 

 

 

Azure上Linux虚拟机Mac地址的持久化的更多相关文章

  1. Azure 上 Linux 虚拟机 Mac 地址的持久化

    有些用户在使用 Azure Linux 虚拟机安装软件时,有些软件的 license 会和当前系统的 mac 地址绑定,那么在 Azure VM 重启,reszie(改变尺寸大小),停止然后再启动的时 ...

  2. 缩减Azure上Linux虚拟机系统盘容量

    [话在前头] 这么些年微软 Azure 创建虚拟机一直不能修改系统盘大小,但很多时候实际又用不了这么大的操作系统磁盘.微软自己甚至还针对 Windows 服务器镜像推出一个 smalldisk 的镜像 ...

  3. 纠结好久的VM虚拟机MAC地址绑定问题

    VM虚拟机(centos)采用桥接的方式访问网络,搭建一个Online Judger 的 web服务端.本想让虚拟机的ip能够固定下来,因此在路由上采用MAC和IP绑定的方式解决. 结果:每次重启虚拟 ...

  4. 阿里云至 Windows Azure 的 Linux 虚拟机迁移

    在Windows Azure中,用户可以对部署在Azure中的虚拟机的映像.磁盘以及快照进行生成和下载.用户可以方便地将Azure中的虚拟机实例迁移到本地.私有云甚至其他公有云平台进行测试.扩展或者再 ...

  5. linux 通过 mac地址 查询 ip 和 清除arp 缓存

    问题重述: 今天,突然找不到vm 的ip 了,但是可以从网卡状态上看到其 mac 地址,并且确定主机是启动状态,网络状态良好(后来发现因为子网掩码的问题,导致虚拟机和网关之间不通信,从而导致其他网络的 ...

  6. Windows Azure 上 Linux VM 中的交换空间 – 第 2 部分

    本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 在前一篇文章 Windows Azure 上Linux VM 中的交换空间第 1 部分中,我介绍了在默认情况下, ...

  7. Linux修改MAC地址方法

    Linux修改MAC地址方法 - Linux modifies MAC address method ifconfig wlan0 down ifconfig wlan0 hw ether MAC地址 ...

  8. Linux根据MAC地址自动设置IP

    Linux根据MAC地址自动设置IP #!/bin/sh #============config============ route_defa=60.12.70.65 addr_ip= link_ma ...

  9. 解决hyerv的linux虚拟机网卡地址重启发生变化的问题

    关于linux的虚拟机,当进行虚拟机copy的时候,由于虚拟机配置文件里面会记录网卡的mac地址,所以导致linux里面记录的网卡地址和实际的会有冲突,这样linux会自动把网卡地址提高. 比如原来是 ...

随机推荐

  1. inPolygonTest学习和C++实现

    大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang 此篇博客实现了判定平面一点是否在给定多边形内部的功能.精确,性能优良,因为只包含加法和乘法运算,效 ...

  2. Ubuntu14.04LST 安装Oracle SQL Developer 4.0.2

    1:Oracle SQL Developer 4.0.2下载链接: http://www.oracle.com/technetwork/developer-tools/sql-developer/do ...

  3. USB系列之六:基于DOSUSB的简单U盘驱动程序

    首先要说明的是,该驱动程序仅实现了部分块设备的功能,如果作为成品软件使用,会感觉性能比较差,而且有些功能(比如FORMAT)是不能完成的,发表此驱动程序的目的旨在说明USB的编程原理以及DOS下驱动程 ...

  4. Unix/Linux环境C编程入门教程(38) shell命令进阶演示

     1.w命令 该命令也可以查看登录当前系统的用户信息.与who命令相比,w命令的功能更强大,它不但可以显示当前有哪些用户登录到系统,还可以显示这些用户正在进行的操作,并给出更加详细和科学的统计数据 ...

  5. House Robber II 解答

    Question After robbing those houses on that street, the thief has found himself a new place for his ...

  6. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  7. 【转】DynDNS使用随笔

    暂且小结一下: 1.下载编译客户端代码并交叉编译 首先,按照网上提示的步骤,在www.dyndns.com注册了帐号,并申请了域名,绑定了IP; 然后,在站点中找到客户端源码,其中ddclient是p ...

  8. [破解] DRM-内容数据版权加密保护技术学习(中):License预发放实现

    在上一篇文章里实现了对媒体文体的DRM加密,现在一起来实现License的预发放. 所谓预发放就是在播放媒体文件之前先获取到License,License获取成功后,可直接在电脑上进行媒体文件的播放. ...

  9. Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)

    补遗 关于网络接收的软中断负载均衡,已经有了成熟的方案,可是该方案并不特别适合数据包转发,它对server的小包处理非常好.这就是RPS.我针对RPS做了一个patch.提升了其转发效率. 下面是我转 ...

  10. Swift Strings and Characters

    String 是一个有序的字符集合,例如 "hello, world", "albatross".Swift 字符串通过 String 类型来表示,也可以表示为 ...