例子:配置被克隆rhel6客户机的网卡

rhel6的网卡是通过udev规则来进行命名
每个网卡都有不一样的mac
udev规则是根据网卡的mac来进行识别
克隆出来的客户机,为了遵守每个网卡的mac都是全球唯一的准则,所以克隆之后的新客户机的网卡mac地址肯定发生变化

结果:克隆出来的客户机,网卡的编号会延后
原来的客户机如果网卡eth0和eth1,克隆之后 eth2(<--eth0)和eth3(<--eth1)

假设被克隆的机器原来有两个网卡,并且自动命名为eth0,eth1

eth0 14:da:e9:eb:a9:61
eth1 14:da:e9:eb:a3:22

克隆之后的虚拟机也会有两个网卡,只是命名为eth2和eth3

eth2 14:da:e9:eb:bb:28
eth3 14:da:e9:eb:cc:56

编辑克隆后的虚拟机的配置文件:
把无效的网卡命名规则删除
把新克隆生成的有效网卡重命名
# vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:a9:61", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:a3:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
前面两个定义规则就是原来的虚拟机的网卡的命名,但是在克隆的机器里已经不存在这两个网卡,但是他们还是占用了eth0,eth1的命名,所以需要把他们删除

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:bb:28", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:cc:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
最后两个网卡是克隆后的机器的网卡的命名,根据规则他们被命名为eth2 和 eth3

# cat /etc/udev/rules.d/70-persistent-net.rules

编辑后应该是这样的: (把上面的配置文件的第1,2条删除,把第3,4条的规则中的网卡名字分别修改成eth0,eth1)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:bb:28", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="14:da:e9:eb:cc:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=14:da:e9:eb:bb:28 把配置文件中的mac修改成/etc/udev/rules.d/70-persistent-net.rules 文件中eth0的网卡的MAC

# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
HWADDR=14:da:e9:eb:cc:56 把配置文件中的mac修改成/etc/udev/rules.d/70-persistent-net.rules 文件中eth1的网卡的MAC

# service network stop
# start_udev
# service network start

kvm虚拟机配置被克隆rhel6客户机的网卡的更多相关文章

  1. CentOS 6.9下KVM虚拟机通过virt-clone克隆虚拟机(转)

    一.virt-clone概述 1.virt-clone作用简介 virt-clone主要是用来克隆kvm虚拟机,并且通过Options.General Option.Storage Configura ...

  2. 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接

    如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40   评论: 3 收藏: 3 当你 ...

  3. KVM虚拟机配置笔记

    KVM 全称是 Kernel-Based Virtual Machine.也就是说 KVM 是基于 Linux 内核实现的,KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存. 在 ...

  4. KVM虚拟机配置

    KVM 全称是 Kernel-Based Virtual Machine.也就是说 KVM 是基于 Linux 内核实现的,KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存. 在 ...

  5. 正向代理 forward proxy、反向代理 reverse proxy、透明代理 transparent proxy nginx反向代理原理和配置讲解 防止外部客户机获取内部内容服务器的重定向 URL 缓存命中

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 - Edison Chou - 博客园http://www.cnblogs.com/edisonchou/p/4126742.html 图 ...

  6. kvm虚拟机最佳实践系列1-kvm宿主机准备

    KVM宿主机配置 系统环境:ubuntu16, bond0 业务网口 bond1 管理网口+存储网口 安装KVM环境支持 sudo apt-get install qemu-kvm sudo apt- ...

  7. KVM虚拟机管理——虚拟机克隆

    1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...

  8. 如何配置 Oracle VirtualBox 中的客户机与物理机网络

    当你在 Oracle VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现物理机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux ...

  9. kvm 客户机系统的代码是如何运行的

    一个普通的 Linux 内核有两种执行模式:内核模式(Kenerl)和用户模式 (User).为了支持带有虚拟化功能的 CPU,KVM 向 Linux 内核增加了第三种模式即客户机模式(Guest), ...

随机推荐

  1. ES6的新特性(2)——let 与 const 增强变量声明

    let 与 const 增强变量声明 ES6 新增了let命令,用来声明局部变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效,而且有暂时性死区的约束. 先看个var的常见 ...

  2. python---json.dumps 与 json.loads /json.dump 和json.load区别

    json.dumps 是将python的数据类型进行json的编码,生成json格式的数据,举例json_data = json.dumps(str)  str为python的字符串类型数据,生成的j ...

  3. 作业要求20181113-4 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 02

    作业要求:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2384 版本控制:[https://git.coding.net/lglr201 ...

  4. 四则运算2+psp0

    程序要求: 1.题目避免重复 2.可定制(数量\打印方式) 3.可以一下控制参数 ① 是否有乘除法 ② 是否有括号(最多支持十个数参与运算) ③ 数值范围 ④加减有无负数 ⑤除法有无余数 分析:① 如 ...

  5. 记录 C++ STL 中 一些好用的函数--持续更新 (for_each,transform,count_if,find_if)

    在日常的编程中,有这么几种操作还是比较常见的: 把一组数据都赋值成一个数,在一组数据中查找一个数,统计一组数据中符合条件的数等等. 一般的写法可以用循环,没有什么是循环不能搞定的.假如在这里怎么用介绍 ...

  6. Alpha冲刺——第九天

    Alpha第九天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...

  7. C#控制台应用程序

    使用C#创建控制台应用程序的基本步骤: (1)创建项目: (2)编辑C#源代码: (3)编译运行: 例题:在控制台输出“Hello world!”. 第一步:文件→新建→项目:选择“项目类型”为Vis ...

  8. Jquery获取属性值

    jq获取某个标签内的属性值:$("#TeamPerformanceYearUl li:eq(0)").attr('data') jq获取li或者td第一个属性(索引值从零开始)$( ...

  9. tftp 简要使用说明

    yum 安装:tftp    tftp-server (2)启动tftp   CentOS 6 service xinetd restart chkconfig tftp on     CentOS ...

  10. 6/2 sprint2 看板和燃尽图的更新