KVM 虚拟化

本文围绕KVM虚拟化展开,介绍了虚拟化产品,详细阐述KVM虚拟化软件的安装、内部虚拟机新建方法。探讨宿主机、外虚拟机和内虚拟机间的访问约束,包括访问途径、生命周期管理等。还涉及虚拟机磁盘格式转换、快照与克隆管理,以及内虚拟机的硬件热添加、硬盘操作和KVM的图形化与网络管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kvm虚拟化

Kvm的安装、KVM下的虚拟机安装和相互访问约束

推荐下载TightVNC
也可以使用 VNCSever


一、虚拟化产品介绍

linux类的虚拟化软件:

  • qemu,软件纯模拟全虚拟化软件,特别慢!
  • xen(半),性能特别好,需要使用专门修改之后的内核
  • KVM,全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核

二、KVM虚拟化软件的安装和内部虚拟机的新建

(以下命令行操作,均在宿主机上利用VMnet8的虚拟网卡,打开Xshell后,sshroot@内部虚拟机IP后,远程登陆到内部虚拟机上来完成)
ssh登录架构图

  1. 先查看是否开启硬件辅助虚拟化功能
    在终端执行cat /proc/cpuinfo命令,找到flags部分,如果其中输出有vMX或SVM,即表明支持虚拟化技术。
root@kvm-node1# cat /proc/cpuinfo | grep vmx
##(for Intel CPU)
root@kvm-node1l#cat /proc/cpuinfo | grep svm
##( for AMD CPU)
root@kvm-node1#lscpu
  • 若没有,请将虚拟机的设置中,把 cpu的虚拟化Intel或Amd芯片启用。
  1. 关闭防火墙
root@kvm-node1 # systemctl stop firewalld
root@kvm-node1 # systemctl disable firewalld3.     #关闭Selinux
  1. 关闭 SELINUX
vim /etc/selinux/config
  • SELINUX=enforcing 改为SELINUX=disabled:wq!保存后退出
  1. 开启路由转发功能,否则新建默认Nat模式的 kvm 虚拟机,不能借助宿主机(外虚拟机)的两块网卡进行数据转发,也不能访问外网。
  • 临时生效: echo"1" >/proc/sys/net/ipv4/ip_forward或sysctl -wnet.ipv4.ip_forward=1
  • 永久生效:vim proc/sys/net/ipv4/ip_forward,改为1,sysctl-p
  1. 安装kvm 的包,需要修改Centos 的源,最好是光盘源,建议采用阿里云镜像的基础源和扩展epel源,同时要更新源 yum clean all && yum makecache
  • libvirt —— 作用是提供相关库文件或api接口
    virt-manager,virt-install,virt-clone —— 作用是虚拟机各种管理
    qemu-kvm —— 作用是 kvm模拟器
yum install libvirt* virt-* qemu-kvm* -y
systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service
  1. 准备在虚拟机 Centos7.6(外)中,利用KVM虚拟化技术新建一个内部的虚拟机Centor7.6
    (地址是KVM中的dhcp分配,默认在192.168.122.X这个地址段内)。
    宿主机中三层架构的内虚拟机结构

(1)在宿主机上完成分发软件TightVNC或者VNC Viewer 4.exe的安装

注意只装客户端,暂时不需要装服务器端。

(2)提前做好准备工作,需要把安装内部虚拟机的ISO包,提前拷贝到外虚拟机 Centos7(外)的某个目录中,假设为/opt。

cd/opt      #建议su切换到root用户,拷贝到opt目录里
pwd         #用xshell工具最上一栏中自带的Xftp 工具完成,用xftp工具把宿主机硬盘上的CentOS-7-x86_64-DVD-1810.iso拷贝传输到宿主机 Centos7的当前目录/opt。
ls —ial     #查看CentOS-7-x86_64-DVD-1810.iso是否完整落在/opt目录内

(3)利用安装好KVM以后的virt命令新建一个虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name INCentos7 --memory 2048 --vcpus 2 --disk /opt/INCentos7.raw,format=raw,size=5 --cdrom/opt/CentOS-7-x86_64-DVD-1810.iso --network networK=default --graphics vnc,listen=0.0.0.0 --noautoconsole

