有些用户在使用 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 地址才会发生变化。

总结

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

1. 重启虚拟机

2. 升级到大尺寸虚拟机(resize)

3. 降级到小尺寸虚拟机(resize)

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

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

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

关于vNet 中的虚拟机测试,有兴趣的同学可以点击这里查看

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

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

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

  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. UWP平台Taglib编译(1)

    此文已由作者郑博授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 最近开始开发UWP平台的App,项目需要用到Taglib进行音视频文件的标签信息读写,Google并没有现成的B ...

  2. HTML5QQ登录cav demo

    <!DOCTYPE html> <head>    <meta http-equiv="Content-Type" content="tex ...

  3. leecode刷题(14)-- 有效的字母异位词

    leecode刷题(14)-- 有效的字母异位词 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = " ...

  4. Logstash IIS日志采集

    Logstash IIS 日志采集,跟Linux上运行差不多,都需要java运行环境,装个jdk就好了,对于IIS日志暂时未处理X-forward-for,纠结怎么弄当中,貌似要装个插件,慢慢研究. ...

  5. ios处理键盘的大小

    iOS的键盘有几个通知 UIKeyboardWillShowNotification UIKeyboardDidShowNotification UIKeyboardWillHideNotificat ...

  6. 1. java 的访问修饰符

    一.什么情况下使用修饰符 属性通常使用private封装起来 方法一般使用public用于被调用 会被子类继承的方法,通常使用protected private protected package p ...

  7. 日志一直打印 DEBUG o.s.amqp.rabbit.listener.BlockingQueueConsumer

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <logger na ...

  8. 主流服务器虚拟化技术简单使用——Xen(二)

    管理多台Xen主机可以使用GUI工具virt-manager和xm.xl等命令行工具. Tips:hypervisor一定要选到Xen web管理工具 Xen也有一个简易web管理工具叫xenwebm ...

  9. python函数超时情况应对总结

    最近处理一个线程中的函数超时问题. 函数里面有一个地方可能会卡死,我们需要去判断这个是不是卡死了,并做出相应的应对方案. 最开始想的是在函数上增加一个装饰器,使其在超时时抛出异常,然后在其他地方捕获这 ...

  10. 初学SSM遇到的BUG

    一.SpringMVC部分 1.参数绑定 1.1简单类型绑定 参数类型推荐使用包装数据类型,因为基础数据类型不可以为null 整形:Integer.int 字符串:String 单精度:Float.f ...