安装
安装工具包,虚拟IO设备、管理虚拟机等工具
yum install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-install
systemctl status libvirtd.service
默认为NAT模式
[root@17 ~]# ifconfig
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:c1:c3:56 txqueuelen 1000 (Ethernet)
RX packets 22 bytes 1968 (1.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 726 (726.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@17 ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 22 packets, 3410 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 15 packets, 3038 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 10 packets, 973 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 10 packets, 973 bytes)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- * * 192.168.122.0/24 224.0.0.0/24
0 0 RETURN all -- * * 192.168.122.0/24 255.255.255.255
0 0 MASQUERADE tcp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE udp -- * * 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
0 0 MASQUERADE all -- * * 192.168.122.0/24 !192.168.122.0/24
查询地址
可通过修改/etc/libvirt/qemu/networks/default.xml,修改该地址
[root@17 ~]# grep -R 192.168.122.1 /etc/libvirt/
/etc/libvirt/qemu/networks/autostart/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>
/etc/libvirt/qemu/networks/default.xml: <ip address='192.168.122.1' netmask='255.255.255.0'>
[root@17 ~]# ll /etc/libvirt/qemu/networks/autostart/default.xml
lrwxrwxrwx 1 root root 14 Nov 2 06:28 /etc/libvirt/qemu/networks/autostart/default.xml -> ../default.xml
配置桥接网络
[root@17 ~]# ll /etc/sysconfig/network-scripts/ifcfg-*0
-rw-r--r-- 1 root root 143 Nov 2 21:03 /etc/sysconfig/network-scripts/ifcfg-br0
-rw-r--r-- 1 root root 253 Nov 2 21:04 /etc/sysconfig/network-scripts/ifcfg-eth0
注释或删除eth0配置文件的IP地址相关配置
[root@17 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
UUID=b1a0546d-7f62-4c44-8c12-1d06441d8b8d
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
#IPADDR=10.0.0.17
#PREFIX=24
#GATEWAY=10.0.0.254
#DNS1=233.5.5.5
#DNS2=114.114.114.114
新建网桥br0,配置文件如下
[root@17 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=10.0.0.17
PREFIX=24
GATEWAY=10.0.0.254
DNS1=233.5.5.5
DNS2=114.114.114.114
systemct restart network
[root@17 ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.17 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::20c:29ff:fe6b:740f prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:6b:74:0f txqueuelen 1000 (Ethernet)
RX packets 23 bytes 1388 (1.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21 bytes 1818 (1.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fed6:99df prefixlen 64 scopeid 0x20<link>
ether fe:54:00:d6:99:df txqueuelen 1000 (Ethernet)
RX packets 28 bytes 3428 (3.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2191 bytes 115582 (112.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@17 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c296b740f no eth0
virbr0 8000.525400c1c356 yes virbr0-nic
vnet0
创建虚拟机
创建qcow2格式磁盘(类似精简置备)
[root@17 ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/n50.qcow2 10G
Formatting '/var/lib/libvirt/images/n50.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
创建虚拟机桥接模式虚拟机(上传镜像到/data/ISOs目录下)
[root@17 ~]#virt-install --virt-type kvm --name centos7_n50 --ram 1024 --vcpus 2 --cdrom=/data/ISOs/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/n50.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
图形化安装
[root@17 ~]# virt-manager
![](https://img2020.cnblogs.com/blog/1765433/202111/1765433-20211106154005063-360961168.png)
![](https://img2020.cnblogs.com/blog/1765433/202111/1765433-20211106153938519-626533124.png)
查看并启动启动虚拟机
[root@17 ~]# virsh list --all
Id Name State
----------------------------------------------------
3 centos7_n50_br running
- centos7_n50 shut off
[root@17 ~]# virsh start centos7_n50_br
Domain centos7_n50_br started
[root@17 ~]# ps aux | grep kvm
root 525 0.0 0.0 0 0 ? S< 22:15 0:00 [kvm-irqfd-clean]
qemu 3541 32.3 10.2 1718428 394800 ? Sl 23:51 0:38 /usr/libexec/qemu-kvm -name centos7_n50_br -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off,dump-guest-core=off -cpu Broadwell-IBRS,+md-clear,+ssbd,-hle,-rtm,+spec-ctrl -m 1024 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 3ea1dc74-086e-46ab-8a43-adc6b4f2dde0 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-3-centos7_n50_br/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -drive file=/var/lib/libvirt/images/n50.qcow2,format=qcow2,if=none,id=drive-ide0-0-0 -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive if=none,id=drive-ide0-0-1,readonly=on -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,fd=27,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:46:49:db,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 0.0.0.0:0 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on
root 3562 0.0 0.0 0 0 ? S 23:51 0:00 [kvm-nx-lpage-re]
root 3567 0.0 0.0 0 0 ? S 23:51 0:00 [kvm-pit/3541]
root 3594 0.0 0.0 112812 964 pts/1 S+ 23:53 0:00 grep --color=auto kvm