37.第31章 企業級KVM虛擬化


一.安裝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安裝過程,這里就不說了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM