虚拟机桥接网络及免安装部署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 ~]#
至此,免安装系统发布完毕
引用: