环境:
系统版本:CentOS 6.4 x86_64
内存:4G
CPU:Intel i5-4430
IP:192.168.1.100
一、KVM简介
KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者AMD V 技术)。自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之
二、KVM安装配置
1.1 查看CPU是否支持kvm完全虚拟机
[root@localhost ~]# cat /proc/cpuinfo | grep 'vmx' //Intel CPU判断方法
[root@localhost ~]# cat /proc/cpuinfo | grep 'svm' //AMD CPU判断方法
根据对应的CPU型号进行选择判断方法,如果能出现信息,就说明CPU支持KVM完全虚拟机
1.2 安装kvm和其它虚拟化所需管理软件包
[root@localhost ~]# yum install -y kvm virt-* libvirts bridge-utils qemu-img
软件包名称介绍:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机
bridge-utils:设置网络网卡桥接
virt-*:创建、克隆虚拟机命令,使用qemu命令来创建磁盘等。
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
1.3 加载kvm模块,查看kvm模块是否被加载
[root@localhost ~]# modprobe kvm-intel //加载kvm模块
[root@localhost ~]# lsmod | grep kvm//查看kvm模块是否被加载
1.4 重启确认kvm是否被加载
[root@localhost ~]# reboot //重启
[root@localhost ~]# lsmod | grep kvm //查看kvm模块是否被加载
1.5 查看已打开虚拟机列表
#service libvirtd start
#virsh iface-bridge eth0 br0javascript启用和禁用
字符数组中的字符串可以整体输入或输出[root@localhost ~]# virsh list //查看虚拟机列表,如果有的话,就会显示出来
1.6 配置eth0、br0网卡
[eth0网卡]
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=74:D4:35:87:71:02
TYPE=Ethernet
UUID=723095b7-27d1-4f88-aa5f-5aa6b0472fbc
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
[br0网卡]
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
大家可以看着我的配置来进行修改,
1.7 查看目前所有的网桥接口
[root@localhost ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.74d435877102 no eth0
virbr0 8000.5254005ce327 yes virbr0-nic
2.8 修改VNC服务器的配置文件
[root@localhost ~]# vim /etc/f
将vnc_listen = "0.0.0.0" 前面的#号注释去掉//在文件的第12行
2.9 重启libvirtd和messagebus服务
[root@localhost ~]# /etc/init.d/libvirtd restart //重启libvirtd服务
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: [ OK ]
[root@localhost ~]# /etc/init.d/messagebus restart //重启messagebus服务
Stopping system message bus: [ OK ]
Starting system message bus: [ OK ]
3、在宿主主机上创建、安装kvm虚拟机
3.1 创建镜像文件目录和虚拟磁盘存放目录
[root@localhost ~]# mkdir /iso
[root@localhost ~]# mkdir /kvm/
3.2 把Centos6.4和windows2008系统文件拷贝到iso目录下
这个可以通过ftp或者通过挂载,下载都行
# yum -y install tigervnc-server
java定义正则表达式
#vncpasswd  启动: #vncserver
3.3 创建虚拟机
bridge网络模式
[root@localhost ~]#virt-install --name=hao --ram 512 --vcpus=2 --disk
path=/kvm/hao.img,size=20 --os-type=linux --accelerate --cdrom /iso/CentOS_6.4_Final.iso --graphics vnc,listen=0.0.0.0,port=5920, --network bridge=br0 --force --autostart
NAT网络模式
[root@localhost ~]#virt-install --name=haoyi --ram 512 --vcpus=2 --disk
path=/kvm/hao.img,size=20 --os-type=linux --accelerate --cdrom /iso/CentOS_6.4_Final.iso --graphics vnc,listen=0.0.0.0,port=5922, --network network=default --force --autostart
//命令解释:
创建一个名叫linux6.4的虚拟机,内存大小为512内存,1个cpu,50G的硬盘,安装镜像是/iso/CentOS
_6.4_Finaliso 指定为全虚拟化,系统类型为linux 指定虚拟机硬盘为
/kvm/linux.img,同时配置vnc的端口为7789 自动开始安装
virt-install参数说明:
-n --name= 虚拟机名称
-r --ram= 虚拟机分配的内存
-u --uuid= 虚拟机的uuid
--vcpus=2 指定2个vcpu个数
-v --hvm 全虚拟他
-p --paravirt 半虚拟化
-l --location=localdir 安装源
--vnc 使用vnc
/
/可以用"--graphics vnc,listen=LISTEN,..."
--vncport 指定vnc监控端口,默认端口为5900,端口不能重复使用
--vnclisten 指定vnc绑定ip
-c --cdrom=光驱或者安装途径
-s --file-size= 使用磁盘映像的大小,单位为GB
-f --file= 作为磁盘映像使用的文件
--disk= 使用不同选项作为磁盘使用安装介质
--force 防止交互式提示
--os-variant 指定操作系统类型
--accelerate 加速
--network 网络类型,此处用的是默认,一般用的是应该是bridge桥接
3.4 创建kvm虚拟机的磁盘文件
[root@localhost ]# qemu-img create -f qcow2 -o preallocation=metadata /kvm/linux.img 10G //命令解释:ascii码对照表英文字母十六进制
创建一个qcow2虚拟化镜像格式,大小为10G,文件名为kvm_test.img
4、vnc客户端连接KVM虚拟机
自动化测试面试题及答案
4.1 使用vnc连接
使用vnc连接刚刚创建的kvm虚拟机,比如刚刚创建的就可以使用192.168.1.100:5901 4.2 操作kvm虚拟机
查看所有的kvm虚拟机
[root@localhost ~]# virsh list --all
Id Name State
----------------------------------------------------
1 kvm_mode_5566 running
5 win03_2 running
7 win03_3 running
- win03_1 shut off
查看在线的虚拟机
[root@localhost ~]# virsh list
Id Name State
----------------------------------------------------
1 kvm_mode_5566 running
5 win03_2 running
7 win03_3 running
停止kvm虚拟机
[root@localhost ~]# virsh shutdown linux6.4
Domain win03_2 is being shutdown
[root@localhost ~]#
更多操作命令如下,virsh命令行管理工具
命令行:
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh l #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh start ubuntu #启动名字为ubuntu的非活动虚拟机
virsh l #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend ubuntu #暂停虚拟机
virsh resume ubuntu #启动暂停的虚拟机
virsh shutdown ubuntu #正常关闭虚拟机
virsh destroy ubuntu #强制关闭虚拟机
virsh undefine ubuntu #移除ubuntu虚拟机
virsh dumpxml ubuntu #显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem ubuntu 512000 #给不活动虚拟机设置内存大小
virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数
针对虚拟机操作
virsh domid win03_3 #查看虚拟机的标识符
virsh domname win03_2 #查看虚拟机的名称
virsh domuuid win03_2 #查看虚拟机的UUID
virsh domstate win03_2 #查看虚拟机目前的状态
virsh dominfo win03_2 #查看虚拟机的信息
提示:win03_2为虚拟机名称操作需要接虚拟名称的
centos和ubuntu
4.3 配置kvm虚拟机
通过vnc连接上虚拟机后,安装好系统,配置好IP,就可以正常使用了,一个完整的虚拟机就这样创建好了!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。