虚拟机网卡被重名为cirename0

   在虚拟机挂载多网卡情况下,你在虚拟机上卸载网卡后,再创建新的port挂给虚拟机使用,如果虚拟机不经过重启的话,是不会有任何问题的。但是,如果虚拟机重启了,你可能会发现没有了原来的eth0或者eth1,而多了一个 cirename0 的网卡。这就是cloudinit搞的鬼,在cloudinit的local阶段,好像会记录之前的mac地址,如果发现不一致,就会触发rename_interface。当然你在创建新的port再挂给虚拟机使用时,上去把新的网卡配置文件配置好,比如HWADDR要配置对应的mac地址,可以得到解决。

问题现象

虚拟机实际网卡的对应MAC地址:

eth0 mac地址 fa:16:3e:15:84:55
eth1 mac地址 fa:16:3e:62:a6:a4
  1. $ ip add
  2. 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
  3. link/ether fa:16:3e:15:84:55 brd ff:ff:ff:ff:ff:ff
  4. inet 10.100.43.184/24 brd 10.0.43.255 scope global dynamic eth1
  5. valid_lft 86266sec preferred_lft 86266sec
  6. inet6 fe80::f816:3eff:fe15:8455/64 scope link
  7. valid_lft forever preferred_lft forever
  8. 3: cirename0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
  9. link/ether fa:16:3e:62:a6:a4 brd ff:ff:ff:ff:ff:ff
  10. # 根据以上ip add信息,很明显eth0名字是变了,变为cirename0了。且eth0(cirename0)和eth1的MAC地址也不对应。
解决问题
  1. 1、修改udevs文件, 把网卡对应的MAC地址对应上。
  2. $ cat /etc/udev/rules.d/70-persistent-net.rules
  3. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:16:3e:62:a6:a4", NAME="eth1"
  4. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:16:3e:15:84:55", NAME="eth0"
  5. 2、修改eth0eth1配置文件,这里要把获取IP方式要写成静态和网卡对应MAC地址也要写上。因为后面我们会把cloud-init关掉。
  6. $ cat /etc/sysconfig/network-scripts/ifcfg-eth0
  7. # Created by cloud-init on instance boot automatically, do not edit.
  8. BOOTPROTO=none
  9. IPADDR=10.100.43.184
  10. PREFIX=24
  11. GATEWAY=10.100.43.1
  12. DEVICE=eth0
  13. HWADDR=fa:16:3e:15:84:55 # 一定要配置上MAC
  14. MTU=1500
  15. ONBOOT=yes
  16. STARTMODE=auto
  17. TYPE=Ethernet
  18. USERCTL=no
  19. DEFROUTE=no
  20. $ cat /etc/sysconfig/network-scripts/ifcfg-eth1
  21. # Created by cloud-init on instance boot automatically, do not edit.
  22. BOOTPROTO=none
  23. IPADDR=192.168.100.120
  24. PREFIX=24
  25. GATEWAY=192.168.100.1
  26. DEVICE=eth1
  27. HWADDR=fa:16:3e:62:a6:a4 # 一定要配置上MAC
  28. MTU=1500
  29. ONBOOT=yes
  30. STARTMODE=auto
  31. TYPE=Ethernet
  32. USERCTL=no
  33. DEFROUTE=yes
  34. 3、关闭cloud-init相关服务和重新reset网卡名,然后reboot主机
  35. $ systemctl disable cloud-init.service cloud-init-local.service cloud-final.service cloud-config.service
  36. # 本环境遇到的是eth0网卡名变为cirename0,其它环境具体问题具体修改网卡。
  37. $ ip link set cirename0 name eth0
  38. $ reboot
参考文献

github iswbm

