Azure 上 Linux 虚拟机 Mac 地址的持久化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure 上 Linux 虚拟机 Mac 地址的持久化相关的知识,希望对你有一定的参考价值。
有些用户在使用 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 地址的持久化的主要内容,如果未能解决你的问题,请参考以下文章
Windows Azure Virtual Machine (34) 保护Azure虚拟机