KVM虚拟化

KVM虚拟化

首先说一下虚拟化是什么

  • 虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,每个逻辑系统都是独立的存在,这样就可以充分利用物理硬件的资源,而且还可以自由分配资源。
  • 虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
  • 虚拟化技术起源于20世纪60年代末,美国IBM公司当时开发了一套被称作虚拟机监视器(Virtual Machine Monitor)的软件,该软件作为计算机硬件层上面的一层软件抽象层,将计算机硬件虚拟分区成一个或多个虚拟机,并提供多用户对大型计算机的同时、交互访问。

在centos7上安装KVM
我们需要配置一台centos7的虚拟机,配置如下
KVM虚拟化_第1张图片
进入系统后,我们关闭防火墙,和selinux 检查cpu是否支持虚拟化

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce 
Disabled
[root@localhost ~]# grep -Ei 'vmx|svm' /proc/cpuinfo

如果有过滤出来的VMX和SVM的关键字证明就是支持虚拟化
格式化新磁盘,挂载到/dev/data,路径自定义

[root@localhost ~]# fdisk -l |grep Disk
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk label type: dos
Disk identifier: 0x000f0eb3
Disk /dev/mapper/centos-root: 19.8 GB, 19826475008 bytes, 38723584 sectors
Disk /dev/mapper/centos-swap: 1073 MB, 1073741824 bytes, 2097152 sectors
[root@localhost ~]# mkfs.ext4 /dev/sda  # 会有询问,输入y即可
[root@localhost ~]# blkid /dev/sda  # 检查是否已格式化
/dev/sdb: UUID="5a7cf162-f8f3-4d02-ad72-17bde010efc8" TYPE="ext4" 
[root@localhost ~]# mkdir /kvm_data  # 创建挂载目录
[root@localhost ~]# mount /dev/sda /kvm_data  # 将新磁盘挂载到/kvm_data目录下
[root@localhost ~]# vim /etc/fstab  # 配置开机时挂载
/dev/sdb        /kvm_data       ext4    defaults        0 0

最后就是安装KVM

[root@localhost ~]# yum install -y  virt-*  libvirt  bridge-utils qemu-img

安装完KVM后,需要配置网卡,增加一个桥连接

[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.42
NETWASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=223.5.5.5
DNS2=223.6.6.6
BRIDGE=a0
[root@localhost network-scripts]# cat ifcfg-a0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=a0
DEVICE=a0
ONBOOT=yes
IPADDR=10.0.0.42
NETWASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=223.5.5.5
DNS2=223.6.6.6
[root@localhost network-scripts]# systemctl restart network  # 重启服务

重启完服务后,执行ifconfig就可以看见ens33网卡的ip到了
a0网卡上,这样我们的网卡就配置完成了
接下来我们就启动kvm服务:

[root@localhost ~]# lsmod |grep kvm  # 检查KVM模块是否加载,list modules的缩写,即 列出所有模块.
kvm_intel             162153  0 
kvm                   525259  1 kvm_intel
[root@localhost ~]# systemctl start libvirtd  # 启动libvirtd服务
[root@localhost ~]# ps aux |grep libvirtd  # 检查服务进程
root       5744  2.2  0.1 614840 14120 ?        Ssl  23:02   0:00 /usr/sbin/libvirtd
root       5872  0.0  0.0 112664   964 pts/1    R+   23:02   0:00 grep --color=auto libvirtd
[root@localhost ~]# brctl show  # 可以看到两个网卡
bridge name bridge id       STP enabled interfaces
a0     8000.000c29f1912c   no      ens33  # 我们配置的桥接网卡
virbr0      8000.525400240b50   yes     virbr0-nic  # NAT模式的网卡

未完待续

你可能感兴趣的:(KVM虚拟化)