KVM虚拟化部署

简介:

一、硬件要求

     1.处理器需求:需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V)。查询命令如下:

INTEL芯片
   grep vmx /proc/cpuinfo
AMD芯片
   grep svm /proc/cpuinfo

输出信息flags中如有vmx或者svm则说明系统支持kvm

     2.BIOS中开启VT

          Interl virtualization Tech     【Enabled】 =====bios中设置

     3.内核版本在2.6.20以上。可用uname -a查看


二、安装KVM

     1.安装KVM模块、virt-manager管理工具(图形化)、libvirt(虚拟机创建工具)、qemu相关模块。

yum -y install kvm virt-* bridge-utils  libvirt qemu*  ===配置本地yum源即可
/sbin/service libvirtd start ===启动libvirt

     2.检查是否正确安装kvm并加载kvm模块

lsmod |grep kvm ====如正确安装会有两行关于kvm的输出,如没有请检查qemu相关组件是否安装。
virsh -c qemu:///system list  ===列出所有虚拟机,刚安装会显示出空列表

     3、如果没有加载,可手动加载

modprobe kvm_intel

     4、reboot后确认随系统加载


三、网络配置

     KVM安装完成后会生成一个名为virbr0的网卡,此网卡默认与本地网卡(eth0)绑定,向虚拟机提供网络功能,kvm使用virbr0作


为默认设备,因此需要将virbr0与本地网卡绑定

     1、拷贝etho网卡为virbr0

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-virbr0

     2、修改eth0配置文件

DEVICE=eth0
BOOTPROTO=static
HWADDR=78:45:C4:27:29:4F
UUID=45c75c9f-36a1-4653-939a-017c87b37724
ONBOOT=yes
BRIDGE=virbr0

     3、修改virbr0配置文件

DEVICE=virbr0
HWADDR=52:54:00:B6:4A:97
ONBOOT=yes
TYPE=Bridge
IPADDR=192.168.11.7
NETMASK=255.255.255.0
GATEWAY=192.168.11.1
DNS1=192.168.100.11
DNS2=192.168.100.12

     修改完成后,重启网卡。service network restart

     如果重启报错,可关闭NetworkManager服务

service NetworkManager stop
chkconfig NetworkManager off

     默认的virbr0配置保存在/etc/libvirt/qemu/networks/default.xml文件。可使用brctl show显示已有网卡


四、修改vnc配置

vi /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0"    #取消前面的注释
vnc_password = "###"    #设置vnc密码


五、使用virt-manager建立一个KVM虚拟机【方法一】

     virt-manager 是基于 libvirt 的图像化虚拟机管理软件,创建KVM虚拟机最简单的方法是通过virt-manager接口。从控制台窗口启动这个工具,从root身份输入virt-manager命令,点击file菜单的"Add"选项进入创建子栏目

     1.新建给虚拟机起一个名字后进入选择管理程序界面(就是选择虚拟机的形式)virt-manager显示两种虚拟化方法:Qemu/KVM或者Xen

     2.选择ISO文件。可以通过网络安装服务器或者使用本地光盘映像。并选择操作系统类型和版本(如windows和linux)

     3.设置虚拟机的内存容量和cpu个数。

     4.设置虚拟机使用的磁盘情况。可以给虚拟机创建磁盘映像或直接使用现有的文件系统

     5.设置虚拟机网络类型。默认为default:nat(即使用br0网桥)

     6.按照正常安装程序安装完成即可。


六、使用virt-install命令安装KVM虚拟机【方法二】

     1.安装virt-viewer模块(yum -y install virt-viewer)

     2.创建虚拟机使用的文件。(KVM中每个虚拟机均使用一个物理文件保存安装的系统,模拟成磁盘,用来安装guest操作系统。此文件一般为创建好并格式化的专门虚拟文件如qcow2,也可在虚拟机建立过程中指定,由虚拟机自动生                 成)

    虚拟文件可用qemu-img命令先创建好,也可使用virt-manager、virt-install创建虚拟机时建立。

qemu-img create -f qcow2 win7.img 20G   ====建立一个格式为qcow2,大小为20G的文件以供虚拟机使用

   创建完成后会在当前目录生成win7.img的文件。

qemu-img info win7.img  ===查看win7.img的文件信息。可查看到虚拟文件创建的大小和文件类型


七、建立虚拟机

     完成上述的准备后,可以建立虚拟机了,这里使用virt-install命令完成本项工作。命令如下:

virt-install --name=vm-win7 --hvm --ram=512 --vcpus=2 --disk path=/usr/win7.img,size=20 --network network:default --accelerate --vnc --vncport=5906 --os-variant=win2k --cdrom           /tmp/windows7.iso -c #创建win7虚拟机
virt-install --name=vm-centos --ram 512 --vcpus=1 --disk path=/home/vhost/vm-centos.img,size=20,bus=virtio --accelerate --cdrom /home/ISO/CentOS-6.6-x86_64-bin-DVD1.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=virbr0,model=virtio --noautoconsole #创建centos虚拟机


