CentOS7之KVM虚拟化(二)

虚拟机桥接网络及免安装部署CentOS7虚机

桥接网络配置

1.宿主机ens33配置

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=a4de24d9-1d93-4212-8943-ec2fcfa33bde
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
#IPADDR=192.168.137.103
#NETMASK=255.255.255.0
#GATEWAY=192.168.137.2
#DNS1=114.114.114.114
#ZONE=

2.宿主机br0网卡配置

PROXY_METHOD=NONE
BROWSER_ONLY=NO
BOOTPROTO=STATIC
DEVICE=br0
IPADDR=192.168.137.103
NETMASK=255.255.255.0
GATEWAY=192.168.137.2
DNS1=114.114.114.114
DEALY=0

3.修改虚拟机vm2配置中的网卡

[root@lsx03-local-kvm ~]# virsh edit vm2
以下部分修改:

4.设置宿主机桥接网络

[root@lsx03-local-kvm ~]# virsh iface-bridge ens33 br0

5.查看宿主机网桥

[root@lsx03-local-kvm vm2]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c2943aa73       no              ens33
                                                        vnet1
virbr0          8000.5254005a55b7       yes             virbr0-nic
                                                        vnet0

免安装发布虚拟机CentOS7

直接下载操作系统的“guest image”并由其直接运行虚拟机

在CentOS官方的下载页面中,找到供Cloud使用的镜像文件,使用wget等命令将其下载到物理机中

wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1907.qcow2.xz

如果没有wget命令,先
yum install -y wget

准备虚拟机的系统盘

[root@lsx03-local-kvm data]# mkdir vm1
[root@lsx03-local-kvm vm1]# cd vm1
[root@lsx03-local-kvm vm1]# xz -d CentOS-7-x86_64-GenericCloud-1907.qcow2.xz 
[root@lsx03-local-kvm vm1]# cp CentOS-7-x86_64-GenericCloud-1907.qcow2 /var/lib/libvirt/images/vm1.qcow2
[root@lsx03-local-kvm vm1]# cd /var/lib/libvirt/images/

需要清空镜像中的root密码

安装工具
yum install -y libguestfs*
清空密码
virt-edit -a /var/lib/libvirt/images/vm1.qcow2 /etc/shadow -e 's/^root:[^:]*:/root::/'

禁用cloud-init服务

guestfish -a ./vm1.qcow2 -i rm '/etc/systemd/system/multi-user.target.wants/cloud-config.service'
guestfish -a ./vm1.qcow2 -i rm '/etc/systemd/system/multi-user.target.wants/cloud-final.service'
guestfish -a ./vm1.qcow2 -i rm '/etc/systemd/system/multi-user.target.wants/cloud-init-local.service'
guestfish -a ./vm1.qcow2 -i rm '/etc/systemd/system/multi-user.target.wants/cloud-init.service'

备注:

在有较新版本cloud-init工具的镜像中,cloud-*.service可能位于'/etc/systemd/system/cloud-init.target.wants/路径下,因此上述命令可能需要一些修改

创建管理虚拟机

回到原/data/vm1路径下

创建vm1.xml文件

<domain type='kvm' id='1'>
  <name>vm1</name>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Broadwell-noTSX-IBRS</model>
  </cpu>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/vm1.qcow2'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='br0'/>    此处需修改为桥接模式,注意!
      <target dev='vnet0'/>
      <model type='virtio'/>
    </interface>
    <console type='pty' tty='/dev/pts/5'>
      <source path='/dev/pts/5'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
  </devices>
</domain>

创建虚拟机vm1

[root@lsx03-local-kvm vm1]# virsh define vm1.xml 
定义域 vm1(从 vm1.xml)
[root@lsx03-local-kvm vm2]# virsh start vm1 
域 vm1 已开始

[root@lsx03-local-kvm vm2]# virsh console vm1
连接到域 vm1
换码符为 ^]
[ 42.814527] random: crng init done
CentOS Linux 7 (Core)
Kernel 3.10.0-957.27.2.el7.x86_64 on an x86_64
localhost login: root
[root@localhost ~]# 
[root@localhost ~]#

 至此,免安装系统发布完毕

 引用:

https://blog.csdn.net/sch0120/article/details/83508879

https://www.cnblogs.com/clsn/p/8366251.html#auto_id_21

原文地址:https://www.cnblogs.com/JiaoTou/p/11351026.html