注意:

  1. 这条命令中新建虚拟机的磁盘为raw格式,raw为原始数据格式,它不支持做快照,但访问性能好。其他磁盘格式如qcow2为压缩的支持快照,虚拟机的磁盘可以在后期进行转换。
  2. 这条命令按下回车健以后,请马上在宿主机 Win10上打开VNC View4软件的客户端,输入10.0.0.200:0进入KVM的内部虚拟机 Centos7的安装界面,因为是内部虚拟机仅仅做一些简要测试,在安装过在中找们选择最小化安装,以便减少硬盘的磁盘空间,网卡etho生效且地址建议自动获取,默认地址段在192.168.122.x(后续测试要用),安装后需要点击reboot,可能会失去vnc连接。
    在外虚拟机Centos7 的shell中输入virsh list -all,继续输入virsh start
    INCentos7,重新启动内虚拟机。在宿主机上继续用VNC客户端输入10.0.0.200测试连通后,以root 登陆后输入 ip addr进入内虚拟机,以root登录后输入ip addr查看ip地址,ping 10.0.0.200测试连通后,输入 shutdown -h now把内部虚拟机关闭;然后在外部虚拟机上也输入shutdown -h now把外部虚拟机关闭,在宿主机的VMware workstation中新建一个快照,取名为“kvm已装,并含一个Centos内虚拟机”。
  3. kvm的虚拟机管理的两个文件,结构简单,
    虚拟机的磁盘文件
    (/opt/centos7.raw,可以用ll -hdu -smh *来查看大小)
    也称为虚拟机的镜像文件,其存放位置、名称、磁盘类型可以自定义。可用du - sh或ls - lh或者用qemu-img info查看该磁盘文件的详细信息。
    默认的配置文件
    放在/etc/libvirt/qemu/目录下的虚拟机名.xml文件中。
    是系统自动产生并存储在固定路径下,有xml文件前提下,我们可以用virsh list - all命令查看到有虚拟机存在。

建议虚拟机名字和磁盘文件的取名要保持一致。

三、宿主机、外虚拟机Centos7和内虚拟机 Centos7之间的相互访问约束

研究下网络结构:

  1. 物理机有一块物理网卡(有线或无线),二块虚拟网卡,其中 vmware8虚拟网卡地址是10.0.0.1,可以直接访问外虚拟机 Centor7的ens33网卡10.0.0.200;
  2. 外虚拟机有一块ens33网卡,还有一块 Virbro-NIC的虚拟网卡桥接到KVM网桥ip默认为192.168.122.1,可以直接访问内虚拟机 Centos7的 eth0 网卡;
  3. 内虚拟机有一块eth0网卡,IP地址默认为192.168.122.100(最后字节随机)。
    网络结构

(一)宿主机访问最里面内虚拟机的两种途径方法:

方法1:
宿主机xshell里ssh root@10.0.0.200,先登录进外虚拟机 OutCentos7,然后再OutCentos7里面的/bin/bash中输入shell命令, ssh root@192.168.122.100,可登录到最里面的内虚拟机;
方法2:
在宿主机上通过VNC 软件的客户端进行连接,外虚拟机 Centos7(IP为10.0.0.200),里面第一台内虚拟机的编号为0,在VWC中输入10.0.0.200:0,即可进入到第一个内虚拟机 Centos7中;

(二)KVM虚拟机生命周期管理

