一.安裝KVM
1.安裝KVM工具包
[root@centos7 ~]# yum -y install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-install
[root@centos7 ~]# systemctl enable --now libvirtd
[root@centos7 ~]# ip a
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 forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:6a:7e:b8 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe6a:7eb8/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:0f:d9:91 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 DOWN group default qlen 1000
link/ether 52:54:00:0f:d9:91 brd ff:ff:ff:ff:ff:ff
[root@centos7 ~]# grep -R 192.168.122.1 /etc
/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@centos7 ~]# ll /etc/libvirt/qemu/networks/autostart/default.xml
lrwxrwxrwx 1 root root 14 Apr 11 15:05 /etc/libvirt/qemu/networks/autostart/default.xml -> ../default.xml
[root@centos7 ~]# ll /etc/libvirt/qemu/networks/default.xml
-rw------- 1 root root 576 Apr 11 15:06 /etc/libvirt/qemu/networks/default.xml
[root@centos7 ~]# vim /etc/libvirt/qemu/networks/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh net-edit default
or other application using the libvirt API.
-->
<network>
<name>default</name>
<uuid>da8b956c-4336-4672-b824-b76b50a69405</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:0f:d9:91'/>
<ip address='10.10.10.1' netmask='255.255.255.0'>
<dhcp>
<range start='10.10.10.10' end='10.10.10.254'/>
</dhcp>
</ip>
</network>
:wq
[root@centos7 ~]# systemctl restart libvirtd
[root@centos7 ~]# reboot
2.virt-manager工具使用
設置xshell
安裝Xmanager ,並打開Xmanager - Passive工具
[root@centos7 ~]# virt-manager
3.創建NAT網絡虛擬機
#提前上傳安裝鏡像
[root@centos7 ~]# ll /data/ISOs/CentOS-7-x86_64-Everything-2009.iso
-rw-r--r-- 1 qemu qemu 10200547328 Apr 11 15:27 /data/ISOs/CentOS-7-x86_64-Everything-2009.iso
#創建raw格式磁盤
[root@centos7 ~]# qemu-img create -f raw /var/lib/libvirt/images/hf.raw 10G
Formatting '/var/lib/libvirt/images/hf.raw', fmt=raw size=10737418240
#創建NAT網絡虛擬機
[root@centos7 ~]# virt-install --virt-type kvm --name centos7_hf --memory 1024 --vcpus 2 --cdrom=/data/ISOs/CentOS-7-x86_64-Everything-2009.iso --disk path=/var/lib/libvirt/images/hf.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
centos7 安裝過程這里就不說了
4,創建bridge網絡虛擬機
[root@centos7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
:wq
[root@centos7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=10.0.0.7
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=10.0.0.2
:wq
[root@centos7 ~]# systemctl restart network
[root@centos7 ~]# ip a
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 forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:6a:7e:b8 brd ff:ff:ff:ff:ff:ff
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:0f:d9:91 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.1/24 brd 10.10.10.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:0f:d9:91 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:f8:14:e5 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fef8:14e5/64 scope link
valid_lft forever preferred_lft forever
8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:6a:7e:b8 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 fe80::e83e:4ff:feb3:5031/64 scope link
valid_lft forever preferred_lft forever
[root@centos7 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c296a7eb8 no eth0
virbr0 8000.5254000fd991 yes virbr0-nic
vnet0
#創建qcow2格式磁盤
[root@centos7 ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/hf.qcow2 10G
Formatting '/var/lib/libvirt/images/hf.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off
#創建橋接網絡虛擬機
[root@centos7 ~]# virt-install --virt-type kvm --name centos7_bridge --memory 1024 --vcpus 2 --cdrom=/data/ISOs/CentOS-7-x86_64-Everything-2009.iso --disk path=/var/lib/libvirt/images/hf.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
centos安裝過程這里就不說了
[root@centos7 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c296a7eb8 no eth0
vnet0
vnet1
virbr0 8000.5254000fd991 yes virbr0-nic
[C:\~]$ ssh root@10.0.0.161
[root@10 ~]# systemctl disable firewalld
[root@10 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
:wq
[root@10 ~]# shutdown
通過virt-manager工具,把磁盤和網卡驅動改成virtio
5.克隆虛擬機
[root@centos7 ~]# ll /var/lib/libvirt/images/
total 5341976
-rw------- 1 qemu qemu 1727266816 Apr 11 17:40 hf-clone.qcow2
-rw-r--r-- 1 root root 1768357888 Apr 11 17:37 hf.qcow2
-rw-r--r-- 1 qemu qemu 10737418240 Apr 11 17:38 hf.raw
[C:\~]$ ssh root@10.0.0.163
[root@10 ~]# ip a
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 forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:10:9d:5a brd ff:ff:ff:ff:ff:ff
inet 10.0.0.163/24 brd 10.0.0.255 scope global noprefixroute dynamic eth0
valid_lft 1732sec preferred_lft 1732sec
inet6 fe80::b64:f12f:2fb8:3662/64 scope link noprefixroute
valid_lft forever preferred_lft forever [root@10 ~]# yum -y install httpd
[root@10 ~]# echo "10.0.0.160 web page" > /var/www/html/index.html
[root@10 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@10 ~]# echo "10.0.0.163 web page" > /var/www/html/index.html
6.創建windows虛擬機
#上傳鏡像文件和virtio驅動
[root@centos7 ~]# ll /data/ISOs/
total 13257236
-rw-r--r-- 1 root root 3368962048 Apr 11 18:19 cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1.iso
-rw-r--r-- 1 root root 2949120 Apr 11 18:20 virtio-win-0.1.141_amd64.vfd
#創建磁盤
[root@centos7 ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2 200G
Formatting '/var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2', fmt=qcow2 size=214748364800 encryption=off cluster_size=65536 lazy_refcounts=off
#創建windows虛擬機
[root@centos7 ~]# virt-install --virt-type kvm --name Win_2008_r2-x86_64 --memory 1024 --vcpus=2 --os-type=windows --cdrom=/data/ISOs/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1.iso --disk path=/var/lib/libvirt/images/Windows-2008_r2-x86_64.qcow2,format=qcow2,bus=virtio --disk path=/data/ISOs/virtio-win-0.1.141_amd64.vfd,device=floppy --network bridge=br0,model=virtio --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart
Starting install...
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
注意在這里要加載網卡和磁盤驅動
把這兩個驅動分別加載,不然無法識別磁盤和網卡
windows安裝過程,這里就不說了。