您的位置:首页 > 其它

KVM系列之KVM Server 部署

2017-04-26 09:14 323 查看
介绍什么是虚拟化?
通过虚拟化工具,将真实的硬件资源模拟划分成更少的虚拟硬件资源。

虚拟话技术分为软件模拟、虚拟化层翻译、容器虚拟化。

虚拟化层翻译分为

软件模拟出所有的硬件设备又称软件全虚拟化,例如:qemu

改造系统内核加以虚拟化层翻译,又叫半虚拟化,例如:Xen

硬件支持虚拟化层翻译,通过VMM(虚拟机监视器)将硬件分配和管理,又称硬件全虚拟化。

半虚拟化/全虚拟化
半虚拟化(para virtualization):半虚拟化宿主机(虚拟机承载主机/母机)和客户机(虚拟机/子机)都需要修改操作系统的内核,客户机知道宿主机的存在,两者之间需要协同合作,优化I/O协议使客户机操作系统可以和VMM紧密结合,近似于物理机的速度,因此性能高于全虚拟化。例如:Xen

全虚拟化(full virtualization):全虚拟化为客户机提供完整的虚拟硬件资源,宿主机与客户机都不需要修改系统内核,也不需要知道宿主机的存在。例如:KVM、VMware

KVM简介
KVM全称kernel virtual machine 是针对包含虚拟化扩展(Intel VT或AMD-V)的x86硬件上的完全原生的虚拟化解决方案。

是以色列Qumranet开发,基于Linux内核。2008年9月4日被RedHat收购。

rhel5/centos5默认是Xen,rhel6/centos6之后版本KVM代替Xen。

KVM架构
KVM驱动:作为Linux内核的一个模块,主要负责虚拟机的创建、虚拟内存分配、VCPU寄存器的读写以及运行。Qemu:模拟虚拟机用户空间组件。Libvirt/virsh:解决qemu效率不高,RedHat为KVM开发的辅助工具,例如virsh、libguestfs.Virt-manager:是一套由Python开发编写的虚拟机管理图形界面,用户可以通过它操作不同虚拟机,利用libvirt的API实现。qemu官网:http://www.qemu.org/kvm官网:https://www.linux-kvm.org

KVM Server 部署实验环境
系统版本:CentOS Linux release 7.2.1511 (Core)
系统位数:x86_64硬件支持:CPU开启虚拟化支持

查看虚拟化支持
[root@kvm ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo注意:信息有输出表示支持虚拟化,否则就不支持虚拟化,无法安装KVM。

关闭防火墙
[root@kvm ~]# systemctl stop firewalld.service
[root@kvm ~]# systemctl disable firewalld.service

关闭SELinux
[root@kvm ~]# setenforce 0 #临时关闭[root@kvm ~]# sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config #永久
安装KVM Server

[root@kvm ~]# yum install -y virt-* libvirt bridge-utils qemu-img libvirt-client说明:
libvirt-client #libvirt的客户端,宿主机关机通知虚拟机关机,避免强制关机造成数据丢失。gpxe-roms-qemu #虚拟机IPXE启动固件,支持虚拟机的网络启动libvirt-python #为python提供APIpython-virtinst #一套python虚拟机安装工具qemu-kvm #KVM在用户空间运行程序virt-manager #基于libvirt的图形化虚拟机管理软件libvirt #用于管理虚拟机,提供一套虚拟机管理APIvirt-viewer #显示虚拟机的控制台consolevirt-top #类似top,查看资源使用情况virt-what #虚拟机内部执行,查看虚拟机的虚拟化平台qemu-img #用于操作虚拟机硬盘景象的创建、查看、格式转化

检查KVM模块
[root@kvm ~]# lsmod |grep kvmkvm_intel 170181 0 kvm 554609 1 kvm_intelirqbypass 13503 1 kvm

创建软连接
[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

启动服务
[root@kvm ~]# systemctl start libvirtd

查看版本
[root@kvm ~]# virsh --version2.0.0[root@kvm ~]# virt-install --version1.4.0[root@kvm ~]# qemu-kvm --versionQEMU emulator version 1.5.3 (qemu-kvm-1.5.3-126.el7_3.5)...

创建第一台虚拟机
创建虚拟机磁盘
[root@kvm ~]# qemu-img create /data/pool/windows_2k3 -f qcow2 -opreallocation=metadata 30G

创建虚拟主机
[root@kvm ~]# virt-install -n windows2k3 -r 1024 -vcpus=1 -c /data/iso/windows_server_2003.iso --disk path=/data/pool/windows_2k3,format=qcow2,size=30,bus=ide --hvm --os-type=windows --vnc --vncport 5901 --network network=default --force --autostart说明:-n:定义虚拟机在名称;-r:设置分配1G内存大小;-vcpus:设置分配1个CPU;-c:指定系统安装镜像位置;--disk path:指定虚拟机存储设备及其属性;format:指定磁盘映像格式,如raw、qcow2、vmdk;size:指定磁盘大小;bus:指定磁盘类型,如ide、scsi、virtio;--hvm:当物理机同时支持全虚拟化和半虚拟化时,指定使用全虚拟化;--os-type=windows:指定系统类型,如Windows、linux;--vnc :指定使用VNC服务;--vncport :指定VNC端口;--network network:指定网络类型为默认(NAT);--force:禁止交互模式,自动回答yes;--autostart:指定虚拟机随物理启动后自动启动;注意:Windows类系统需要设置为ide,否则安装时提示找不到硬盘。

连接VNC


根据Windows server 2003系统安装步骤,进行系统安装。不做过多介绍。


虚拟机网络配置




检查网络

注意:还需要在虚拟机承载主机上配置相应的防火墙规则,才能实现访问网络,网上有很多教程,我就不再啰嗦了。

FQAQ:如何开启虚拟化支持?A:在BIOS中设置虚拟机开启。
Q:VMware如何开启虚拟化支持?A:虚拟机设置--处理器--勾选虚拟化(虚拟机关机状态操作)。
Q:KVM 安装后无法查看到模块。A:检查安装是否正确,或重启系统在查看模块。
Q:创建linux虚拟机时提示,无法找到硬盘。
A:原因可能是创建虚拟机磁盘格式为ide,重新创建格式为scsi格式的虚拟机磁盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  KVM qemu
相关文章推荐