虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原有物理结构,使用户能够灵活管理这些资源,而且容许1台物理机上同时运行多个操做系统,以实现资源利用最大化和灵活管理的一项技术。windows
kvm自Linux2.6.20版本后就直接整合到Linux内核中,它依托CPU虚拟化指令集实现高性能的虚拟化支持。因为与Linux内核高度整合,所以在性能、安全性、兼容性、稳定性上都有很好的表现。centos
在KVM环境中运行的每个虚拟化操做系统都将表现为单个独立的系统进程。所以它能够很方便地与Linux系统中的安全模块进行整合(SELinux),能够灵活地实现资源的管理及分配。如图所示,简单的描绘了KVM虚拟化架构:安全
采用CentOS-7.4-x86_64,开启CPU虚拟化支持服务器
1.添加一块新的磁盘,磁盘大小40G(自定义),进行分区并挂载到/opt/vdir目录中。网络
[root@localhost ~]# mkdir /opt/vdir #建立挂载目录(可自定义) [root@localhost ~]# fdisk /dev/sdb 命令(输入 m 获取帮助):n #建立分区 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-83886079,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079): 将使用默认值 83886079 分区 1 已设置为 Linux 类型,大小设为 40 GiB 命令(输入 m 获取帮助):w #保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@localhost ~]# mkfs -t xfs /dev/sdb1 #磁盘格式化 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=2621376 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10485504, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5119, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@localhost ~]# mount /dev/sdb1 /opt/vdir #挂载磁盘 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 10G 8.7G 1.4G 87% / devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 2.0G 9.0M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda6 9.0G 33M 9.0G 1% /opt /dev/sda2 16G 37M 16G 1% /home /dev/sda1 1014M 158M 857M 16% /boot tmpfs 394M 20K 394M 1% /run/user/0 /dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64 /dev/sdb1 40G 33M 40G 1% /opt/vdir #挂载成功
2.在已有的系统基础上,安装KVM所需软件。架构
[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
注释: qemu-kvm 虚拟化软件 虚拟网络和硬盘等 用户态 libvirt 虚拟化工具统一接口 virsh virt-manager virt-viewer virt-install other-tools是libvirt用户态的工具
3.查看是否支持虚拟化ide
[root@localhost ~]# egrep '(vmx|svm)' /proc/cpuinfo
4.建立虚拟机的磁盘镜像工具
[root@localhost opt]# qemu-img create -f raw /opt/CentOS-7.4-x86_64.img 10G [root@localhost opt]# lsmod | grep kvm #检查kvm模块是否安装 kvm_amd 69849 0 kvm 566340 1 kvm_amd irqbypass 13503 1 kvm
5.开启libvirtd服务(默认状况下libvirtd服务是开启的)性能
[root@localhost opt]# systemctl status libvirtd.service ● libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled) Active: active (running) since 一 2018-08-06 16:10:19 CST; 1h 22min ago .....//省略 [root@localhost opt]# systemctl restart libvirtd.service [root@localhost opt]# systemctl stop firewalld.service [root@localhost opt]# setenforce 0
6.把CentOS-7-x86_64-DVD-1708.iso镜像文件复制到/opt目录下ui
[root@localhost KM]# cp CentOS-7-x86_64-DVD-1708.iso /opt/
7.安装虚拟机
[root@localhost opt]# virt-install --name CentOS7.4-x86_64 \ #名称 > --virt-type kvm \ # 指定建立类型 > --ram 2048 \ #内存 > --cdrom=/opt/CentOS-7-x86_64-DVD-1708.iso \ #镜像文件 > --disk path=/opt/CentOS-7.4-x86_64.img \ #指定磁盘文件 > --network network=default \ #默认网卡类型 > --graphics vnc,listen=0.0.0.0 \ #启用图像化加载,监听地址。 > --noautoconsole #支持console链接 开始安装...... 域安装仍在进行。您能够从新链接 到控制台以便完成安装进程。
8.在windows上安装TightVNC Viewer工具,使用TightVNC Viewer工具完成安装虚拟机。
1)设置内核参数
9.重启后 须要去centos7上开启这个虚拟机 才能使用VNC链接。
[root@localhost opt]# virsh start CentOS7.4-x86_64 #启动虚拟机 域 CentOS7.4-x86_64 已开始
安装成功