openstack 虚拟机网卡被重名为cirename0的更多相关文章

  1. OpenStack虚拟机快照和增量备份实现

    1 快照的概念一般对快照的理解就是能够将系统还原到某个瞬间,这就是快照的作用.快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬盘的数据.快照针对保存方式又 ...

  2. 034-openstack中虚拟机启动后主机名设置问题

    openstack中虚拟机启动后主机名设置问题,在centos7中设置hostname后怎么都是原来的hostname,根本无效. 方法一: 在centos7中除了修改hosts文件和network文 ...

  3. OpenStack虚拟机网络问题

    当发现你的OpenStack虚拟机网络有问题,不妨先试一下这16个步骤   1. Security Group全部打开,这是最基本的,但是很多人容易忘记 其实遇到过无数这种场景了,Debug了半天网络 ...

  4. 当Azure里的虚拟机网卡被禁用

    当Azure里的虚拟机网卡被禁用了之后…… 这样的想法来自于一个假设,如果网卡被禁用之后,用户该如何处理,Azure又该如何处理,对于设置在虚拟机中的禁用网卡选项是否还有存在的意义?通常情况下,点选了 ...

  5. vmware克隆Centos6.7虚拟机网卡无法启动问题

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  6. OpenStack虚拟机冷迁移与热迁移

    一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...

  7. vmware克隆Centos6.4虚拟机网卡无法启动问题

    vmware克隆Centos6.4虚拟机网卡无法启动问题                 2014-02-26 16:44:54 标签:老男孩培训 vmware克隆问题 网卡无法启动          ...

  8. (转)vmware克隆Centos6.4虚拟机网卡无法启动问题

    vmware克隆Centos6.4虚拟机网卡无法启动问题 原文:http://blog.51cto.com/oldboy/1363853 快速处理办法: cat /etc/sysconfig/netw ...

  9. VirtualBox 安装CentOS虚拟机网卡配置

    VirtualBox虚拟机网络设置(NAT+HOST-ONLY) 目标: 虚拟机可以像宿主机一样访问互联网和其他主机 宿主机和虚拟机可以相互访问 使用NAT实现目标一 使用Host-Only实现目标二 ...

随机推荐

  1. 安卓导航抽屉 Navigation Drawer 实现沉浸通知栏

    在使用 Navigation Drawer Activity 模版的时候,遇到了通知栏无法完全沉浸的问题,尝试搜索一些现有的解决方法,但是或多或少都会存在一些问题,通过反复尝试找到找到了一种比较靠谱的 ...

  2. range内部代码

    def my_range(a, b=None, c=1): if not b: b = a a = 0 while a < b: yield a a += c

  3. SpringBoot项目使用jasypt加解密

    Jasypt 是一个 Java 库,它允许开发者以最小的努力为他 / 她的项目添加基本的加密功能,而且不需要对密码学的工作原理有深刻的了解. 一.添加依赖 <dependency> < ...

  4. Redis设计与实现3.1:主从复制

    主从复制 这是<Redis设计与实现>系列的文章,系列导航:Redis设计与实现笔记 SLAVEOF 新旧复制功能 旧版复制功能 旧版复制功能的实现为 同步 和 命令传播: 当刚连上Mas ...

  5. MAUI候选版本3发布啦

    我们很高兴发布.NET 多平台应用程序UI (.NET MAUI) 候选版本3,这个版本包含一系列新的改进.与以前的候选版本一样,RC3 包含在"上线"支持政策中,这意味着Micr ...

  6. arts-week14

    Algorithm 923. 3Sum With Multiplicity - LeetCode Review Building a network attached storage device w ...

  7. Python技法:用argparse模块解析命令行选项

    1. 用argparse模块解析命令行选项 我们在上一篇博客<Linux:可执行程序的Shell传参格式规范>中介绍了Linux系统Shell命令行下可执行程序应该遵守的传参规范(包括了各 ...

  8. 从零搭建Pytorch模型教程(四)编写训练过程--参数解析

    ​  前言 训练过程主要是指编写train.py文件,其中包括参数的解析.训练日志的配置.设置随机数种子.classdataset的初始化.网络的初始化.学习率的设置.损失函数的设置.优化方式的设置. ...

  9. JavaDoc——JavaSE基础

    JavaDoc 文档注释内容的含义 @author // 作者 @version // 版本 @since // 最早支持的Java版本 @param // 接收的参数 @return // 返回值 ...

  10. tensorflow版本的bert模型 GPU的占用率为100%而其利用率为0%

    Notice: 本方法只是解决问题的一种可能,不一定百分百适用,出现这个问题还有很多其他原因,这个可以作为解决的一种尝试!!! 经过检查发现,是由于激活环境的原因 使用 conda activate ...