各个参数的意义如下 :

    --ame   虚拟机名称
   --hvm     使用全虚拟化(与para-irtualization向对),如果在一个主机上para和full virtulization均可用,连接到没有硬件虚拟化支持的机器的xen hypervisor,这个 参数无效,这个参数意味着连接到基于qemu的hypervisor
   --ram      虚拟机内存大小
   --vcpus   虚拟机虚拟CPU个数
   --disk path      虚拟机使用的磁盘(文件)的路径
   --network 网络设置,使用默认设置即可,默认设置为使用virbr0网桥
   --vnc     设置连接桌面环境的vnc端口
   --os-variant  指示为一个特定的操作系统变体(或版本)进一步优化客户机(guest)配置
   --cdrom   设置光驱获取虚拟光驱文件的路径 -d 指示从光驱启动( -c 指示从硬盘启动)

virt中有复杂的命令参数,具体可使用man来查看


八、virt常用的管理虚拟机的命令

生成kvm虚拟机:virt-install
查看在运行的虚拟机:virsh list
显示虚拟机的ID号:virsh domid name
查看所有虚拟机:virsh list --all
查看kvm虚拟机配置文件:virsh dumpxml name
启动kvm虚拟机:virsh start name
显示虚拟机当前状态:virsh domstate name
停止虚拟机:virsh destroy name
删除虚拟机:virsh undefine name
根据配置文件定义虚拟机:virsh define file-name.xml
克隆虚拟机:virsh console name

     注:kvm内置有vnc机制,因此本地不需要安装vnc服务即可连接。

     VNC服务使用断开了号与桌面号对应关系

 桌面号为“1”  ---- 端口号为5901        #连接时就输入:192.168.11.7:1
桌面号为“2”  ---- 端口号为5902
桌面号为“3”  ---- 端口号为5910          #连接时就输入:192.168.11.7:10

防火墙加入配置
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT


总结:

1.一个虚拟机占用一个进程,所有的虚拟机都通过qemu-kvm进行启动和管理。

2.kvm虚拟机的配置文件默认存放位置和配置文件

kvm虚拟机配置文件位置/etc/libvirt/qemu/      <---都是xml文件
kvm虚拟机文件位置:var/lib/libvirt/images/   <---可以在建立虚拟机时指定    

3.qemu不使用linux下的vncserver提供vnc服务,因此在此服务没有启动的情况下,也能通过vnc客户端连接到虚拟机。

4、设置虚拟机鼠标同步

     编辑虚拟机配置文件

virsh edit vname
在devices方法内添加
<input type='mouse' bus='ps2'/>


转载至:http://blog.csdn.net/starshine/article/details/6990599

本文转自  亮公子  51CTO博客,原文链接:http://blog.51cto.com/iyull/1864349

相关文章
|
2月前
|
存储 Linux 调度
KVM 虚拟化的功能特性
【10月更文挑战第13天】虚拟化技术创建实体资源的虚拟版本,提升资源利用率。KVM(Kernel-based Virtual Machine)作为全虚拟化解决方案,借助Linux内核实现Hypervisor功能,通过模块化方式提供高效的虚拟化环境。
|
3月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
90 11
虚拟化技术概述及KVM环境安装
|
2月前
|
安全 KVM 虚拟化
OpenEuler 中配置 KVM 虚拟化环境指南
本文档详细介绍了如何在OpenEuler系统中配置和管理KVM虚拟化环境,包括环境准备、组件安装、虚拟机安装及管理命令等,适合初学者和有经验的用户。内容覆盖了从桥接网卡配置到虚拟机的安装与管理,以及常见问题的解决方法,帮助用户高效利用虚拟化技术。
115 0
|
4月前
|
Linux KVM 虚拟化
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
|
Go 虚拟化 云计算
Docker 基础知识解析:容器与传统虚拟化对比:资源利用、启动时间、隔离性和部署效率
Docker 基础知识解析:容器与传统虚拟化对比:资源利用、启动时间、隔离性和部署效率
433 0
|
7月前
|
存储 Linux KVM
虚拟化技术之KVM安装与使用
虚拟化技术之KVM安装与使用
|
7月前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
108 0
|
7月前
|
大数据 Linux KVM
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
282 0
|
29天前
|
存储 安全 虚拟化
虚拟化技术:实现资源高效利用和灵活管理的利器
虚拟化技术作为实现资源高效利用和灵活管理的重要手段,在数字化时代背景下,正逐步改变传统IT架构模式。本文概述了虚拟化技术的概念、原理及其在数据中心管理、云计算平台、企业信息化建设、科研教育及医疗行业的应用,并探讨了其面临的挑战与未来发展趋势。
110 3
|
4月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
245 0