(假设虚拟机取名为vmname)
(1)查看所有虚拟机的状态: virsh list --all
(2)查看虚拟机的信息: virsh dominfo vmname
(3)手动启动虚拟机: virsh start vmname
(4)手动关闭虚拟机: virsh shutdown vmname
(5)挂起(暂停)虚拟机:virsh suspend vmname
(6)恢复挂起虚拟机: virsh resume vmname
(7)断电关闭虚拟机(野蛮,轻易不要用): virsh destroy vmname
(8〉开启启动虚拟机: virsh autostart vmname
(9)取消开机启动虚拟机:virsh autostart --disable vmname
(10)编辑虚拟机的配置文件(位于/etc/libvirt/qemu):
方法1 virsh edit vmname ,这种编辑方法操作比较安全;
方法2vim /etc/libvirt/qemu/vmname.xml,这种编辑方法不推荐;
(11)导出(备份)虚拟机的配置文件: bashvirsh dumpxml vmname >/home/vpsback/vmname.xml
(12)删除虚拟机(前提是虚拟机先关闭)
删除之前先做虚拟机的备份:
(1)virsh dumpxml xmname > /opt/xmname.xml
(2)cp /opt/xmname.raw /opt/xmname.raw.bak
方法1:virsh undefine vmname
删除虚拟机 vmname 的配置文件,默认存储在/etc/libvirt/qemu/vmname.xml
删除以后虚拟机在虚拟机管理器里面查不到了。但是虚拟机的磁盘文件仍然存在。
方法2:virsh undefine vmname --storage /opt/vmname. raw
//删除虚拟机,并同时删除虚拟机的所有磁盘文件,这个命令要慎用!

(三)虚拟机磁盘的格式转换

虚拟机磁盘一般有RAWQCOW2两种格式,有各自的应用场景:

  • RAW格式,裸格式,访问性能好,但是它占空间大,对于RAW格式的磁盘文件的不同主机之间的拷贝时间会很长(例如你分配10G大小的raw格式文件,实际占用1.3G,但文件拷贝给其他主机,仍然是10G大小),对RAW格式的磁盘文件进行压缩的时间会很长,不支持快照;类似于我们用数码相机拍视频,默认avi格式的存储。
  • QCOW2格式,磁盘存储采用稀疏文件(硬盘中没有数据的扇区不写入),支持快照,在存储和传输中有优势,但访问性能较差;类似于我们数码相机中mp4格式的视频。

虚拟机的磁盘格式转换的具体命令:

  1. 关闭虚拟机,virsh shutdown vmname,或virsh destroy vmname
  2. 尝试做快照,提示失败。virsh snapshot-create vmname
  3. 切换到虚拟机的磁盘目录下,进行转换磁盘格式
    qemu-img convert -f raw -0 qcow2 实际磁盘名.raw 实际磁盘名.qcow2
  4. 查看两个文件大小,ll -hdu -smh,或qemu-img info 实际磁盘名.qcow2
  5. 若要启动带qcow2的虚拟机,必须修改在原来的配置文件进行编辑,/disk两处地方修改raw改为qcow2后保存。
  6. 把之前的raw文件重命名做备份: mv 实际磁盘名.raw 实际磁盘名.raw.bak
  7. 重新启动qcow2格式的虚拟机: virsh start vmname
  8. 允许新建一个虚拟机快照:virsh snapshot-create vmname

(四)虚拟机的快照管理(磁盘格式必须是qcow2)

(1)先启动磁盘为qcow2格式的虚拟机,virsh start vmname,查看现有应用。
(2)关闭内虚拟机,新建一个虚拟机快照, virsh snapshot-create vmname
virsh snapshot-list vmname查看快照信息,有一个快照id号
(3)再启动内虚拟机,做一些厉害的破坏工作例如rm -rf /lib64/*,虚拟机的环境遭到野蛮的破坏无法正常使用,发现大多数的外部命令例如mv,cp, ps -ef都不能执行,只有内部命令ls或pwd可用,系统已搞崩溃,幸亏我们之前存有快照。
(4)利用之前的快照进行恢复,virsh snapshot-revert vmname 快照ID号,重新启动虚拟机查看效果,然后在虚拟机上新增一些应用,例如yum install httpd php php-cli -y等,关闭虚拟机,再新建一个虚拟机快照,virsh snapshot-create vmname,这时候我们用virsh snapshot-list查看会有两个快照信息。

(五)虚拟机的克隆管理(磁盘格式必须是qcow2)

(1)自动克隆(当前VM必须处于关机状态)

virsh shutdown vmname
virt-clone --auto-clone -o vmname -n autonew-vmname
virsh list --all
virsh start autonew-vmname
  • 通过edit配置文档,我们发现原虚拟机和clone后的虚拟机的uuid,mac都是不一样,但是ip地址是一样的。建议登录一个虚拟机后, Shell输入dhclient -r//释放ip, Shell输入dhclient//重新获取一个新的ip。或者直接修改网卡配置文件修改一个新IP地址。

(2)手工克隆(当前VM必须处于关机状态)

  1. 进入虚拟机的磁盘目录,复制vmname的虚拟机磁盘文件另存为handclone-vmname
cp vmname.qcow2 handclone-vmname.qcow2
  1. 备份vmname的虚拟机配置文件,另存为handclone-vmname
virsh dumpxml vmname > handclone-vmname. xml
  1. vim修改handnew一vmname 的虚拟机配置文件
  • 修改name,删除mac address,修改uuid, disk虚拟机磁盘路径,其中新的uuid可以用宿主机 uuidgen自动生成
  1. 导入handclone-vmname。
virsh define handclone-vmname.xml
virsh list --all

KVM 的管控——内虚拟机的硬件热添加,硬盘分区格式化挂载和扩容等

(一)内虚拟机的硬盘热添加

在外虚拟机中先看看内虚拟机的硬盘概况

virsh start INCentos7      #启动虚拟机机,热添加就是虚拟机

可以是在正常工作状态下,添加或拔出某些硬件。

virsh dominfo INCentos7    #看看内虚拟机的整体大概
virsh domblklist INCentos7    #看看内虚拟机的硬盘情况
cd /opt
ls -lh INCentos7.qcow2      #查看磁盘文件的空间预留大小
du -sh INCentos7.qcow2        #查看磁盘文件的实际占用大小
  • 当内虚拟机的存储容量不够,我们可以通过以下方法来热添加一块新硬盘:
  • 在外虚拟机中先新建一个新磁盘文件,作为内虚拟机的第二块硬盘。
    (1)qemu-img create -f qcow2 /opt/add01_INCentos7.qcow2 3G
    将新生成的add01_INCentos7.qcow2磁盘添加到虚拟机INCentos7,并作为虚拟机的第二块磁盘 vdb ( virtual disk b),指定磁盘类型为qcow2,并且保存到配置文件中(内虚拟机重启后第二块磁盘还能识别)
    (2) virsh attach-disk INCentos7 /opt/add01_INCentos7.qcow2 vdb --subdriver=qcow2 --persistent
virsh domblklist INCentos7      #看看内虚拟机的硬盘情况,应该会有第二块硬盘vdb出现

进入内虚拟机有两种方法:
方法1: Win10客户端 vnc登陆到内虚拟机后,ip addr查看内虚拟机 ip;
方法2: 外虚拟机 ssh root@内虚拟机 ip,登陆到内虚拟机,推荐使用。
(二)在内虚拟机中,对新挂载的硬盘进行分区、格式化和挂载等操作
以下均在内虚拟上执行的操作:

lsblk    #查看新的磁盘情况
fdisk -l    #查看当下的硬盘分区情况
fdisk /dev/vdb     #对扩充的新硬盘进行分区,如何分区是一个知识点。
  • 以win7操作系统的硬盘分区为例,主分区(系统至少一个主分区存放root,最多4个主分区),扩展分区(只有一个扩展分区,不能直接格式化不能分配给用户),逻辑分区(在扩展分区里再根据需要创建多个逻辑分区)。

对于热添加硬盘的Linux首次分区,我建议大家把这个硬盘全部用完,依次键入n,p,1,回车,回车, w

partprobe /dev/vdb       #使新建分区生效
fdisk -l                        #查看内虚拟机目前的分区情况
fdisk -l /dev/vdb         #查看新硬盘的分区情况
mkfs.xfs /dev/vdb1      #对新建的分区vdb1进行格式化
mkdir /seconddisk-partition        #新建一个挂载目录
mount /dev/vdb1 /seconddisk-partition      #通过挂载点/seconddisk-partition将分区/dev/vdb1挂载上
df -h                     #显示内虚拟机所有硬盘的分区情况
touch /seconddisk-partition/test.txt
echo “1234” > /seconddisk-partition/test.txt
cat /seconddisk-partition/test.txt         #测试新硬盘的分区能否读写文件

当然,我们还可以对第二块硬盘不采取分区,而是直接对第二块磁盘进行格式化后挂载使用,这种方法可用于第二块磁盘的扩容
再现有的环境下,进入内虚拟机后:
(1) umount /seconddisk-partition #先脱载
此时若发现有挂载卸载不掉(卸载磁盘有进程在操作),提示有umount target is busy,可按以下多种方法操作:
方法1: 使用fuser和 kill命令

yum install psmisc       #安装fuser命令
fuser -mv /seconddisk-partition      #查看目前正在使用的进程
kill -g 进程号      #会退出当shell,新开shell再查看
fuser -mv /seconddisk-partition   #查看目前是否还有使用的进程
umount/seconddisk-partition      #完成脱载

方法2: 使用lsof命令处理

lsof /seconddisk-partition       #查看pid对应的进程号
kill -g 具体进程号           #杀死对应的进程号
umount /seconddisk-partition      #完成脱载

方法3: 内虚拟机重新启动(之前是手工挂载,重启后会自动失效)
(2)fdisk /dev/vdb
依次键入d,w 删除分区
(3)fdisk - /dev/vdb #查看硬盘的分区,应该是没有了
(4)mkfs.xfs -f /dev/vdb #不分区,整个磁盘进行格式化
(5)mkdir /seconddisk-full
(6)mount /dev/vdb/seconddisk-full #挂载整个磁盘
(7)df -h或者fdisk -l #查看磁盘容量或分区
( 8 ) touch /seconddisk-full/test.txt && echo “5678" > /seconddisk-full/test.txt && cat /seconddisk-full/test.txt #测试文件进行读写(同上)

(三)对新挂载的硬盘进行扩容

  • 当前存储是第一块硬盘是INCentos7.qcow2最大容量是5G,
  • 第二块硬盘是add01_INCentos7.qcow2最大容量是3G。
  • 两块硬盘的容量一共是8G。现在内虚拟机的存储容量用着用着还是不够,需要对第二块硬盘进行扩容,但扩容的前提是第二块硬盘事先不能分区,添加成功后直接格式化并且挂载使用,下面实验就是基于此种环境下的扩容操作。
    进入内虚拟机后:
    (1)umount /seconddisk-full #先脱载
    进入外虚拟机后:
    (2)virsh detach-disk INCentos7 vdb --persistent #移除第二块硬盘
    (3) qemu-img resize /opt/add01_INCentos7.qcow2 +4G #扩容新增加4G(总容量为7G),注意如果没有+号是至扩容到4G(总容量为4G)
    (4) virsh attach-disk IlNCentos7 /opt/add01_INCentos7.qcow2 vdb --subdriver qcow2 --persistent #添加硬盘至虚拟机上
    切换进入内虚拟机后:
    (5) mount /dev/vdb /seconddisk-full #重新挂载分区
    (6) xfs_growfs /dev/vdb #扩展磁盘大小,若ext文件系统采用resize2fs /dev/vdb,扩容成功会有信息提示
    (7)df-Th #查看硬盘是否成功扩容至7G 了
    (8) touch /seconddisk-full/class.txt && echo “abcd" > /seconddisk-full/class.txt && cat /seconddisk-full/class.txt #测试文件进行读写(同上)

(二)KVM的管控—图形可视化管理+网络管理

(一)KVM图形化管理

之前我们安装KVM,通常需要三个包:

  1. qemu-kvm软件包,主要提供KVM模拟器;
  2. libvirt包,主要提供相关的库文件或API接口;
  3. virt-manager包,主要提供虚拟机管理;yum install qemu-kvm* libvirt* virt-* -y
  • 之前我们的实验都是基于命令行的方法来管理虚拟机,在实践运维管理中以命令居多,能更好掌握其内在的逻辑关系。但其实KVM虚拟机也是有图形化管理工具,建议在外虚拟机本机上打开kvm的可视化管理工具。
    KVM

(二) KVM的网络管理

KVM 默认的连网方式是NAT,当安装好KVM虚拟机后,就会在宿主机上自动安装一个网桥virbr0(管理ip是192.168.122.1),此网桥会把各个虚拟机连接起来,处在同一个网段(默认是192.168.122.X),并且KVM会修改iptables规则,让连接到此网桥的虚拟机访问外网时做一个网络地址转换NAT。
通常,设置了NAT以后,内网可以主动访问外网,但是外网不能主动访问内网。
KVM虚拟机的 nat网络模式的完整网络架构
在外虚拟机上启动两个内虚拟机以后的ip addr信息

[root@kvmnodel ~]# ip addr
1: lo:〈LOOPBACK,UP,LOWER_UP〉 mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00: 00 brd 00:00: 00:00: 00: 00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft foreverinet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29: 68: ae:lf brd ff:ff:ff:ff:ff: ff
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80: : 9b6d: c6d : 66c3: d42f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0:〈BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00: e6:f8: 4a brd ff: ff:ff:ff: ff: ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic:<BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DWOWNgroup default qlen 1o00
link/ether 52:54:00: e6: f8:4a brd ff:ff:ff:ff:ff:ff
5: vnet0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOonV group default qlen T000
link/ether fe:54:00:8b: b8:b7 brd ff:ff:ff:ff:ff:ffinet6 fe80: : fc54:ff: fe8b: b8b7/64 scope link
valid_lft forever preferred_lft forever
6: vnet1:〈BROADCAST,MULTICAST,UP, LOWER_UP> mtu 1500 qdisc pfifo_fast master virbrl0 state UNKAONN group default qlen 1000
link/ether fe:54:00:9c: 3d: 48 brd ff: ff: ff: ff: ff: ffinet6 fe80: :fc54:ff: fe9c : 3d48/64 scope link
valid_lft forever preferred_lft forever

然而,在很多应用场景中需要kvm内虚拟机和外虚拟机在同一个网段里,那么默认的NAT模式就不合适了,需要从默认的NAT模式切换到桥接Bridge模式。
2.1 在网卡的配置文件目录中,配置生成一个新的配置文件ifcfg-br0。以下操作均在外虚拟机上来完成:

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0
vim ifcfg-br0     #参考下列修改网桥配置后保存
TYPE=bridge
NAME=br0
DEVICE=br0
BOOTPROTO=static
DEFROUTE=yes
IPADDR=10.0.0.200
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=10.0.0.254
DNS2=8.8.8.8
ONBOOT=yes
vim ifcfg-ens33    #参考下列修改网卡配置后保存
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
systemctl restart network       #重启网络
ip addr           #假设当前没有开启任何内虚拟机

外虚拟机上新增一个网桥的网卡信息(假设当前没有开启内虚拟机)

Lroot@kvmnodel network-scripts]# ip addr
1: lo:〈LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft foreverinet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP〉 mtu 1500 qdisc pfifo_fast master br0O state UP group default glen 100
link/ether 00:0c:29: 68:ae:1f brd ff:ff:ff:ff:ff:ff
3: br0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group
default qlen 1000
link/ether 00:0c:29:68:ae:1f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute br0valid_lft forever preferred_lft forever
inet6 fe80::6076:5eff:fede:85b8/64 scope link
valid_lft forever preferred_lft forever
4: virbr0:(NO-CARRIER, BROADCAST,MULTICAST,UP〉 mtu 1500 qdisc noqueue state DOWN group default qlen 1l000
link/ether 52:54:00:e6:f8:4a brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
5: virbr0-nic:<BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DON group default qlen 1000link/ether 52:54:00:e6:f8:4a brd ff:ff:ff:ff:ff: ff

2.2 在外虚拟机上用KVM的可视化管理工具,更改原来INCentos7的网卡模式,从默认的NAT切换为Bridge
修改网卡模式为bridge
查看或修改虚拟机的远程桌面采用VNC 方式
在外虚拟机上启动内虚拟机 INCentos7后,登录或进入内虚拟机 INCentos7后,先查看内虚拟机INCentos7的网卡配置文件,

vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"

先确保内虚拟机的网卡配置文件是DHCP的分配方式,然后内虚拟机上ip addr
查看内虚拟机的IP是10.0.0.*的地址段地址并且可以ping通114.114.114.114,而且和宿主机(外虚拟机)在同一个网段,和宿主机(外虚拟机)连接到同一个网桥上了,同时再修改虚拟机 autoclone-INCentos7的网卡模式从NAT到 bridge,查看实验情况。
至此,桥接模式的kvm虚拟机已配置完成,最后我们来看看桥接KVM虚拟机的整体网络架构图。
KVM虚拟机的网桥bridge模式的整体网络架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值